开发人员要对用户输入的一切信息持不可信任的态度, 对用户输入的信息进行严格过滤, 过滤时不仅考虑诸如“javascript”, “”, “HTML”等特殊字符, 还要考虑大小写、字符间的空格及对输入的数据进行转义保存, 在输出时再进行还原等问题.
。(1) 过滤用户的输入信息。开发人员要对用户输入的一切信息持不可信任的态度, 对用户输入的信息进行严格过滤, 过滤时不仅考虑诸如“javascript”, “<”, “>”, “HTML”等特殊字符, 还要考虑大小写、字符间的空格及对输入的数据进行转义保存, 在输出时再进行还原等问题.(2) 限制用户输入的文本长度和数据类型。开发人员可以在数据库端或表单中对用户输入的文本长度、数据类型、格式进行严格限制, 以起到有效的防范作用.
(3) 检测上传的图片格式。开发人员需要对用户上传的图片进行检测, 检验其是否是正确的图片格式或者是否是伪格式, 图片服务器尽量不开启程序 (如JAVA, PHP, .NET) 功能或对图片格式进行程序解析.
(4) 防御CSRF。在Web应用程序中防御CSRF漏洞, 可以通过HTTP Referer来判断输入端的URL来源, 或者使用Token或JavaScript看不见的验证码来检验用户的身份.
(5) 使用入侵检测系统。通过在Web服务器端安装基于攻击手法或者基于攻击原理检测的入侵检测系统来防御跨站脚本攻击, 如在文献中提出的跨站脚本检测系统 (XSSDS) 可以使用3个策略发现攻击行为, 并使用4个策略发现跨站脚本代码.
可能您还想看