我已經看過有關該主題的文章和帖子(包括SO),并且普遍的評論是,同源策略阻止跨域的POST形式。我見過有人建議將同源政策不適用于表單帖子的唯一位置是此處。我想從一個更“官方”或正式的來源獲得答案。例如,是否有人知道解決同源性如何影響表單POST的RFC?澄清:我不是在問是否可以構造GET或POST并將其發送到任何域。我在問:如果Chrome,IE或Firefox允許域“ Y”中的內容將POST發送到域“ X”如果收到POST的服務器實際上將看不到任何表單值。我之所以這樣說,是因為大多數在線討論都記錄了測試人員說服務器收到了該帖子,但是表單值都是空的/已被剝離。官方文件(即RFC)解釋了預期的行為(無論瀏覽器當前已實現了什么)。順便說一句,如果同源源不影響表單POST,那么這使得為什么需要使用防偽令牌更加明顯。我之所以說“有點”,是因為很難相信攻擊者可以簡單地發出HTTP GET來檢索包含防偽令牌的表單,然后進行包含相同令牌的非法POST。評論?
3 回答

倚天杖
TA貢獻1828條經驗 獲得超3個贊
相同的原始策略與將請求發送到另一個url(不同的協議,域或端口)無關。
這一切都是為了限制對另一個URL的訪問(讀取)響應數據。因此,頁面內的JavaScript代碼可以發布到任意域,也可以將該頁面內的表單提交到任何地方(除非表單位于具有不同url的iframe中)。
但是導致這些POST請求效率低下的原因是這些請求缺少防偽令牌,因此其他url會將其忽略。此外,如果JavaScript試圖通過向受害者url發送AJAX請求來獲取該安全性令牌,那么將通過Same Origin Policy阻止訪問該數據。
添加回答
舉報
0/150
提交
取消