簡體   English   中英

跨站點ajax請求與正常表單發布有何不同?

[英]How is a cross site ajax request different from a normal form post?

我一直在使用ajax的網站上工作,當然使用ajax遇到跨站點請求的問題(我正在執行登錄,因此需要POST到我的API端點)。 我已閱讀了CORS以及如何響應請求以實現此目的。

我的問題是:此ajax請求的安全性和正常的(例如,來自表單的)POST請求如何?

這個ajax請求是否使用與普通請求相同的路由,HTTP方法等? 像任何請求一樣,是否需要驗證其輸入?

如果我沒記錯的話,如果我創建一個普通表單並將操作設置為另一個站點,它將起作用。 這與ajax POST所做的一樣嗎?

謝謝

從表單進行POST時,您的網頁將始終重定向到POST返回的內容,並且用戶將知道操作已完成。

AJAX請求將永遠不會更改您的網頁(除非您通過編程方式進行更改),因此,如果您可以向其他域發出AJAX請求,則用戶將永遠不會注意到網頁中的腳本正在訪問其他域。

之所以存在CORS,是因為同源政策

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

對於廣泛依賴HTTP cookie維護經過身份驗證的用戶會話的現代Web應用程序,此機制具有特別的意義。

如果您可以使用ajax向任何站點發出POST請求,那么您可以在用戶不注意的情況下修改任何站點中的任何設置。 那將是一個安全問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM