Вот мой 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>
Я получаю следующую ошибку.
Потенциально опасное значение Request.Form обнаружено клиентом (txtFeedback = "alert ('Hello ...").
У меня вопрос, почему я получаю эту ошибку, даже если для параметра ValidateRequest на странице установлено значение false?