猿问

防御mysql注入和跨站点脚本编写的最佳方法

此刻,我采用了一种“把所有东西扔在墙上,看看有什么办法”来阻止上述问题的方法。下面是我拼凑的功能:


function madSafety($string)

{


$string = mysql_real_escape_string($string);

$string = stripslashes($string);

$string = strip_tags($string);

return $string;


}

但是,我坚信有更好的方法可以做到这一点。我正在使用FILTER_ SANITIZE_STRING,但这似乎并不完全安全。


我想我想问的是,你们采用哪种方法,它们有多成功?谢谢


月关宝盒
浏览 654回答 3
3回答

吃鸡游戏

仅仅做很多您不太了解的事情就不会对您有所帮助。您需要了解什么是注入攻击,以及确切的方法和在何处应执行的操作。要点:禁用魔术引号。它们是一个不足的解决方案,并且使事情变得混乱。切勿直接在SQL中嵌入字符串。使用绑定参数,或转义(使用mysql_real_escape_string)。stripslashes从数据库中检索数据时,请不要转义(例如)。当您将字符串嵌入html中时(例如,当您使用时echo),您应该默认转义该字符串(htmlentities与一起使用ENT_QUOTES)。如果需要在html中嵌入html字符串,则必须考虑字符串的来源。如果不受信任,则应通过过滤器对其进行管道传输。strip_tags从理论上讲,您应该使用它,但是它有缺陷;请改用HtmlPurifier。
随时随地看视频慕课网APP
我要回答