2013-07-20 52 views
3

我正在使用Symfony2/Twig/Doctrine。XSS基本瞭解

我在看我的網站的安全性,特別是防止XSS攻擊,但我看不到我還能做些什麼。

  1. 持續

    我使用原則,始終確保自己作出的用戶輸入的安全,拒絕HTML,網頁地址和電子郵件地址等。(如果適用,例如一個評論框)。我也使用Twig(我相信逃生輸出)。

  2. 反光

    我的理解是,任何人都可以發送電子郵件給某人一個鏈接到任何網站,也注入的JavaScript。 JS當然可以做任何事情。這JS可以有一個登錄表單提交給任何網址,沒有什麼可以做的(除了希望愚蠢的人不點擊從隨機的人鏈接到我的網站的登錄頁面)。

所以除非你能阻止JS被注入,那我還能做什麼?

我不相信你可以阻止一個站點在另一臺服務器上運行JS腳本(我的有效JS來自另一臺服務器上的CDN),我不認爲你可以阻止一個HTML表單提交給另一臺服務器。

我確實認爲跨域保護確實可以防止注入的JS調用Ajax請求 - 但我沒有對此做任何事情,我只是認爲這是現代瀏覽器的工作原理。

我手中還有其他東西嗎?只要我做了其他可能的事情,那對我來說就足夠了。

我想我很想知道,爲什麼在這方面沒有太多的事情可做,因爲有些人靠XSS保護建議謀生。也許是因爲我使用Symfony2/Twig/Doctrine?

只是尋求幫助,以澄清我的理解。

+0

跨站漏洞一般都是出監督。你可以做到這一點,但是你沒有想到的那個ajax動作中的一個小小的缺點可能會變成屁股!這就是爲什麼人們有錢閱讀代碼並分析任何缺陷。你不能總是發現你自己的代碼有什麼問題 –

+1

不要*拒絕* HTML,只要確保在輸出之前對所有內容進行編碼。 –

+0

謝謝。所以我沒有什麼可以做的了?我很信任Symfony2/Twig/Doctrine,是嗎? – user2143356

回答