2012-03-22 29 views
2

我做了一个表单,接受查询并通过php执行它。 我想对输入进行检查,只有select语句被允许进行查询。 我如何实现这一目标?只允许通过PHP执行的查询“选择”语句

+0

正则表达式是我想起来的第一件事情.. – techish 2012-03-22 09:50:25

+3

你应该在任何情况下为服务器/ php创建一个只允许在你的MySQL数据库中“选择”的用户,所以不管你有多好或不好检查执行用户将只能够“选择”。 – RSeidelsohn 2012-03-22 09:53:09

+0

作为仅授予读取权限的用户连接到数据库? – 2012-03-22 09:53:31

回答

11

最好的方法是,如果您有权访问数据库服务器并且可以创建一个新用户,创建一个只具有SELECT权限的用户,然后将该用户分配给您的PHP Web应用程序。

http://dev.mysql.com/doc/refman/5.1/en/grant.html#grant-privileges

正则表达式是好的,但它是一个有点冒险的方法来这样筛选出来,你永远不知道你的用户如何创作是:)

+1

+1好主意:D – 2012-03-22 09:53:25

+1

@aF。 +1为“这是什么巫术” – 2012-03-22 09:54:22

+0

+1你打我吧 – oezi 2012-03-22 09:54:50

5

为了安全起见,你可以创建一个MySQL用户,只给该用户SELECT permissions