我被要求处理由另一个程序员设置的站点的安全问题。到目前为止,我还没有看到任何代码,所以在这一点上我不想做任何假设,我想要介绍我的基础。托管该站点的组运行安全检查,发现他们有易受SQL注入攻击的代码。GET参数容易受到SQL注入 - PHP
实施例:www.example.com/code.php?pid=2 & ID = 35(GET参数ID容易受到SQL注入)现在
,因为我是新手,我已经解释我可以解决与主持人有关的问题,但他们的网站仍然需要由对安全性有深入了解的人来看。
所以,照顾潜在的SQL注入的(并且没有看到的代码),我会用mysql_real_escape_string:
$query = sprintf("SELECT * FROM table WHERE pid='%s' AND ID='%s'",
mysql_real_escape_string($pid),
mysql_real_escape_string($id));
此外,我会考虑mysqli_real_escape_string和准备好的发言,但我不知道如何他们被配置。但mysql_real_escape_string会照顾潜在的SQL注入吗?
你最好用准备好的语句。 – JohnP 2011-04-19 12:45:32