默認情況下,瀏覽器不允許跨站點AJAX請求。爲什麼跨域AJAX請求被標記爲「安全風險」?
據我所知,一個不好設想的跨域請求可能是一個安全風險。如果我採用html或外部網站的javascript,並將其「呈現」到我的網站中,那就是一個問題。這個外部代碼可以用於很多不好的事情 - 比如訪問當前用戶的會話數據。
但如果我只請求JSON或XML數據,我用一個正確的庫來解析JSON(不只是使用eval)我怎麼也想不到,這將是一個安全隱患。可能發生的更糟的是,來自該網站的內容無法正確呈現。
我錯過了什麼?簡單地通過發送一些惡意數據來破壞讀取json/xml的頁面是否可能?
'默認情況下,瀏覽器不允許跨站點requests.'這句話需要一點拋光。你在談論XHR嗎?你在說cookie嗎?因爲通常瀏覽器允許跨域請求:可以使用指向遠程域的錨點或表單,並且當用戶點擊此鏈接時,跨域請求將毫無問題地執行。 – 2012-02-10 13:01:30
可能的重複http://stackoverflow.com/q/9222822和http://stackoverflow.com/q/9169038 – Gumbo 2012-02-10 13:04:08
@DarinDimitrov你是對的。我改變了這句話。 – kikito 2012-02-10 16:14:32