簡體   English   中英

阻止 xss 但允許所有 html 標簽

[英]prevent xss but allow all html tags

我正在建立一個博客,目前正在完成管理面板。

因為我將主要由誰來管理它......我想確保當我輸入

<ul>
   <li>test</li>
   <li>test</li>
</ul>

將向我顯示無序列表,但也會防止XSS標簽以防萬一......

我怎么能那樣做?

解決方案是否可以創建函數並替換ulolimg等標簽?

您正在尋找的是 HTML 消毒劑。 這些很難正確編寫,因此您應該查看現有庫。 對於 PHP,請查看HTML Purifier

正確的 XSS 保護不僅僅涉及 html 清理。 開放 Web 應用程序安全項目 (OWASP) 匯總了避免 XSS 攻擊的規范指南:

XSS(跨站點腳本)預防備忘單

檢查這個網址 - http://refactormycode.com/codes/333-sanitize-html

關於這個問題還有另一個有用的線程以及如何處理這個問題 - 在 SQL Server 中存儲 WMD 輸入/降價並稍后顯示的最佳方法是什么?

在允許 HTML 的同時處理 XSS 的標准方法是:

  1. 通過(真實的)HTML 解析器運行 HTML
  2. 刪除不在白名單中的任何元素或屬性(使用第三方白名單作為起點,對您添加的任何其他元素/屬性進行研究,以確保它們沒有辦法注入您沒有的 JS知道關於)。
  3. 健全性檢查任何 URI
  4. 從 DOM 生成干凈的 HTML

具體將取決於您使用的語言。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM