防止sql注入和跨站脚本攻击,跨站请求伪造以及一句话木马的学习记录

以下是来自精通脚本黑客的学习记录

防止以上漏洞的最好的方式

一对用户的输入进行编码,对用户输入进行编码,然后存入数据库,取出时解码成utf-8

二对用户的输入进行过滤,过滤jscript,javascript,vbscript, <,>等等。

总结,先要转换掉<>字符让用户不能建立自己的html标记,然后防范已经有的html标记,通过过滤javascript和特殊字符&可以阻止用户修改标记的属性为script,然后通过”和空格的过滤是用户不能引发事件机制和重建其他的输入性,将用户的输入限制在一个字符串内。

下面用python写几个过滤的例子

str = ‘用户输入’
str.replace('&', "&#x26;")
str.replace(':', ": ")
str.replace(‘=’, "&#x3D;")
str.replace('<', "&#x3C;")
str.replace('>', "&#x3E;")
str.replace(' ', "&#x20;")
str.replace('""', "&#34;")
原文地址:https://www.cnblogs.com/lgh344902118/p/6697972.html