0

对于原型设计,我经常使用自建插件,我可以在其中做这样的事情

$.databaseContents({
   url: '/sqliquery.php',
   data : {query : 'SELECT * FROM members WHERE id = 45'}
});

php 脚本将执行查询并返回 JSON 编码的结果。

在本地主机环境中,我显然不担心保护我的服务器免受恶意攻击。

所以我想知道,如果我真的想在实时网站上部署它,我最好怎么做?我不热衷于做很多不必要的安全工程——我不会每天获得 12,000 次点击。但我想确保我最终不会让我的数据库注入令人讨厌的查询。

经过一番阅读,我的印象是我可以简单地通过这样做来保护 php 查询变量,mysql_real_escape_string($_POST["query"]);但这似乎并不安全 - 有人不能直接与 php 脚本交互并通过欺骗主机或其他方式提交数据吗?我对这些东西不是很熟悉。

我想也许只允许特定的 URL 访问它会很好。还是可以轻松绕过?

感谢您的任何指示。

4

1 回答 1

0

所以我想知道,如果我真的想在实时网站上部署它,我最好怎么做?

这很简单

退出这种在客户端创建查询的方法。

并像每个人一样创建它们- 仅在服务器端。使用准备好的语句来表示查询中的任何动态数据。

所以 - 在服务器端脚本中使用占位符编写查询,然后仅从客户端发送数据,然后将此数据绑定到准备好的语句,然后运行您的查询。

这是唯一的方法。

于 2013-05-08T21:05:33.417 回答