Envoyer un en-tête HTTP personnalisé à un certain hôte uniquement

11

Existe-t-il un moyen (module complémentaire Firefox ou environ: paramètre de configuration) d'envoyer un en-tête HTTP personnalisé pour les demandes à un certain hôte?

Exemple: envoyez l'en-tête Foobar: truesi (et seulement si) je demande une ressource à l'hôte foo.example.com.

Des points bonus si le protocole peut également être spécifié (par exemple, n'envoyez l'en-tête que lors d'une demande via HTTPS).

(voir ma question Utiliser un «mot de passe» supplémentaire dans Referer pour masquer un site privé? sur IT Security SE pour savoir pourquoi j'aimerais le faire)

Ce que j'ai trouvé jusqu'à présent

unor
la source

Réponses:

6

Si vous n'êtes pas limité par Firefox, vous pouvez utiliser l'extension Header Hacker de Google Chrome .

Il offre:

  1. en-têtes de demande personnalisés (vous pouvez ajouter de nouveaux en-têtes ou remplacer ceux existants)
  2. en-têtes permanents pour les hôtes spécifiés (vous pouvez ajouter de nouveaux en-têtes ou remplacer ceux existants)

Pour que vous puissiez résoudre votre problème avec la deuxième fonctionnalité.

J'utilise beaucoup l'extension et cela fonctionne bien pour moi.

ajukraine
la source
Merci. Je suis limité à Firefox, mais votre réponse pourrait bien sûr être utile pour les autres. :)
unor
1
Le lien est rompu
Taha Jahangir
1
@TahaJahangir, le responsable de l'extension, a récemment changé le nom de l'application. J'ai mis à jour le lien brisé. Et oui, les extensions sont vraiment utiles - je l'utilise quotidiennement
ajukraine
que se passe-t-il si l'extension a un bogue, ou l'extension ne fonctionne pas avec la version du navigateur que vous souhaitez ou si les développeurs ont simplement arrêté de mettre à jour les extensions? Je vois cela se produire pour la plupart, sinon toutes les extensions Firefox qui vous permettent d'ajouter / modifier des en-têtes de demande.
MasterJoe2
5

Le module complémentaire Firefox, Header Tool, fait ce que vous recherchez: https://addons.mozilla.org/en-us/firefox/addon/header-tool/

Je viens de l'essayer pour limiter mon en-tête de demande personnalisé à localhost.

Rayon
la source
1
que se passe-t-il si l'extension a un bogue, ou l'extension ne fonctionne pas avec la version du navigateur que vous souhaitez ou si les développeurs ont simplement arrêté de mettre à jour les extensions? Je vois cela se produire pour la plupart, sinon toutes les extensions Firefox qui vous permettent d'ajouter / modifier des en-têtes de demande.
MasterJoe2
2
Cette extension a disparu avec Firefox 57.
Jason R. Coombs
2

Depuis la sortie de Firefox 57, j'ai trouvé que le plugin Modify Header Value faisait l'affaire.

Modifier la valeur d'en-tête peut ajouter, modifier ou supprimer un en-tête de demande HTTP pour toutes les demandes sur un site Web ou une URL souhaité.

Jason R. Coombs
la source
0

au cas où vous auriez besoin d'usurper votre agent utilisateur:

Chaîne UserAgent personnalisée : "Ajoutez une chaîne d'agent utilisateur personnalisée pour les URL ou domaines souhaités."
cet addon ne changera pas votre user-agent javascript.

pour changer également le JS UA, ajoutez ce script utilisateur à 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)'
});

ces extensions obsolètes ne fonctionnent pas avec Firefox actuel:

  • UAControl : Cette extension vous permettra de contrôler quelle chaîne est envoyée en tant qu'en-tête de l'agent utilisateur par HTTP, pour chaque site (domaine).
    Notez que cela ne peut pas contrôler la chaîne native de l'agent utilisateur utilisée par JavaScript (par exemple, navigator.userAgent).
  • ua-site-switch : changez l'agent utilisateur pour le domaine actuel.
    L'UA n'est modifié que dans l'en-tête HTTP de la demande, ce qui n'empêche pas Javascript de déterminer l'UA réel.
    Si vous devez changer l'UA au niveau javascript, vous pouvez utiliser un joli module complémentaire appelé User-Agent JS Fixer.
  • User-Agent JS Fixer : cet addon peut changer l'agent utilisateur JavaScript sur une base par site, plutôt que de changer pour toute la session.
    Il ne fait rien par lui-même, mais il complète les fonctionnalités d'un autre addon comme UAControl ou ua-site-switch. Aucune configuration supplémentaire n'est requise, il utilise les mêmes paramètres d'eux.
    Tout ce qu'il fait est de redéfinir le code User-Agent pour JavaScript (navigator.userAgent) en utilisant la même chaîne que celle envoyée sur l'en-tête HTTP.

[.... comme point de départ, si quelqu'un veut écrire un meilleur addon]

Mila Nautikus
la source