Senden Sie einen benutzerdefinierten HTTP-Header nur an einen bestimmten Host

11

Gibt es eine Möglichkeit (Firefox-Add-On oder about: config-Einstellung), einen benutzerdefinierten HTTP-Header für Anforderungen an einen bestimmten Host zu senden?

Beispiel: Senden Sie den Header, Foobar: truewenn (und nur wenn) ich eine Ressource vom Host anfordere foo.example.com.

Bonuspunkte, wenn das Protokoll ebenfalls angegeben werden kann (z. B. nur den Header senden, wenn über HTTPS angefordert wird).

(Siehe meine Frage Verwenden Sie ein zusätzliches „Passwort“ in Referer, um private Websites auszublenden. Auf IT Security SE erfahren Sie, warum ich dies tun möchte.)

Was ich bisher gefunden habe

unor
quelle

Antworten:

6

Wenn Sie mit Firefox nicht eingeschränkt sind, können Sie die Google Chrome-Erweiterung Header Hacker verwenden .

Es bietet:

  1. Benutzerdefinierte Anforderungsheader (Sie können entweder neue Header hinzufügen oder vorhandene überschreiben)
  2. permanente Header für bestimmte Hosts (Sie können entweder neue Header hinzufügen oder vorhandene überschreiben)

Damit Sie Ihr Problem mit der zweiten Funktion lösen können.

Ich benutze die Erweiterung oft und sie funktioniert gut für mich.

Ajukraine
quelle
Vielen Dank. Ich bin auf Firefox beschränkt, aber Ihre Antwort könnte natürlich für andere hilfreich sein. :)
oder
1
Die Verbindung ist unterbrochen
Taha Jahangir
1
@TahaJahangir Der Betreuer der Erweiterung hat kürzlich den Namen der App geändert. Ich habe den defekten Link aktualisiert. Und ja, die Erweiterungen sind wirklich hilfreich - ich benutze sie täglich
Ajukraine
Was passiert, wenn die Erweiterung einen Fehler aufweist oder die Erweiterung nicht mit der gewünschten Browserversion funktioniert oder wenn die Entwickler die Aktualisierung der Erweiterungen einfach eingestellt haben? Ich sehe dies für die meisten, wenn nicht alle Firefox-Erweiterungen, mit denen Sie Anforderungsheader hinzufügen / ändern können.
MasterJoe2
5

Das Firefox-Add-On Header Tool macht das, wonach Sie suchen: https://addons.mozilla.org/en-us/firefox/addon/header-tool/

Ich habe es gerade ausprobiert, um meinen benutzerdefinierten Anforderungsheader auf localhost zu beschränken.

Strahl
quelle
1
Was passiert, wenn die Erweiterung einen Fehler aufweist oder die Erweiterung nicht mit der gewünschten Browserversion funktioniert oder wenn die Entwickler die Aktualisierung der Erweiterungen einfach eingestellt haben? Ich sehe dies für die meisten, wenn nicht alle Firefox-Erweiterungen, mit denen Sie Anforderungsheader hinzufügen / ändern können.
MasterJoe2
2
Diese Erweiterung ist mit Firefox 57 nicht mehr verfügbar.
Jason R. Coombs
2

Seit der Veröffentlichung von Firefox 57 habe ich festgestellt, dass das Plugin Modify Header Value den Trick macht.

Header ändern Der Wert kann einen HTTP-Anforderungsheader für alle Anforderungen auf einer gewünschten Website oder URL hinzufügen, ändern oder entfernen.

Jason R. Coombs
quelle
0

für den Fall, dass Sie Ihren User-Agent fälschen müssen:

Benutzerdefinierte UserAgent-Zeichenfolge: "Fügen Sie eine benutzerdefinierte UserAgent-Zeichenfolge für die gewünschten URLs oder Domänen hinzu."
Dieses Add - on wird nicht Ihr Javascript User-Agent ändern.

Um auch die JS-UA zu ändern, fügen Sie dieses Benutzerskript zu greasemonkey hinzu:

// ==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)'
});

Diese veralteten Addons funktionieren nicht mit dem aktuellen Firefox:

  • UAControl : Mit dieser Erweiterung können Sie steuern, welche Zeichenfolge als User-Agent im HTTP-Header für jede Site (Domäne) gesendet wird.
    Beachten Sie, dass dies die von JavaScript verwendete native User-Agent-Zeichenfolge (z. B. navigator.userAgent) nicht steuern kann.
  • ua-site-switch : Ändern Sie den Benutzeragenten für die aktuelle Domäne.
    Die UA wird nur im Anforderungs-HTTP-Header geändert, sodass Javascript nicht daran gehindert wird, die tatsächliche UA zu ermitteln.
    Wenn Sie die UA auf Javascript-Ebene ändern müssen, können Sie ein nettes Addon namens User-Agent JS Fixer verwenden.
  • User-Agent JS Fixer : Dieses Addon kann den JavaScript User-Agent auf Site-Basis ändern, anstatt ihn für die gesamte Sitzung zu ändern.
    Es macht nichts für sich, aber es ergänzt die Funktionalität eines anderen Addons wie UAControl oder ua-site-switch. Es ist keine zusätzliche Konfiguration erforderlich, es werden dieselben Einstellungen verwendet.
    Sie müssen lediglich den User-Agent für JavaScript-Code (navigator.userAgent) mit derselben Zeichenfolge neu definieren, die im HTTP-Header gesendet wurde.

[.... als Ausgangspunkt, wenn jemand ein besseres Addon schreiben möchte]

Mila Nautikus
quelle