Php MySQL权限和准备好的语句
我想知道如果我使用准备好的语句和PDO,是否有必要使用不同的MySQL用户权限 基本上,我希望有一个用户有权选择和只选择,以及一个用户谁可以使用插入Php MySQL权限和准备好的语句,php,security,pdo,prepared-statement,database-permissions,Php,Security,Pdo,Prepared Statement,Database Permissions,我想知道如果我使用准备好的语句和PDO,是否有必要使用不同的MySQL用户权限 基本上,我希望有一个用户有权选择和只选择,以及一个用户谁可以使用插入 我知道预先准备好的语句是必须的,但是权限也是必须的吗?对于大多数应用程序,只读SQL注入和读写SQL注入之间的区别是微不足道的。您的数据库通常包含攻击者想要窃取的所有机密,因此能够从数据库中读取这些机密就足够了 拥有独立的读写器将使应用程序中的活动数据库连接数量增加一倍。这可能会增加拒绝服务(DoS)攻击的风险。此外,它还使应用程序逻辑比需要的更详
我知道预先准备好的语句是必须的,但是权限也是必须的吗?对于大多数应用程序,只读SQL注入和读写SQL注入之间的区别是微不足道的。您的数据库通常包含攻击者想要窃取的所有机密,因此能够从数据库中读取这些机密就足够了 拥有独立的读写器将使应用程序中的活动数据库连接数量增加一倍。这可能会增加拒绝服务(DoS)攻击的风险。此外,它还使应用程序逻辑比需要的更详细
如果您担心SQL注入的影响,只需使用准备好的语句即可。确保你真的在使用事先准备好的语句。请参阅为什么模拟准备语句是邪恶的。您可以为此实现一个PHP逻辑,但我不认为这有什么意义,如果您使用的是MySQL用户,而不是另一个用户,设置不同的权限是错误的做法,是一种治标不治本的方法。如果您愿意,您可以创建不同的用户,但不要称之为保护措施。我希望用户具有特定权限,但如果准备好的语句足以保护系统,使用户的东西变得不必要,这似乎是在浪费能源。尽管有准备好的语句,但用户的东西是不必要的。这东西根本不能保护你的系统。SQL注入并不局限于从comic中进行愚蠢的drop表查询。