Vai al contenuto

Trova e sostituisci ​

Trova e sostituisci modifica automaticamente il traffico mentre attraversa il proxy, senza pause né interventi manuali su ogni richiesta.

Come funzionano le regole ​

Ogni regola definisce cosa cercare e cosa farne. Quando una richiesta o risposta corrisponde alle condizioni, la regola applica immediatamente la sua trasformazione.

Le regole si applicano nell'ordine in cui appaiono nell'elenco. Se due regole agiscono sulla stessa intestazione, la prima regola corrispondente viene applicata per prima e quelle successive vedono il risultato della modifica.

Campi di una regola ​

CampoDescrizione
NomeEtichetta della regola. Usa un nome descrittivo per identificarne la finalità.
DirezioneSe la regola si applica a richieste, risposte o entrambe
OperazioneQuale trasformazione eseguire (vedi la tabella delle operazioni sotto)
Modalità di corrispondenzaLetterale, espressione regolare o contenuto completo, a seconda dell'operazione
Valore da trovareLa stringa o il pattern da cercare
Valore sostitutivoIl valore da inserire come sostituzione
AttivatoInterruttore per attivare o disattivare la regola senza eliminarla
FiltriCondizioni facoltative di metodo, host, percorso e HTTPQL che limitano dove si applica la regola

Operazioni ​

OperazioneCosa fa
Aggiungi intestazioneAggiunge una nuova intestazione con nome e valore fissi
Rimuovi intestazioneElimina un'intestazione per nome
Sostituisci intestazioneSostituisce il valore di un'intestazione esistente
Sostituisci corpoSostituisce una parte del corpo usando il valore da trovare
Percorso / query / parametro di queryCambia il percorso della richiesta o i valori della query
Riga di richiesta / rispostaCambia il componente selezionato della riga iniziale HTTP
Codice di statoCambia lo stato di una risposta
Messaggio grezzoTrasforma insieme la riga iniziale HTTP, le intestazioni e il corpo
Payload WebSocketSostituisce il contenuto corrispondente dei messaggi del client/server
Flusso di lavoroEsegue un flusso di tipo Converti attivato sul contenuto selezionato

Modalità di corrispondenza ​

Letterale corrisponde alla stringa esatta. Usala per token fissi, nomi di intestazioni o valori specifici.

Espressione regolare cerca corrispondenze usando un'espressione regolare. Usala quando il target varia, ad esempio per trovare un token che cambia a ogni sessione o per acquisire e riutilizzare un gruppo nella sostituzione.

Nelle sostituzioni con espressioni regolari, usa i gruppi di cattura con $1, $2, ecc. per referenziare le parti corrispondenti nel valore sostitutivo.

Completa passa tutto il contenuto selezionato alla trasformazione anziché cercare una sottostringa. Alcune operazioni, come aggiungere/rimuovere un'intestazione con nome, usano invece un nome letterale e non offrono tutte le modalità.

Trasformare un corpo di risposta completo ​

  1. Crea e attiva un flusso di tipo Converti, quindi validalo con dati di prova.
  2. Crea una regola di Trova e sostituisci con direzione Risposta e operazione Flusso di lavoro (corpo).
  3. Scegli la modalità di corrispondenza Completa e seleziona il flusso.
  4. Limita la regola con un filtro HTTPQL, ad esempio:
text
req.host.eq:"cdn.example.com" AND (req.path.cont:".js" OR resp.headers["Content-Type"].value.cont:"javascript")

Il flusso riceve l'intero corpo; il suo output sostituisce quel corpo. Flusso di lavoro (intestazione) trasforma un'intestazione con nome, mentre Flusso di lavoro (intestazioni grezze) trasforma il blocco delle intestazioni. Sono input diversi dal corpo della risposta.

I filtri HTTPQL vengono verificati nel contesto di richiesta/risposta disponibile. Una regola con direzione richiesta non può dipendere da una risposta che non è ancora arrivata. Disattiva la registrazione del flusso quando la regola produce un volume elevato di esecuzioni; attivala temporaneamente per diagnosticare una trasformazione.

Riordinare le regole ​

Trascina una riga di regola per riposizionarla nell'elenco. L'ordine conta quando le regole modificano parti sovrapposte della stessa richiesta o risposta.

Assistenza IA ​

Fai clic su Assistenza IA nell'editor della regola e descrivi in linguaggio naturale cosa vuoi cambiare. Ogma genera i campi della regola in base alla descrizione. Esamina e modifica i valori generati prima di attivare la regola.

Esempi di istruzioni efficaci:

  • "Rimuovi l'intestazione X-Frame-Options da tutte le risposte"
  • "Sostituisci il valore dell'intestazione Authorization con il mio token di prova"
  • "Aggiungi un'intestazione chiamata X-Debug con valore true a tutte le richieste"

Testare una regola ​

Prima di attivare una regola per il traffico reale, testala con una richiesta di esempio:

  1. Apri l'editor della regola.
  2. Incolla una richiesta HTTP grezza nel pannello Test.
  3. Fai clic su Applica regole. Il pannello mostra il risultato e quali regole sono state applicate.
  4. Verifica che l'output corrisponda alle aspettative.
  5. Attiva la regola.

Il pannello Test ha anche un target Risposta con input di stato, intestazioni e corpo. Controlla l'elenco delle regole applicate: vengono testate le regole applicabili, non solo un campo isolato dell'editor.

Trova e sostituisci e Intercettazione ​

Trova e sostituisci è automatico. Quando una regola è attiva, trasforma ogni richiesta o risposta corrispondente senza alcun intervento da parte tua.

Intercettazione mette in pausa il traffico e attende una decisione manuale. Usa Intercettazione quando la modifica corretta dipende da un contesto da valutare per ogni richiesta. Usa Trova e sostituisci quando la stessa trasformazione deve applicarsi ogni volta senza esame manuale.

Usi comuni ​

  • Sostituire un cookie di sessione in tutte le richieste per testare un altro account.
  • Aggiungere un'intestazione che attiva una modalità di debug o amministrazione.
  • Rimuovere intestazioni di sicurezza dalle risposte per valutare il comportamento lato client.
  • Sostituire un host codificato in modo fisso nelle risposte di reindirizzamento.
  • Riscrivere un prefisso del percorso di richiesta.

Software proprietario. Tutti i diritti riservati.