首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> .NET 網頁程式設計 >> ASP.NET 基礎 >> 關於ASP.NET

ASP.NET 中的 HTML 編碼與 URL 編碼完整指南

     編輯:關於ASP.NET

ASP.NET 提供 System.Web.HttpUtility.HtmlEncode 與 UrlEncode 靜態方法,分別用於將字串安全輸出至 HTML 內容與 URL 參數,防止 XSS 與參數截斷。

編碼差異對照

原始字串HtmlEncode 結果UrlEncode 結果
<h1>Test & Demo</h1>&lt;h1&gt;Test &amp; Demo&lt;/h1&gt;%3ch1%3eTest+%26+Demo%3c%2fh1%3e
url?a=1&b=2url?a=1&amp;b=2url%3fa%3d1%26b%3d2

ASP.NET 網頁範例

<%@ Page Language="C#" %>
<%@ Import Namespace="System.Web.HttpUtility" %>
<script runat="server">
    void Page_Load()
    {
        string html = "<h1>Hello & World</h1>";
        string url = "page.aspx?id=1&name=test";

        lblHtml.Text = html;
        lblHtmlEncoded.Text = HtmlEncode(html);
        lblUrl.Text = url;
        lblUrlEncoded.Text = UrlEncode(url);
    }
</script>
<html><body>
    原始 HTML: <asp:Label id="lblHtml" runat="server" /><br>
    HtmlEncode: <asp:Label id="lblHtmlEncoded" ForeColor="Blue" runat="server" /><br>
    原始 URL: <asp:Label id="lblUrl" runat="server" /><br>
    UrlEncode: <asp:Label id="lblUrlEncoded" ForeColor="Blue" runat="server" />
</body></html>

最佳實務

  • 輸出至 HTML 內容/屬性 → HtmlEncode(或 HtmlAttributeEncode)
  • 輸出至 URL 查詢字串 → UrlEncode
  • 輸出至 JavaScript 字串 → JavaScriptStringEncode (ASP.NET 4.5+)
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved