簡體   English   中英

自定義用戶HTML輸入的安全性

[英]Custom user HTML input safety

我正在用php創建一個網站。 功能之一是用戶可以通過輸入自定義html代碼來編輯自己的頁面。 現在,您可以在文本區域中輸入代碼,並將其顯示在div中。 將來,我計划為用戶添加更多有用的工具。

我的問題是如何保護我的網站免受惡意代碼的侵害。 我知道Facebook有一個選項可以將自定義HTML放在頁面選項卡中,以便可以安全地完成它。 當前,該html由php腳本顯示,並將其回顯到頁面上,因此用戶也可以在<script>標記中輸入javascript。 我不知道javascript和html的全部限制,但是我知道嵌入到網站中的自定義javascript有可能搞砸事情。

到目前為止,這是我的想法:

  • 從用戶代碼中刪除所有JavaScript

    • 優點:簡單
    • 缺點:用戶無法使用javascript做任何有趣的事情
  • 將JavaScript限制為僅在display div內執行

    • 優點:安全的自定義JavaScript
    • 缺點:可能不可能/非常困難

如果有人對如何執行此操作或Facebook如何執行此操作有任何想法,我想知道! 提前致謝。

如果使用的是php,一個很好的解決方案是使用HTMLPurifier。 它有很多選項可以過濾掉不良內容,並且有副作用,可以保證格式正確的html輸出。

暫無
暫無

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

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