Squid Redirect Url

script in Perl per il controllo della rispondenza dell’url in ingresso

in questo post ho descritto la funzione di redirect, lo script proposto è utilizzato al fine di controllare che le richieste al Reverse Proxy siano coerenti con il servizio pubblicato

#!/usr/bin/perl
use strict;

$|=1;
## read from standard input
while (<>) {
my @X = split;
my $url = $X[0];

## ###### Dichiarazione output $url proveniente da SQUID per TEST ############
## my $filename = “/squid/Redirect/test.txt”;
## open FILE, “>>$filename”;
## print FILE $url;
## print FILE “n”;
## close FILE;
## ###### FINE  Dichiarazione output $url proveniente da SQUID per TEST ############

## eccezione per l’accesso in http di pagine con nome 9001 e 9002 .jnlp
if ($url =~ m#^http://[^/]*(/)Portale/900[12].jnlp#i) {
print “$urln”;
}

## Controllo formale che l’url abbia un contesto sia HTTP che HTTPS
if ($url =~ m#^https?://[^/]*(/)?$#i) {
print “302:http://www.subdom.dom.it/index.php?id=893n&#8221;;
}

## Controllo formale che l’url sia in HTTPS con l’url puntule altrimenti esco
if ($url !~ m#https://www.subdom.dom.it/Portale(/.*)#i) {
print “302:http://www.subdom.dom.it/index.php?id=893n&#8221;;
}

## controllo che la chiamata sia in https se arriva in http redirigo in https
if ($url =~ m#^http:/(/.*)?#i) {
print “302:https://www.subdom.dom.itn&#8221;;

}

else {

print “$urln”;

}

}

NOTA   ($url =~ m#^http:/(/.*)?#i)  è il confronto in Perl   con al relativa regex di confronto per la coerenza dell’URL in ingresso.

La parte di scrittura in un file test.txt della variabile $url è utile per identificare puntualmente quello che viene gestito dallo script.

Annunci

Rispondi

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...