此刻,我采用了一种“把所有东西扔在墙上,看看有什么办法”来阻止上述问题的方法。下面是我拼凑的功能:function madSafety($string){$string = mysql_real_escape_string($string);$string = stripslashes($string);$string = strip_tags($string);return $string;}但是,我坚信有更好的方法可以做到这一点。我正在使用FILTER_ SANITIZE_STRING,但这似乎并不完全安全。我想我想问的是,你们采用哪种方法,它们有多成功?谢谢
3 回答
吃鸡游戏
TA贡献1829条经验 获得超7个赞
仅仅做很多您不太了解的事情就不会对您有所帮助。您需要了解什么是注入攻击,以及确切的方法和在何处应执行的操作。
要点:
禁用魔术引号。它们是一个不足的解决方案,并且使事情变得混乱。
切勿直接在SQL中嵌入字符串。使用绑定参数,或转义(使用mysql_real_escape_string)。
stripslashes从数据库中检索数据时,请不要转义(例如)。
当您将字符串嵌入html中时(例如,当您使用时echo),您应该默认转义该字符串(htmlentities与一起使用ENT_QUOTES)。
如果需要在html中嵌入html字符串,则必须考虑字符串的来源。如果不受信任,则应通过过滤器对其进行管道传输。strip_tags从理论上讲,您应该使用它,但是它有缺陷;请改用HtmlPurifier。
添加回答
举报
0/150
提交
取消