1
4

2 回答 2

1

我知道 ASP.Net 有一个 ValidateRequest 属性,它不允许某些地方的某些字符来防止某些黑客攻击。这是默认开启的。而且我相信 IIS 7(也可能是 6)在某种程度上将所有站点都视为 ASP.Net 应用程序(使用 web.config 文件)。这不是一个经过验证的事实,但即使我正在测试一个仅包含 .html 文件的站点,我也会显示 web.config 文件。

在 ASP.Net 中,您可以在 web.config 文件中将 ValidateRequest=true(默认)属性更改为 ValidateRequest=false。这可能会阻止服务器端验证的发生并允许您的默认设置通过。

添加<pages validateRequest="false" />到 web.config 的 system.web 部分。

于 2009-06-01T19:55:38.313 回答
0

它可能将尖括号视为潜在的跨站点脚本攻击 - 默认情况下,这些天 asp.net(我知道您使用的是 ASP,而不是 ASP.NET)会在您提交时抛出关于“潜在危险回发”的异常带尖括号的字符串。

是否有可能通过安装 VS(以及因此的 DotNet 框架)将托管这些页面的网站设置为使用 ASP.NET?

您是否尝试过从该站点删除 ASP.NET 注册?您可以通过使用“-ua”开关运行 aspnet_regiis 来做到这一点。此命令行工具可在以下位置找到:

C:\Windows\Microsoft.NET\Framework[vX.YYY]\

其中 X.YYY 是 1.1.4322 或 2.0.50727

于 2009-06-01T19:57:42.707 回答