我正在使用contentEditable div,它允許用戶編輯主體HTML,然後使用AJAX請求直接將其發佈到網站。當然,我必須對它進行一些安全檢查。最明顯的是通過在提交的HTML中搜索<script
來確保沒有提交腳本標記。這是在第一次運行htmlentities
之後完成的,將數據傳輸到另一臺服務器,然後運行html_entity_decode
。另外,每個打開的標籤都必須關閉,並且每個關閉的標籤都必須在用戶提交的HTML中打開。用戶提交的HTML的安全風險
忽視不相關的安全風險(如SQL注入)和非安全風險(如用戶發佈不適當的圖像),還有什麼其他安全風險,如果有的話,具體鏈接到允許用戶添加HTML直接到一個頁面?
更具體地講,
- 是把腳本的頁面有辦法沒有明確使用腳本標籤或
- 有沒有方法可以危及站點的安全性和它的用戶可以通過編輯沒有使用腳本的HTML?
可能出現的[在PHP網站中避免xss攻擊的最佳做法]的重複(http://stackoverflow.com/questions/71328/what-are-the- best-practices-for-avoid-xss-attack-in-a-php-site) – Quentin
這當然是這個問題的一個子集,但這個問題稍微寬泛一些。我相信對這個問題的理想答案已經在這裏提出,而對這個問題的答案並不適合這個問題。 –