Dre*_*rew 15 php sql security xss
目前,我采用了"把所有东西扔在墙上,看看有什么方法"来阻止上述问题.以下是我拼凑在一起的功能:
function madSafety($string)
{
$string = mysql_real_escape_string($string);
$string = stripslashes($string);
$string = strip_tags($string);
return $string;
}
Run Code Online (Sandbox Code Playgroud)
但是,我确信有更好的方法可以做到这一点.我正在使用FILTER_ SANITIZE_STRING,这似乎并不完全安全.
我想我在问,你们采用哪种方法,这些方法有多成功?谢谢
tro*_*skn 35
只做很多你不太了解的事情,对你没有帮助.您需要了解注射攻击是什么,以及您应该如何以及在何处执行操作.
在要点:
mysql_real_escape_string).stripslashes从数据库中检索数据时不要 unescape(例如.).echo)时,你应该默认转义字符串(使用htmlentitieswith ENT_QUOTES).strip_tags在理论上你应该使用什么,但它是有缺陷的; 请改用HtmlPurifier.另请参阅:使用PHP清理用户输入的最佳方法是什么?
var*_*tec 10
反对SQL注入的最好方法是绑定变量,而不是将它们"注入"到字符串中. http://www.php.net/manual/en/mysqli-stmt.bind-param.php