Newsgroup: it.comp.www.asp
Titolo: verificare pagina di provenienza

ho un modulo di iscrizione diviso in tre sezioni:
registrazione.asp
addMember.asp
benvenuto.asp
in registrazione.asp ho il form per l'immisione dei dati che dopo una rapida
verifica(effettuata in javascipr) vengono passati allo script addMember.asp
che li verifica in modo + accurato, provvede ad aggiornare il database e
crea delle variabli session con tutti i valori inseriti ed infine viene
caricata la pagina benvenuto.asp con il riepilogo di tutti i dati inseriti
dall'utente.
il mio problema
in pratica io vorrei che lo script addMember.asp venisse eseguito solo ed
esclusivamente se chi ci accede proviene dalla pagina registrazione.asp
attualmente per questa operazione uso una variabile session che viene creata
in registrazione.asp e verificata all'ingresso di addMember.asp per poi
essere subito eliminata........... ma non mi sembra un buon metodo
esiste un metodo per verificare la pagina(l'url) da cui proviene la
richiesta dello script addMember.asp
spero di essere stato abbastanza chiaro....

 essere subito eliminata........... ma non mi sembra un buon metodo
A me sembra la soluzione migliore: l'unico problema è se uno sa come hai
chiamato la variabile di sessione.
Puoi anche fare un ulteriore controllo usando document.URL: nella prima
pagina crei un campo nascosto che contiene l'URL della pagina corrente... il
problema è sempre che se uno sa "smanettare" un po' ti frega.
Io opterei per la var. di sessione.

 writes:
A> attualmente per questa operazione uso una variabile session che viene creata
A> in registrazione.asp e verificata all'ingresso di addMember.asp per poi
A> essere subito eliminata........... ma non mi sembra un buon metodo
A> esiste un metodo per verificare la pagina(l'url) da cui proviene la
A> richiesta dello script addMember.asp
Queste  informazioni  ti arriverebbero  dal  client.  Quindi sono  per
definizione modificabili a piacere da chi usa il client...
Già definire  una variabile session in  registrazione.asp e verificare
che   sia   correttamente   valorizzata   in   addmember.asp   ti   fa
implicitamente  verificare   che  chi  richiama   addmember.asp  abbia
preventivamente  ricevuto il  cookie  di sessione  che  gli era  stato
inviato quando ha ricevuto il form generato da registrazione.asp e non
arriva "dall'esterno".
Maggiore controllo, metti nella  variabile Session una stringa casuale
molto  lunga  e  la  metti   in  una  variabile  hidden  del  form  di
registrazione, quando riottieni i  dati indietro hai la possibilità di
verificare che la stringa del  form coincide con quella generata prima
a caso (e l'utente è quindi passato per registrazione.asp)
Controllo ulteriore, prima di metter la stringa nella variabile hidden
la cripti, cosicchè, potendola decriptare con la stessa chiave, hai la
sicurezza di averla generata tu. E via di paranoia.
--
Gian Uberto| main(){printf(&unix["\021%six\012\0"],(unix)["have"]+"fun"-0x60);}
Lauri      |                        David Korn, 1987 ioccc best one liner 
(aka saint)|-------------------------------------------------------------------
em@ail: 
sa...@eng.it
 ( vedere X-nospam nello header - see X-nospam in header )


Se scrivi in addmember.asp:
pagina=request.servervariables("HTTP_REFERER")
nella variabile pagina avrai l'url completo della pagina che ha richiamato
addmember.asp. Es:
http://www.tuosito.com/registrazione.asp
Ti sarà sufficiente un controllo per capire da dove proviene il visitatore.
Ciao,
Andrea Z.

 writes:
A> 
http://www.tuosito.com/registrazione.asp
A> Ti sarà sufficiente un controllo per capire da dove proviene il visitatore.
Vero,  salvo che  il  visitatore  non abbia  inviato  uno header  HTTP
(l'informazione mi pare viaggi lì dentro) 'contraffatto'...


 sicurezza di averla generata tu. E via di paranoia.
Questa ritengo che sia la soluzione migliore ma ho un piccolissimo
problema...... non ho mai fatto uso di strumenti del genere...... sapresti
indicarmi un sito dove attingere informazioni a riguardo..... magari con
esempi =))))))

> sicurezza di averla generata tu. E via di paranoia.
A> Questa ritengo che sia la soluzione migliore ma ho un piccolissimo
A> problema......
Guarda, già  lo generare a  caso il "cookie"  (non è uno  cookie http,
oddio, potresti però usare quelli al posto dell'hidden field, tanto se
vuoi   che  usino   un'applicazione   ASP  i   cookie  devono   essere
abilitati...) come  una lunga sequenza  di simboli rende arduo  ad una
persona indovinare il  valore "giusto" (esistono 6.634.204.312.890.625
sequenze  diverse di  8  carratteri 'stampabili'  ASCII), l'uso  della
criptazione  diviene quasi  paranoia. Algoritmi  personalmente  non ne
conosco salvo  variazioni del cifrario  di Cesare, ma anche  di questo
non saprei dirti dove trovarti implementazioni pronte...


farň come dici tu....grazie per l'interessamento
=)))

Ho comprato uno spazio hosting su 9Net, che mi sembrava offrire un buon
pacchetto ad un prezzo decente.
Non ho grossi problemi, anche se il pannello di controllo, secondo me, č
migliorabile.
L'inconveniente piů grave, a mio avviso, č il fatto che non sia possibile
installare dei componenti aggiuntivi.
Non mi riferisco a componenti personalizzati, ma a componenti testati,
eventualmente a pagamento, anche.
Nel caso specifico, volevo installare un componente per iltrattamento delle
immagini (generazione di thumbnail dall'immagine originale), ma mi hanno
risposto che per motivi di sicurezza del sistema non installano componenti
aggiuntivi. Ho anche chiesto quali componenti sono giŕ installati, ma non mi
hanno risposto.
Mi sembra una cosa assurda. Non dico che si debba installare qualunque
componente richiesto dal cliente, ma almeno quelli fondamentali o quelli piů
utiulizzati, sě. Tanto piů che sono testati.
Fine dell'OT.

 installare dei componenti aggiuntivi.
Lavoro anche io con 9netave, e ho avuto lo stesso problema per un componente
per la spedizione di mail; l'unica soluzione è stata arrangiarmi con CDONTS.
Prova a mandare un trouble ticket per conoscere i componenti installati,
anche se dubito che ti stileranno la lista.
La risposta tipo ai tuoi dubbi è: "Per fare quello che vuole Lei deve
passare all'hosting".
lire 5.500.000 + I.V.A.
(
http://www.9netave.it/services/dserver/listinont.asp
, il prezzo al
pubblico)


Allora mi fai venire un dubbio! :)
E' possibile in ASP contraffare l'header per far passare come "chiamante"
un'altra pagina di un altro sito? Sinceramente non lo sapevo.
Ciao,
Andrea Zani