可能重复:
PHP: the ultimate clean/secure function
What's the best method for sanitizing user input with PHP?
我应该向我的函数添加什么以确保传递它的每个字符串都是“服务器友好的”?我使用这个小函数来检查包含名称,电子邮件地址和ID的输入。
function checkInput($str) {
$str = @strip_tags($str);
$str = @stripslashes($str);
$str = mysql_real_escape_string($str);
return $str;
}
答案 0 :(得分:6)
我会删除一些在这些字符串中无关的特殊字符,可以用于代码注入,例如$%#< > |等等。
$invalid_characters = array("$", "%", "#", "<", ">", "|");
$str = str_replace($invalid_characters, "", $str);
答案 1 :(得分:3)
服务器友好意味着什么?
对于电子邮件地址等验证,请查看data filtering。
确保字符串对于数据库的使用转义是安全的,例如mysql_real_escape_string
输出数据时使用htmlspecialchars
答案 2 :(得分:2)
我应该在我的函数中添加什么来确保传递它的每个字符串都是“服务器友好的”?
这应该有效:
function checkInput($str) {
return "";
}
有关更详细的说明,请see here
答案 3 :(得分:0)
关于DataBase,请检查PDO占位符。他们是跨DBMS。