我正在使用Symfony2/Twig/Doctrine。XSS基本瞭解
我在看我的網站的安全性,特別是防止XSS攻擊,但我看不到我還能做些什麼。
持續
我使用原則,始終確保自己作出的用戶輸入的安全,拒絕HTML,網頁地址和電子郵件地址等。(如果適用,例如一個評論框)。我也使用Twig(我相信逃生輸出)。
反光
我的理解是,任何人都可以發送電子郵件給某人一個鏈接到任何網站,也注入的JavaScript。 JS當然可以做任何事情。這JS可以有一個登錄表單提交給任何網址,沒有什麼可以做的(除了希望愚蠢的人不點擊從隨機的人鏈接到我的網站的登錄頁面)。
所以除非你能阻止JS被注入,那我還能做什麼?
我不相信你可以阻止一個站點在另一臺服務器上運行JS腳本(我的有效JS來自另一臺服務器上的CDN),我不認爲你可以阻止一個HTML表單提交給另一臺服務器。
我確實認爲跨域保護確實可以防止注入的JS調用Ajax請求 - 但我沒有對此做任何事情,我只是認爲這是現代瀏覽器的工作原理。
我手中還有其他東西嗎?只要我做了其他可能的事情,那對我來說就足夠了。
我想我很想知道,爲什麼在這方面沒有太多的事情可做,因爲有些人靠XSS保護建議謀生。也許是因爲我使用Symfony2/Twig/Doctrine?
只是尋求幫助,以澄清我的理解。
跨站漏洞一般都是出監督。你可以做到這一點,但是你沒有想到的那個ajax動作中的一個小小的缺點可能會變成屁股!這就是爲什麼人們有錢閱讀代碼並分析任何缺陷。你不能總是發現你自己的代碼有什麼問題 –
不要*拒絕* HTML,只要確保在輸出之前對所有內容進行編碼。 –
謝謝。所以我沒有什麼可以做的了?我很信任Symfony2/Twig/Doctrine,是嗎? – user2143356