簡體   English   中英

沒有Origin標頭的Chrome擴展AJAX請求

[英]Chrome extension AJAX request without Origin header

這是使用jQuery從Chrome擴展程序發出的AJAX請求print_r() php中的print_r()

Array
(
    [HTTP_HOST] => 127.0.0.1
    [HTTP_CONNECTION] => keep-alive
    [CONTENT_LENGTH] => 0
    [HTTP_ACCEPT] => */*
    [HTTP_ORIGIN] => chrome-extension://apdckddecfflophongckfbabbjhnjbph
    [HTTP_USER_AGENT] => Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1700.123 Safari/537.36
..

如何從AJAX請求離開瀏覽器之前刪除Origin標頭?

只需將網站添加到清單文件的權限部分 (請參閱有效格式的匹配模式 )。 然后,請求將被視為從與網站相同的來源發送,並且不會添加“Origin”請求標頭。

{
    ...
    "permissions": [
        "*://example.com/*"
    ]
}

(如果沒有此權限,Chrome仍會嘗試使用CORS獲取資源,導致添加“Origin”標頭。只有在服務器回復Access-Control-Allow-Origin標頭(通配符)時,此類請求才會成功( * )或匹配請求者的來源。)

原始標題由瀏覽器自動添加,不能由用戶控制。 它是一個Web主體,用於確定URI中內容的來源。 CORS還使用此標頭來確定是否可以對此跨域請求進行處理或拒絕。

始終在跨源請求中添加Origin頭,某些同源請求也可能包含它。 例如,Chrome和Safari會在同源POST / PUT / DELETE請求中包含原始標頭,這取決於瀏覽器的實現。

不幸的是,我認為沒有辦法刪除這個標題。

暫無
暫無

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

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