我被告知要在我的一些旧的.asp页面中找到对跨站点脚本(XSS)的修复。通过URL跨站点脚本
我做了一些关于这个问题的研究,但是我没有找到我的问题的答案。这是我第一次听说XSS,也是第一次看ASP(尽管这个网页只有HTML),而且我现在还没有进入网页设计大约2年,所以我非常生疏。
因此,例如,我有这种形式
<form method="POST" id="CH" name="CH" action="http://some_url/some.asp">
<input type="hidden" name="srv" value="1" ID="srv"/>
<TABLE border="0" cellpadding="0" cellspacing="0" width="100%" align="center">
<TR valign="top">
<TR>
<TD align="center">Input something here
<input name="input_something" type="text" class="field-no-fit" maxlength="12" value="">
</TD>
</TR>
</TR>
</TABLE>
</form>
如果我手动输入网址(其中包含这种形式)作为
http://this_url/this.asp?1=%22%3E%3Cscript%3Ealert%28HelloWorld%29%3C/script%3E%3Cimg%20alt=%22%22%20src=%22
页面将加载,然后它会抛出一个javascript提醒并显示错误图像。
我的目标是在打开页面时停止脚本运行。 我阅读了有关Server.HTMLEncode,但无法找到一种方法来使用它来停止页面加载时运行脚本。
在此先感谢!
编辑:请问我能不能,至少部分,要解决它,如果我更换输入值: “<%= Server.HTMLEncode(请求(” input_something “))%>”
我无法测试它,因为目前我无法访问IE6,并且所有其他浏览器(包括IE> 6版本)都会避免该错误(已在安全选项卡中禁用了XSS筛选器,但它不起作用)
你们是不是要防止XSS攻击?或者你只是想停止加载页面上的所有JavaScript? –
我试图阻止XSS攻击是;) – Bernardo