Invia un'intestazione HTTP personalizzata a un solo host


11

Esiste un modo (componente aggiuntivo di Firefox o about: impostazione di configurazione) per inviare un'intestazione HTTP personalizzata per le richieste a un determinato host?

Esempio: invia l'intestazione Foobar: truese (e solo se) richiedo una risorsa dall'host foo.example.com.

Punti bonus se è possibile specificare anche il protocollo (ad es. Inviare l'intestazione solo quando si richiede su HTTPS).

(vedi la mia domanda Utilizzare "password" aggiuntiva in Referer per nascondere un sito privato? su IT Security SE sul motivo per cui mi piacerebbe farlo)

Quello che ho trovato finora

Risposte:


6

Se non sei limitato con Firefox, puoi utilizzare l'estensione Header Hacker di Google Chrome .

Fornisce:

  1. intestazioni di richiesta personalizzate (puoi aggiungere nuove intestazioni o sovrascrivere quelle esistenti)
  2. intestazioni permanenti per host specifici (puoi aggiungere nuove intestazioni o sovrascrivere quelle esistenti)

In modo che tu possa risolvere il tuo problema con la seconda funzione.

Sto usando l'estensione molto e funziona bene per me.


Grazie. Sono limitato a Firefox, ma la tua risposta potrebbe ovviamente essere utile per gli altri. :)
unor

1
Il collegamento è interrotto
Taha Jahangir,

1
@TahaJahangir il manutentore dell'estensione ha recentemente cambiato il nome dell'app. Ho aggiornato il link non funzionante. E sì, le estensioni sono davvero utili - lo sto usando quotidianamente
ajukraine

cosa succede se l'estensione ha un bug o l'estensione non funziona con la versione del browser che desideri o se gli sviluppatori hanno semplicemente smesso di aggiornare le estensioni? Vedo che ciò accade per la maggior parte, se non per tutte le estensioni di Firefox che consentono di aggiungere / modificare le intestazioni delle richieste.
MasterJoe2 il

5

Il componente aggiuntivo di Firefox, Header Tool, fa quello che stai cercando: https://addons.mozilla.org/en-us/firefox/addon/header-tool/

Ho appena provato a limitare l'intestazione della mia richiesta personalizzata a localhost.


1
cosa succede se l'estensione ha un bug o l'estensione non funziona con la versione del browser che desideri o se gli sviluppatori hanno semplicemente smesso di aggiornare le estensioni? Vedo che ciò accade per la maggior parte, se non per tutte le estensioni di Firefox che consentono di aggiungere / modificare le intestazioni delle richieste.
MasterJoe2 il

2
Questa estensione è defunta con Firefox 57.
Jason R. Coombs,

2

Dalla versione di Firefox 57, ho scoperto che il plug-in Modify Header Value fa il trucco.

Modifica valore intestazione può aggiungere, modificare o rimuovere un'intestazione richiesta HTTP per tutte le richieste su un sito Web o URL desiderato.


0

nel caso in cui sia necessario falsificare il proprio user-agent:

Stringa UserAgent personalizzata : "Aggiungi una stringa useragent personalizzata per gli URL o i domini desiderati."
questo addon non cambierà il tuo user-agent javascript.

per cambiare anche JS UA, aggiungi questo script utente a 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)'
});

questi componenti aggiuntivi obsoleti non funzionano con l'attuale Firefox:

  • UAControl : questa estensione ti consentirà di controllare quale stringa viene inviata come User-Agent nell'intestazione HTTP, per ogni sito (dominio).
    Si noti che questo non può controllare la stringa nativa User-Agent utilizzata da JavaScript (ad esempio navigator.userAgent).
  • ua-site-switch : cambia l'agente utente per il dominio corrente.
    UA viene modificato solo nell'intestazione HTTP della richiesta, quindi non impedisce a Javascript di determinare il reale UA.
    Se è necessario modificare UA a livello di JavaScript, è possibile utilizzare un bel componente aggiuntivo chiamato User-Agent JS Fixer.
  • Fixer JS User-Agent : questo componente aggiuntivo può modificare JavaScript User-Agent in base al sito, anziché modificarlo per l'intera sessione.
    Non fa nulla da solo, ma integra le funzionalità di un altro componente aggiuntivo come UAControl o ua-site-switch. Non è richiesta alcuna configurazione aggiuntiva, utilizza le stesse impostazioni da loro.
    Tutto ciò che fa è ridefinire il codice User-Agent per JavaScript (navigator.userAgent) utilizzando la stessa stringa che è stata inviata sull'intestazione HTTP.

[.... come punto di partenza, se qualcuno vuole scrivere un componente aggiuntivo migliore]

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.