現在のページのURLを取得して、デフォルトとしてReferer
ヘッダーを含めるとよいでしょう。 クッキーと同じように。 なぜ私のリクエストが古いバージョンやJSコンソールのように機能しなかったのかと長い間疑問に思っていました。
おそらく他のページからのリクエストを停止するために、リファラーヘッダーを現在のページに設定する必要があるのはPOST
リクエストでした。
GM_xmlhttpRequestと通常のXHRの両方の動作に一致する、同一生成元のリクエストに対してこれを自動的に行うことは理にかなっています。 クロスオリジンの場合、ユーザーは必要なリファラーを手動で指定できます。
GM.xmlhttpRequestは、通常のXHRの動作と一致します。 どちらも、tampermonkeyで機能する私のコードを壊すリファラーを送信しません。
そして、GM_xmlhttpRequestがリファラーを送信してもよろしいですか? GM_xmlhttpRequestを含む最新のgreasemonkeyバージョンはまだ確認していませんが、 https: //greasyfork.org/en/forum/discussion/6928/gm-xmlhttprequest-vs-xmlhttprequestの最後のコメントでは、2015年にはそうではありませんでした。
最も参考になるコメント
GM_xmlhttpRequestと通常のXHRの両方の動作に一致する、同一生成元のリクエストに対してこれを自動的に行うことは理にかなっています。 クロスオリジンの場合、ユーザーは必要なリファラーを手動で指定できます。