为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

月关宝盒 2019-09-24 10:39:57
此刻,我采用了一种“把所有东西扔在墙上,看看有什么办法”来阻止上述问题的方法。下面是我拼凑的功能: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。


查看完整回答
反对 回复 2019-09-24
  • 3 回答
  • 0 关注
  • 653 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信