web-dev-qa-db-ja.com

カスタムHTTPヘッダーを特定の1つのホストのみに送信する

特定のホストへのリクエストに対してカスタムHTTPヘッダーを送信する方法(Firefoxアドオンまたはabout:config設定)はありますか?

例:ホストFoobar: trueにリソースを要求した場合(およびその場合のみ)にヘッダーfoo.example.comを送信します。

プロトコルも指定できる場合はボーナスポイント(たとえば、HTTPS経由でリクエストする場合にのみヘッダーを送信する)。

(私の質問を参照 リファラーで追加の「パスワード」を使用してプライベートサイトを非表示にしますか? ITセキュリティSEで、なぜそれを実行したいのか)

これまでに見つけたもの

11
unor

Firefoxに制限されていない場合は、Google Chromeの拡張機能 Header Hacker を使用できます。

それは提供します:

  1. カスタム要求ヘッダー(新しいヘッダーを追加するか、既存のヘッダーをオーバーライドできます)
  2. 指定したホストの永続的なヘッダー(新しいヘッダーを追加するか、既存のヘッダーを上書きできます)

そのため、2番目の機能で問題を解決できます。

私はエクステンションをたくさん使っていますが、それは私にとってはうまくいきます。

6
ajukraine

Firefoxアドオンのヘッダーツールは、探していることを実行します。 https://addons.mozilla.org/en-us/firefox/addon/header-tool/

私は、カスタムリクエストヘッダーをlocalhostに制限するために試してみました。

5
Ray

Firefox 57のリリース以来、プラグイン Modify Header Value がうまく機能することを発見しました。

ヘッダー値の変更では、目的のWebサイトまたはURL上のすべての要求のHTTP要求ヘッダーを追加、変更、または削除できます。

2
Jason R. Coombs

ユーザーエージェントを偽装する必要がある場合:

Custom UserAgent String : "目的のURLまたはドメインにカスタムuseragent文字列を追加します。"
このアドオンは、JavaScriptユーザーエージェントを変更しません

jS UAも変更するには、次のユーザースクリプトをgreasemonkeyに追加します。

// ==UserScript==
// @name        Change navigator.userAgent
// @namespace   Rob W
// @description Changes navigator.userAgent to IE on IEGallery.com
// @match       http://www.iegallery.com/*
// @run-at      document-start
// @grant       none
// @version     1
// ==/UserScript==

Object.defineProperty(navigator, 'userAgent', {
    value: 'Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; Trident/6.0)'
});

これらの古いアドオンは、現在のFirefoxでは機能しません。

  • AControl :この拡張機能を使用すると、各サイト(ドメイン)ごとに、HTTPヘッダーでUser-Agentとして送信する文字列を制御できます。
    これは、JavaScriptによって使用されるネイティブのUser-Agent文字列(navigator.userAgentなど)を制御できないことに注意してください。
  • a-site-switch :現在のドメインのユーザーエージェントを変更します。
    UAはリクエストHTTPヘッダーでのみ変更されるため、JavaScriptが実際のUAを決定することを妨げません。
    UAをJavaScriptレベルで変更する必要がある場合は、User-Agent JS Fixerと呼ばれるNiceアドオンを使用できます。
  • ser-Agent JS Fixer :このアドオンは、セッション全体ではなく、サイトごとにJavaScript User-Agentを変更できます。
    それ自体は何もしませんが、UAControlやua-site-switchなどの別のアドオンの機能を補完します。追加の設定は必要ありません。同じ設定を使用します。
    HTTPヘッダーで送信されたのと同じ文字列を使用して、JavaScriptコードのユーザーエージェント(navigator.userAgent)を再定義するだけです。

[....誰かがより良いアドオンを書きたい場合の出発点として]

0
Mila Nautikus