• 含有HTML碼的欄位寫入資料庫處理方法


     

    症狀

    '/' 應用程式中發生伺服器錯誤。

    --------------------------------------------------------------------------------

     

    具有潛在危險 Request.Form 的值已從用戶端 (txtXmlMyGrid3="...whzuSH51Z2OnMbsXbDg==") 偵測到。

    描述: 要求驗證偵測到具有潛在危險的用戶端輸入值,對這個要求的處理已經中止。這個值可能表示有人嘗試危害應用程式的安全性,例如跨站台的指令碼處理攻擊。您可以在 Page 指示詞或 組態區段中設定 validateRequest=false 來停用要求驗證。但是我們強列建議您的應用程式應該明確地檢查所有這類的輸入。

     

    例外詳細資訊: System.Web.HttpRequestValidationException: 具有潛在危險 Request.Form 的值已從用戶端 (txtXmlMyGrid3="...whzuSH51Z2OnMbsXbDg==") 偵測到。

    原因

    表單數據回寫資料庫時,.NET Framework會對表單數據檢查,使得表單欄位的值不得有任何的 HTML 代碼或類似HTML代碼。

    以避免sql注入攻擊。

    txtXmlMyGrid3保存的是XML,含特殊字符 <  >XMLHTML都是標記語言,結構相似。所以出現次錯誤。

    解決方法

    表單數據需回寫資料庫,欄位的值含HTML時,可採用

    1 讓程式順利運行

     修改webconfigaspx檔案中的第一行Page 項目

      <configuration>

    <system.web>

    <pages validateRequest="false" />

    </system.web>

    </configuration>

      <%@ Page validateRequest="false" %>  

    2 加強程式的安全性

     客戶端驗證。用戶輸入時,檢查內容是否符合要求。

     對輸入的內容編碼。常用方法:

        使用HtmlEncode函數

        Dim s As String = Server.HtmlEncode(Me.TextBox1.Text)

     ○在服務器端,檢查用戶輸入的內容。

     ○數據寫入DB時,使用參數。以處理特殊字符和sql注入。

     讀取數據時,解碼。常用方法:

        使用HtmlDecode函數

        Me.TextBox3.Text = Server.HtmlDecode(Me.TextBox1.Text)

  • 相关阅读:
    xgqfrms™, xgqfrms® : xgqfrms's offical website of GitHub!
    xgqfrms™, xgqfrms® : xgqfrms's offical website of GitHub!
    xgqfrms™, xgqfrms® : xgqfrms's offical website of GitHub!
    xgqfrms™, xgqfrms® : xgqfrms's offical website of GitHub!
    xgqfrms™, xgqfrms® : xgqfrms's offical website of GitHub!
    Activiti任务参数和流程参数的对比
    Intel x710万兆 SR-IOV 网卡驱动升级
    git clone分支到本地
    资源丨MySQL故障排查思路方法PPT&视频&24问答
    win10系统端口转发
  • 原文地址:https://www.cnblogs.com/htht66/p/1878934.html
Copyright © 2020-2023  润新知