Anti XSS和Classic ASP

时间:2009-04-07 13:59:28

标签: security asp-classic xss

我目前正在尝试从XSS保护我的经典ASP应用程序。我在网上遇到了微软的AntiXSS,我想知道这是否适用于经典应用程序?

如果没有,你有什么想法我可以去消毒字符串吗?

5 个答案:

答案 0 :(得分:14)

要清理字符串,我会对所有输出进行HTML编码,这样您就不必使用特殊字符或巨大的正则表达式来表达

Server.HTMLEncode(string) 

防止跨站点脚本攻击的两个最重要的对策是:

  • 限制输入。
  • 编码输出。

通过How To: Prevent Cross-Site Scripting in ASP.NET(我知道我不是经典的asp,但也有类似的原则)

答案 1 :(得分:2)

答案 2 :(得分:1)

如果您必须允许某些HTML标记(就像我在当前项目中那样),您可以使用正则表达式仅允许这些标记而不允许其他标记,如下所示:

set objRegExp = new RegExp
with objRegExp
    .Pattern = "<^((b)|(i)|(em)|(strong)|(br))>.*</.*>"
    .IgnoreCase = varIgnoreCase
    .Global = True
end with
cleanString = objRegExp.replace(originalString, "")

答案 3 :(得分:0)

不容易 - 您需要制作一个可COM调用的包装器,安装在服务器上等等。我根本不认为它适合“经典”ASP。

答案 4 :(得分:0)

<% 
Response.AddHeader "X-XSS-Protection", "1" 
%>