我想保护我的网站免受sql注入和其他可能的风险,所以我通过添加每个变量来改变我所有的SQL查询:
$getLid = htmlspecialchars($_GET[lid], ENT_QUOTES);
对于我的50个文件...但我刚刚看到它可能是我的错误:我应该为任何“输入”添加mysql_real_escape_string ...
在这种情况下使用mysql_real_escape_string
或者ENT_QUOTES
也可以使用吗?我是否必须重新启动并添加mysql_real_escape_string
而不是我的htmlspecialchars(..., ENT_QUOTES);
?
编辑:
你的意思是什么?
$getLid = escape_string($str);
function escape_string($str){
return mysql_real_escape_string($str);
}
编辑n°2:return语句不能正常工作,你知道为什么吗?
警告:mysql_real_escape_string()[function.mysql-real-escape-string]:无法在...中建立到服务器的链接... www / escape_file.php
用户访问被拒绝... www / escape_file.php
谢谢
答案 0 :(得分:1)
有许多安全用户输入的参考。你可以谷歌它,但我认为你应该在另一个php文件中写一个类或函数,如“escape.php”,然后将该文件包含在你的所有50个文件中。然后用它来逃避。 exmple:
include 'escape.php';
$str = escape_string($str);
因此,您只需更改单个文件即可轻松更改转义功能。 我希望它会对你有所帮助。