ASP.NET请求验证和服务器端验证
我混淆了ASP.NET请求验证和服务器端验证。 如果我们设置ValidateRequest=“false”,如下所示ASP.NET请求验证和服务器端验证,asp.net,validation,Asp.net,Validation,我混淆了ASP.NET请求验证和服务器端验证。 如果我们设置ValidateRequest=“false”,如下所示 <%@ Language="C#" ValidateRequest="false" %> <html> <script runat="server"> void btnSubmit_Click(Object sender, EventArgs e) { // If ValidateRequest is false,
<%@ Language="C#" ValidateRequest="false" %>
<html>
<script runat="server">
void btnSubmit_Click(Object sender, EventArgs e)
{
// If ValidateRequest is false, then 'hello' is displayed
// If ValidateRequest is true, then ASP.NET returns an exception
Response.Write(txtString.Text);
}
</script>
<body>
<form id="form1" runat="server">
<asp:TextBox id="txtString" runat="server"
Text="<script>alert('hello');</script>" />
<asp:Button id="btnSubmit" runat="server" OnClick="btnSubmit_Click"
Text="Submit" />
</form>
</body>
</html>
void btnsupmit\u单击(对象发送者,事件参数e)
{
//如果ValidateRequest为false,则显示“hello”
//如果ValidateRequest为true,则ASP.NET将返回异常
Write(txtString.Text);
}
那么我们可以使用服务器端验证,比如RequiredFieldValidator控件吗
它们是不同的东西吗?但它们都有关键词
谢谢你的解释。是的,它们是不同的
ValidateRequest
会引发错误,如果任何提交的表单字段值包含“危险”值,例如您在其中的脚本标记,则会中止请求,以防止脚本注入攻击
验证程序控件(如RequiredFieldValidator
)在失败时不会停止页面处理。它们用于帮助您处理规则,通常与保护服务器或应用程序免受攻击无关