vs对某些网络错误的拦截

 

在编写代码的过程中发现如果在写好网页中的文本框内写入js代码(以<script>1</script>输入为例)

vs会自动拦截并报错,如图(密码中我也输入了<script>1</script>)

 

简单解决方法有两种

1.在网页开头代码中加上ValidateRequest="false"

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="login.aspx.cs" Inherits="login"  ValidateRequest="false"%>

这样可以关闭该提示,但不能解决危险性问题,可以通过其他(如写防范代码,替换危险字符)方法来防止造成威胁

2.在Page_Load() 函数下添加新的一个函数

protected void Page_Error(object sender, EventArgs e)
    {
        Exception ex = Server.GetLastError();
        if (ex is HttpRequestValidationException)
        {
            Response.Write("<script>请您输入合法字符串。</script>");
            Server.ClearError(); // 如果不ClearError()这个异常会继续传到Application_Error()。
        }
        else
        {
            Response.Write("<script>请勿乱来</script>");
            Server.ClearError();
        }
    }

  这是一种从网上查到的方法,可以在出现该类字符并捕捉到时用其他操作代替报错

 

转载于:https://www.cnblogs.com/Phoenix-blog/p/7791660.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值