Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/62.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php MySQL权限和准备好的语句_Php_Security_Pdo_Prepared Statement_Database Permissions - Fatal编程技术网

Php MySQL权限和准备好的语句

Php MySQL权限和准备好的语句,php,security,pdo,prepared-statement,database-permissions,Php,Security,Pdo,Prepared Statement,Database Permissions,我想知道如果我使用准备好的语句和PDO,是否有必要使用不同的MySQL用户权限 基本上,我希望有一个用户有权选择和只选择,以及一个用户谁可以使用插入 我知道预先准备好的语句是必须的,但是权限也是必须的吗?对于大多数应用程序,只读SQL注入和读写SQL注入之间的区别是微不足道的。您的数据库通常包含攻击者想要窃取的所有机密,因此能够从数据库中读取这些机密就足够了 拥有独立的读写器将使应用程序中的活动数据库连接数量增加一倍。这可能会增加拒绝服务(DoS)攻击的风险。此外,它还使应用程序逻辑比需要的更详

我想知道如果我使用准备好的语句和PDO,是否有必要使用不同的MySQL用户权限

基本上,我希望有一个用户有权选择和只选择,以及一个用户谁可以使用插入


我知道预先准备好的语句是必须的,但是权限也是必须的吗?

对于大多数应用程序,只读SQL注入和读写SQL注入之间的区别是微不足道的。您的数据库通常包含攻击者想要窃取的所有机密,因此能够从数据库中读取这些机密就足够了

拥有独立的读写器将使应用程序中的活动数据库连接数量增加一倍。这可能会增加拒绝服务(DoS)攻击的风险。此外,它还使应用程序逻辑比需要的更详细


如果您担心SQL注入的影响,只需使用准备好的语句即可。确保你真的在使用事先准备好的语句。请参阅为什么模拟准备语句是邪恶的。

您可以为此实现一个PHP逻辑,但我不认为这有什么意义,如果您使用的是MySQL用户,而不是另一个用户,设置不同的权限是错误的做法,是一种治标不治本的方法。如果您愿意,您可以创建不同的用户,但不要称之为保护措施。我希望用户具有特定权限,但如果准备好的语句足以保护系统,使用户的东西变得不必要,这似乎是在浪费能源。尽管有准备好的语句,但用户的东西是不必要的。这东西根本不能保护你的系统。SQL注入并不局限于从comic中进行愚蠢的drop表查询。