SQL注入
1、使用转义函数对xxx参数进行转义
2、检查数据类型,使用函数对数据类型进行强制转换
3、使用预编译语句
XSS
1、使用转义函数转义xxx参数
2、重要cookie使用HttpOnly,防止Cookie被盗
(1) 对一些特殊的标签进行转义;
(2) 直接过滤掉JavaScript事件标签和一些特殊的html标签;
(3) 将重要的cookie标记为http only;
1、使用转义函数对xxx参数进行转义
2、检查数据类型,使用函数对数据类型进行强制转换
3、使用预编译语句
XSS
1、使用转义函数转义xxx参数
2、重要cookie使用HttpOnly,防止Cookie被盗
(1) 对一些特殊的标签进行转义;
(2) 直接过滤掉JavaScript事件标签和一些特殊的html标签;
(3) 将重要的cookie标记为http only;
如果在cookie中设置了httponly属性,那么通过js脚本将无法读取到cookie信息,这样能有效的防止XSS攻击。
(4) 只允许用户输入我们期望的数据;
(5) 对数据进行html encode处理等。
html encode: 是将html源文件中不容许出现的字符进行编码,通常是编码以下字符:"<"、">"、"&"、"""、"'"等
上传
1、上传的文件扩展名使用白名单,且在服务端进行验证
2、对上传的文件进行重命名
3、控制上传目录的权限,上传目录不能有执行权限
命令执行
1、进入执行命令的函数/方法前对参数进行过滤、转义
2、尽量少用或者直接禁用可以执行系统命令的函数
代码执行
1、严格过滤用户数据,转义敏感字符
2、使用更加安全的函数
文件包含
1、将用户的访问限定在指定区域,如PHP的open_basedir
1、禁用远程包含文件的函数
2、过滤 ./ \
越权
1、在增删改查数据前要先验证要操作的人是否有相应权限
2、可以对重要参数进行加密,防止遍历扩大危害