问问题
307 次
3 回答
2
Appart 从你提到的mysql_real_escape_string()函数应该可以很好地清除 SQL 注入。
您只需要使用适当的转义函数正确转义任何用户输入,如果您将其描绘为处理此用户输入的链式处理块,您将知道按哪个顺序(从最后到第一个)以及要转义/取消转义的内容以及何时,并且就确保输入干净而言,您应该没问题(验证是一个不同的问题)。
于 2012-08-20T15:08:29.627 回答
1
function clean($str) {
$str = @trim($str);
if(get_magic_quotes_gpc()) {
$str = stripslashes($str);
}
return mysql_real_escape_string($str);
}
然后:
$word = clean($_POST['whatever post']);
然后修剪词和你的好去。这个 php 函数的作用是获取所有文字并将它们转换为字符串,因此没有人可以说删除您的数据库等
于 2012-08-20T15:03:56.357 回答
1
试试这个使用mysql_real_escape_string()
$word = '2*3%5_1^0';
$query = 'SELECT * FROM TABLE_NAME WHERE field REGEXP "(.*)[[:<:]]'.mysql_real_escape_string($word).'[[:>:]](.*)" ';
于 2012-08-17T11:30:14.027 回答