保护sql查询以防恶意

时间:2013-05-08 20:46:06

标签: mysqli cross-domain security

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

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

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

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

所以我想知道,如果我真的想在现场网站上进行部署,我最好怎么做?我并不热衷于做很多不必要的安全工程 - 这并不是说我每天会获得12,000次点击。但我想确定我最终没有让我的数据库注入令人讨厌的查询。

经过一些阅读,我的印象是我可以通过mysql_real_escape_string($_POST["query"]);简单地保护php查询变量,但这似乎不太安全 - 不能有人直接与php脚本交互并通过欺骗提交数据主持人还是什么?我对这些东西不太熟悉。

我认为可能只允许特定的URL访问它会很好。或者可以轻易绕过它吗?

感谢您的任何指示。

1 个答案:

答案 0 :(得分:0)

  

所以我想知道,如果我真的想在现场网站上进行部署,我最擅长做什么?

这很简单

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

仅在服务器端上创建所有人。使用预处理语句表示查询中的任何动态数据。

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

这是唯一的方法。

相关问题