gpt4 book ai didi

.net-4.0 - 为什么有潜在危险的请求错误甚至 ValidateRequest = false

转载 作者:行者123 更新时间:2023-12-04 10:28:20 26 4
gpt4 key购买 nike

这是我的 Default.aspx

<%@ Page Language="C#" AutoEventWireup="true"  CodeFile="Default.aspx.cs" Inherits="_Default" ValidateRequest="false" %>
<html>
<head runat="server">
<title>xss demonstration</title>
</head>
<body>
<form id="form1" runat="server">
<div>
We are looking for your feedback.
<asp:TextBox ID="txtFeedback" runat="server" TextMode="MultiLine" />
<br />
<asp:Button ID="submit" runat="server" Text="Submit" onclick="submit_Click" />
<br />
Comment:
<br />
<asp:Literal ID="ltlFeedback" runat="server" />
</div>
</form>
</body>
</html>

下面是 Default.aspx.cs
public partial class _Default : System.Web.UI.Page 
{
protected void submit_Click(object sender, EventArgs e)
{
this.ltlFeedback.Text = this.txtFeedback.Text;
}
}

当我运行应用程序并在文本框中输入以下内容时。
<script>alert('Hello')</script>

我收到以下错误。

A potentially dangerous Request.Form value was detected from the client (txtFeedback="alert('Hello...").



我的问题是为什么即使页面中的 ValidateRequest 设置为 false 也会出现此错误?

最佳答案

在 .net framework 4.0 中你必须设置 <httpRuntime requestValidationMode="2.0"/> web.config 中的标记。

<system.web>
<compilation debug="false" targetFramework="4.0" />
<httpRuntime requestValidationMode="2.0"/>
</system.web>

看看引用文章 - ASP.NET 4 Breaking Changes #1: requestValidationMode cause ValidateRequest=False to fail .

关于.net-4.0 - 为什么有潜在危险的请求错误甚至 ValidateRequest = false,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8997019/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com