2015-07-19 18 views
0

我一直在使用ajax驅動的網站,當然也遇到了使用ajax跨站點請求的問題(我正在執行登錄,因此我需要POST到我的API端點)。我已經閱讀了CORS以及如何迴應請求以實現此目的。跨站點ajax請求如何與普通表單帖子不同?

我的問題是:這個ajax請求如何不太安全,並且正常(比如從表單)POST請求?

這個ajax請求不使用相同的路由,HTTP方法等,一般請求會使用嗎?它的輸入是否需要像任何請求一樣進行驗證?

如果我沒有記錯的話,如果我創建一個正常表單並將該操作設置到另一個網站,它將起作用。這與ajax POST的做法不一樣嗎?

感謝

回答

0

當您從表單POST,您的網頁將始終重定向到任何開機自我恢復,並且用戶將知道一個動作正在做。

AJAX請求永遠不會改變您的網頁(除非您以編程方式進行),所以如果您可以向另一個域發出AJAX請求,用戶永遠不會注意到網頁中的腳本正在訪問其他域。

CORS存在,因爲Same Origin Policy

防止惡意腳本在一個頁面上獲得通過網頁的文檔對象模型訪問敏感數據的另一個網頁上。

該機制承擔的是大量依賴於HTTP cookie來維護身份驗證的用戶會話

如果你可以使用AJAX,那麼你可以修改任何設置作出POST請求的任何網站現代Web應用的特殊意義在任何網站沒有用戶注意到它。這將是一個安全問題。

+0

有道理,謝謝! – Sandy

+0

所以基本上這只是一個瀏覽器的東西?其他工具,如命令行'curl'只會工作? – Sandy

+0

是的,SOP&CORS是隻有瀏覽器實施的安全策略。捲曲只是工作。 – jperelli