<strike id="cy2gs"><menu id="cy2gs"></menu></strike>
  • <del id="cy2gs"><dfn id="cy2gs"></dfn></del>
  • "從客戶端中檢測到有潛在危險的 Request.Form 值"的解決方案匯總

    2020-3-22    seo達人

    在一個asp.net 的項目中,前端通過ajax將富文本中的文字內容post到服務端的一個ashx中,在ashx中嘗試讀取參數值時,

    結果報錯:“從客戶端中檢測到有潛在危險的 Request.Form 值”

    #事故分析
    由于在asp.net中,Request提交時出現有html代碼字符串時,程序系統會認為其具有潛在危險的值。會報出“從客戶端 中檢測到有潛在危險的Request.Form值”這樣的Error。

    而富文本中的內容是包含html代碼的,所以...

    #解決方案:
    1、前端對富文本字符串進行encodeURI編碼,服務端進行HttpUtility.UrlDecode解碼操作;
    前端代碼:

    var str = '<p><span style="color: #00B0F0;"><em><strong>我想留在你的身邊,</strong></em></span><br/></p><p><span style="color: #7030A0;"><strong><span style="text-decoration: underline;">深情款款多么可憐;</span></strong></span></p>';
        $(function() {
            $.ajax({
                type: "post",
                url: "TestHandle.ashx",
                data: { Title: 'jack', Content: encodeURI(str) },
                success: function (data) {
                    $("#div").html(data);
                }
            });
        });
    后端代碼:

        public void ProcessRequest(HttpContext context)
        {
            string str = context.Request["content"];
            string content = HttpUtility.UrlDecode(str);
            context.Response.ContentType = "text/plain";
            context.Response.Write(content);
        }
    效果圖:

    2、前端不以form的方式提交,直接以json方式提交,服務端從request的body中讀取數據,然后反序列化,得到信息;
    前端代碼:

        var str = '<p><span style="color: #00B0F0;"><em><strong>我想留在你的身邊,</strong></em></span><br/></p><p><span style="color: #7030A0;"><strong><span style="text-decoration: underline;">深情款款多么可憐;</span></strong></span></p>';
        var temp = { Title: 'jack', Content: str };
        $.ajax({
            type: "post",
            url: "TestHandle.ashx",
            contentType:"application/json;charset=utf-8",
            data: JSON.stringify(temp),
            success: function (data) {
                $("#div").html(data);
            }
        });
    后端代碼:

        string bodyText;
        using (var bodyReader = new System.IO.StreamReader(context.Request.InputStream))
        {
            bodyText = bodyReader.ReadToEnd();
        }
        dynamic bodyObj = JsonConvert.DeserializeObject(bodyText);
     
        context.Response.ContentType = "text/plain";
        context.Response.Write(bodyObj.Content);
    效果圖:

    #其他場景的解決方案:
    1、aspx頁面,當前頁面進行form提交
    打開當前.aspx頁面,頁頭加上代碼:validateRequest=”false”,如:

    <%@ Page Language="C#" ValidateRequest="false" AutoEventWireup="false" CodeFile="default.aspx.cs" Inherits="default" %>
    該方法不推薦,還有一種修改web.config配置文件的方法,強烈不推薦,就不寫在這里了;

    2、在ASP.NET MVC中的解決方案
    1)、針對某個實體類的單個字段設置 [AllowHtml] ,這樣提交的時候,系統就會放過該字段。

    2)、前端代碼:

        var str = '<p><span style="color: #00B0F0;"><em><strong>我想留在你的身邊,</strong></em></span><br/></p><p><span style="color: #7030A0;"><strong><span style="text-decoration: underline;">深情款款多么可憐;</span></strong></span></p>';
        $(function () {
            $.ajax({
                type: "post",
                url: "Home/Test",
                data: { Title: 'jack', Content: str },
                success: function (data) {
                    $("#div").html(data.ok);
                }
            });
        });
    3)、后端代碼:

        public class NewInfo
        {
            public string Title { get; set; }
            [AllowHtml]
            public string Content { get; set; }
        }
     #寫在最后
     該文只是淺顯的總結一下,其中涉及的xss方面,沒有詳細考慮,歡迎指正!

    日歷

    鏈接

    個人資料

    藍藍設計的小編 http://m.skdbbs.com

    存檔

    主站蜘蛛池模板: 精品a在线观看| 欧美日韩人妻精品一区二区在线| 久久伊人精品青青草原日本| 国产精品久久久久久福利漫画| 热久久国产欧美一区二区精品 | 欧美精品v国产精品v日韩精品| 国产精品福利片免费看 | 精品露脸国产偷人在视频 | 亚洲国产精品无码专区在线观看 | 337P亚洲精品色噜噜| 97在线精品视频| 亚洲αv在线精品糸列 | 国产高清在线精品一区二区三区| 成人国内精品久久久久一区 | 少妇精品久久久一区二区三区| 久久久久久久亚洲精品| 国产精品国产三级在线高清观看| 精品亚洲综合在线第一区| 国产精品丝袜黑色高跟鞋| 无码国产精品一区二区免费式芒果 | 精品人妻无码一区二区色欲产成人| 一本一本久久A久久综合精品| 精品人妻少妇一区二区三区在线| 国产精品乱视频| 隔壁老王国产在线精品| 亚洲欧洲国产精品你懂的| 日韩精品在线免费观看| 一区二区三区精品| 99精品欧美一区二区三区| 亚洲精品国产成人专区| 91人前露出精品国产| 97精品国产97久久久久久免费| 四虎影永久在线观看精品| 91精品国产高清久久久久久91 | 青青久久精品国产免费看| 日韩精品无码Av一区二区| 免费人欧美日韩在线精品| 免费短视频软件精品一区二区| 四虎成人精品| 永久免费精品影视网站| 在线精品亚洲一区二区三区|