在Python客户端程序中保护MySQL登录数据的安全

c3ntry

我有一个Python客户端程序(仅对有限数量的用户可用),可以使用pymysql-Module从远程MySQL-DB中获取数据。

问题在于,查看代码的每个人都可以看到数据库的登录数据,因此每个人都可以操纵或删除数据库中的数据。即使我将登录数据存储在加密文件中,也有些人仍然可以编辑代码并插入自己的MySql查询(然后再次操作或删除数据)。

那么,如何才能从程序访问DB并仍然在其中进行SELECT,DELETE或UPDATE数据,但是要确保没有人可以执行自己的(无效的)SQL代码(使用GUI触发的代码除外)?

亚历克·蒂尔(Alec Teal)

您可以仅通过参数化参数来防止注入,例如:

"SELECT * FROM Users WHERE name=\"".name."\";"

会读

SELECT * FROM Users WHERE name="AlecTeal";

但是可以被“注入”:

name="\" or UserType=\"Admin"

然后它将读取

SELECT * FROM Users WHERE name="" or UserType="Admin";

不好,您可以使用以下方法防止这种情况:

SELECT * FROM Users WHERE name=?

并绑定您的变量,则SQL Server实际上不会解析用户的任何数据,而是会看到?和只是从参数中读取数据。

您不能自己隐藏SQL语句

您可以确定它们是否模糊,但是它们将出现在您的.pyo或.py代码中!

您有两种选择:

MySQL支持用户-这就是用户的宗旨,并假设“只有相当值得信赖的人才能获得我的程序”,因此您可以拥有一个像Debbie_From_Accounts" who can select from theUsers table, and update/delete/insert/select fromFinancial` Tables这样的用户

或者!

您可以在服务器上使用某种API,并且拥有一组可以完成数据库工作的PHP脚本,而您只需http就可以获取页面。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在客户端应用程序中保护YouTube v3 API密钥

来自分类Dev

Rikulo安全客户端登录

来自分类Dev

客户端登录是否安全?

来自分类Dev

在MySQL中同时从不同客户端以同一用户身份登录是否安全?

来自分类Dev

Google 登录安全吗?(PHP 客户端)

来自分类Dev

javascript客户端安全

来自分类Dev

NodeJS + MySQL 登录 API,客户端会话

来自分类Dev

使用Azure AD保护.NET Framework Web API的安全(客户端凭据流)

来自分类Dev

应用引擎上的线程安全客户端库(Python)

来自分类Dev

Qt客户端程序

来自分类Dev

如何使用Azure函数后端保护静态客户端blazor应用程序?

来自分类Dev

如何在sencha touch客户端应用程序中保存access_token

来自分类Dev

使用客户端加密的AWS S3数据保护

来自分类Dev

远程phpmyadmin无法登录,但是mysql客户端可以登录

来自分类Dev

python套接字客户端程序2(获取请求)

来自分类Dev

Django测试客户端未登录

来自分类Dev

ajax登录到网站客户端

来自分类Dev

IdentityServer 和客户端外部登录

来自分类Dev

安全存储客户端机密

来自分类Dev

安全的PayPal Checkout客户端?

来自分类Dev

使用传输客户端的安全连接

来自分类Dev

KeyError:使用Python Instagram API客户端的“数据”

来自分类Dev

Python mysql复制客户端未显示值

来自分类Dev

如果您从不发送客户端机密以获得访问令牌,那么仅本地客户端Facebook登录如何安全?

来自分类Dev

将外部登录令牌从Identity Server流到客户端应用程序

来自分类Dev

从客户端 Swing Java 应用程序登录到 ELK

来自分类Dev

在客户端JavaScript中为Web应用程序存储用户密码-这样安全吗?

来自分类Dev

编写安全的RMI服务器-客户端应用程序

来自分类Dev

如何为移动应用程序客户端的后端Django使用CSRF安全性

Related 相关文章

  1. 1

    在客户端应用程序中保护YouTube v3 API密钥

  2. 2

    Rikulo安全客户端登录

  3. 3

    客户端登录是否安全?

  4. 4

    在MySQL中同时从不同客户端以同一用户身份登录是否安全?

  5. 5

    Google 登录安全吗?(PHP 客户端)

  6. 6

    javascript客户端安全

  7. 7

    NodeJS + MySQL 登录 API,客户端会话

  8. 8

    使用Azure AD保护.NET Framework Web API的安全(客户端凭据流)

  9. 9

    应用引擎上的线程安全客户端库(Python)

  10. 10

    Qt客户端程序

  11. 11

    如何使用Azure函数后端保护静态客户端blazor应用程序?

  12. 12

    如何在sencha touch客户端应用程序中保存access_token

  13. 13

    使用客户端加密的AWS S3数据保护

  14. 14

    远程phpmyadmin无法登录,但是mysql客户端可以登录

  15. 15

    python套接字客户端程序2(获取请求)

  16. 16

    Django测试客户端未登录

  17. 17

    ajax登录到网站客户端

  18. 18

    IdentityServer 和客户端外部登录

  19. 19

    安全存储客户端机密

  20. 20

    安全的PayPal Checkout客户端?

  21. 21

    使用传输客户端的安全连接

  22. 22

    KeyError:使用Python Instagram API客户端的“数据”

  23. 23

    Python mysql复制客户端未显示值

  24. 24

    如果您从不发送客户端机密以获得访问令牌,那么仅本地客户端Facebook登录如何安全?

  25. 25

    将外部登录令牌从Identity Server流到客户端应用程序

  26. 26

    从客户端 Swing Java 应用程序登录到 ELK

  27. 27

    在客户端JavaScript中为Web应用程序存储用户密码-这样安全吗?

  28. 28

    编写安全的RMI服务器-客户端应用程序

  29. 29

    如何为移动应用程序客户端的后端Django使用CSRF安全性

热门标签

归档