我正在php中創建一個網站。其中一項功能是用戶可以通過輸入自定義html代碼來編輯自己的頁面。現在,您可以將代碼輸入到textarea中,並將其顯示在div中。將來,我計劃爲用戶添加更多有用的工具。自定義用戶HTML輸入安全
我的問題是如何保護我的網站免受惡意代碼的侵害。我知道Facebook可以選擇將自定義HTML放在頁面標籤中,以便安全地完成。目前,HTML正在通過一個PHP腳本顯示在頁面上,以便用戶可以在<script>
標籤中輸入javascript。我不知道javascript和html的完整限制,但我知道,嵌入到網站中的自定義JavaScript有可能導致事情發生。
這裏是我的想法而已:易
從用戶代碼
- 優點刪除所有JavaScript的用戶不能做什麼有趣的JavaScript
將javascript限制爲僅在顯示div內執行
- 優點:安全自定義JavaScript
- 缺點:可能不可能/非常困難
如果任何人有關於如何做到這一點或Facebook是如何做到這一點,我喜歡思想知道!提前致謝。
如果他們允許Javascript,他們幾乎肯定會把它放在一個'iframe'中,以便它不會訪問主頁面。 – Barmar
我會把它放在一個iFrame中,但我希望html在iframe中沒有css約束。 – Harrison