[Php-it] problema con sessioni e query_string...

Alessandro Marinuzzi alecosnet at inwind.it
Sat May 5 16:16:43 CEST 2007


Cristiano Verondini ha scritto:
> On 05/mag/07, at 12:17, Alessandro Marinuzzi wrote:
>
>> Ho notato che molti siti che hostano script vari usano questo sistema
>> per redirigere l'utente verso il sito dell'autore e non la encodano per
>> niente... il problema me lo sono posto io ma non riesco a encodare l'url
>> visto che ad ogni submit il valore cambia di continuo per cui se io
>> faccio un base64_encode($path) e poi un base64_decode($path) il valore
>> non corrisponde perchè ad ogni submit il valore già encodato viene
>> nuovamente encodato tanta volte tante quanti sono i submit per cui non
>> riuscirei mai ad ottenere alla fine la pgina originale e perfettamente
>> decodificata. Ho provato con le sessioni ma appeno memorizzo un dato
>> nella sessione capita che se poi l'utente cambia url si ritrova il
>> valore della sessione precedente ancora in piedi e non posso distruggere
>> la sessione perchè otterrei un valore "vuoto"... mi sa che questa è
>> davvero difficile da risolvere...
>
>     Non intendevo encodare tutta l'URL, ma solamente la parte che
> contiene il nome della pagina/script. Sinceramente non lo trovo
> comunque adeguato, ma se lo devi fare direi che questo è il metodo più
> sicuro. E quando dico 'encodare' intendo anche che puoi avere lato
> server una tabella di decodifica, e sull'URL passi solo un 'codice'.
>
> --Cristiano Verondini
> http://www.verondini.it  ---  [ICQ 114 190]
>
Mi è venuta in mente una cosa del genere... molto banale ma che non
funziona perchè ad ogni submit viene aggiunto $host...

if ((isset($page)) || (!empty($page))) {
  $path = stripslashes(str_replace("../", "", "http//$host/$page"));
}

in pratica mi ritrovo ad avere:

ponendo di avere come $path = ../download.php

http://www.sitoweb.it/web/send.php&lang=it&page=http://www.sitoweb.it/download.php
e questo va bene ma appena faccio un submit diventa:
http://www.sitoweb.it/web/send.php&lang=it&page=http://www.sitoweb.it/http://www.sitoweb.it/download.php

qualche soluzione utile ? visto che l'utente non è in grado di creare
una tabella di riferimento per i path relativi e quindi devo consegnare
la cosa per i non addetti al lavoro ;-)

-- 
Alessandro Marinuzzi
--------------------
http://www.alecos.it
--------------------



More information about the Php-it mailing list