【发布时间】:2012-07-31 18:56:46
【问题描述】:
我想保护我的网站免受 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 中的用户
谢谢
【问题讨论】:
-
您的第一个错误是使用
ext/mysql.阅读“如何使我的数据库查询免受 SQL 注入攻击?”在stackoverflow.com/tags/php/info. -
@alexn :谢谢,关于我的问题还有其他想法吗?
标签: php quotes mysql-real-escape-string htmlspecialchars