我做了一个表单,接受查询并通过php执行它。 我想对输入进行检查,只有select语句被允许进行查询。 我如何实现这一目标?只允许通过PHP执行的查询“选择”语句
回答
最好的方法是,如果您有权访问数据库服务器并且可以创建一个新用户,创建一个只具有SELECT权限的用户,然后将该用户分配给您的PHP Web应用程序。
http://dev.mysql.com/doc/refman/5.1/en/grant.html#grant-privileges
正则表达式是好的,但它是一个有点冒险的方法来这样筛选出来,你永远不知道你的用户如何创作是:)
+1好主意:D – 2012-03-22 09:53:25
@aF。 +1为“这是什么巫术” – 2012-03-22 09:54:22
+1你打我吧 – oezi 2012-03-22 09:54:50
为了安全起见,你可以创建一个MySQL用户,只给该用户SELECT
permissions。
- 1. 允许执行多个语句,同时通过SQLAlchemy的
- 2. 如何通过MSSQL在PHP上执行多语句查询
- 3. 选择查询选择语句
- 4. PHP - 只允许通过AJAX访问
- 5. options_from_collection_for_select不允许通过变量选择
- 6. 通过查询语句[INSERT,UPDATE]用作参数,并执行它
- 7. 通过过滤多行选择查询
- 8. 允许查询字符串通过``````
- 9. 执行选择语句的结果
- 10. 在Python的调试器(pdb)中允许执行多行语句
- 11. MySQL的选择查询语句
- 12. 查询选择语句的结果
- 13. 允许CASE语句
- 14. PHP选择语句
- 15. 运行时错误3065 VBA SQL语句中的“无法执行选择查询”
- 16. 通过实体进行选择查询
- 17. 通过选择查询
- 18. Java jtable允许行选择
- 19. 在java中执行多选择语句
- 20. 选择语句只选择一个值
- 21. sql查询选择语句统计
- 22. 写一个选择语句查询
- 23. MySQL嵌套查询选择语句
- 24. SQL Oracle查询 - 选择语句
- 25. Noob查询有关xsl:选择语句
- 26. 两个SQL查询语句,只选择一个
- 27. 如何允许通过下拉选择通过图标
- 28. PHP呼应查询的实际语句后的执行
- 29. 您是否允许使用包含语句的find_each查询?
- 30. 在SQL查询中执行CASE语句
正则表达式是我想起来的第一件事情.. – techish 2012-03-22 09:50:25
你应该在任何情况下为服务器/ php创建一个只允许在你的MySQL数据库中“选择”的用户,所以不管你有多好或不好检查执行用户将只能够“选择”。 – RSeidelsohn 2012-03-22 09:53:09
作为仅授予读取权限的用户连接到数据库? – 2012-03-22 09:53:31