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: true
si (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
- La question Les extensions du navigateur pour modifier automatiquement les en-têtes HTTP? est similaire, mais cherche un moyen d’y parvenir (par exemple avec l’aide de mandataires locaux) et pas nécessairement pour Firefox
- Vous pouvez créer des en-têtes personnalisés avec le module complémentaire Modify Headers , mais cela ne me permet pas de restreindre les hôtes, il enverra donc les en-têtes personnalisés pour toutes les demandes
- Il existe des modules complémentaires qui permettent de définir des valeurs personnalisées pour certains en-têtes HTTP par hôte:
- RefControl pour
Referer
- HeaderControlRevived pour
User-Agent
,Referer
etAccept-Language
- RefControl pour
- Questions connexes:
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.
la source
Depuis la sortie de Firefox 57, j'ai trouvé que le plugin Modify Header Value faisait l'affaire.
la source
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:
ces extensions obsolètes ne fonctionnent pas avec Firefox actuel:
Notez que cela ne peut pas contrôler la chaîne native de l'agent utilisateur utilisée par JavaScript (par exemple, navigator.userAgent).
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.
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]
la source