Precedente :: Successivo |
Autore |
Messaggio |
cadregun Eroe in grazia degli dei

Registrato: 03/12/07 16:11 Messaggi: 82
|
Inviato: 04 Dic 2007 13:25 Oggetto: autenticazione per accedere ad un sito. |
|
|
ciao ragazzi....
vi ho scoperto per caso.... ma devo dire che ho trovato un pozzo dove attingere.....
dopo la sviolinata.... ecco il quesito....
gestisco un sito (creato con poche nozioni imparate amatorialmente)
per accedervi bisogna inserirvi user e pass....
l'unico neo che se conosco già la pagina finale dopo essermi loggato
posso arrivarci ugualmente senza log in....
è un poco confusionato.... però spero di essere chiaro.
la mia domanda è... potete aiutarmi o suggerirmi qualche tipo di script
da inserire (con le istruzioni su come e dove inserirlo ....) per eliminare questo
problema....
grazie.... mille..  |
|
Top |
|
 |
kluster Dio maturo

Registrato: 15/04/06 13:14 Messaggi: 2898
|
Inviato: 04 Dic 2007 14:03 Oggetto: |
|
|
che linguaggio server supporta il tuo server? ASP, PHP?
L'ultima modifica di kluster il 04 Dic 2007 14:11, modificato 1 volta |
|
Top |
|
 |
SverX Supervisor Macchinisti


Registrato: 25/03/02 12:16 Messaggi: 11807 Residenza: Tokelau
|
Inviato: 04 Dic 2007 14:11 Oggetto: Re: autenticazione per accedere ad un sito. |
|
|
cadregun ha scritto: | l'unico neo che se conosco già la pagina finale dopo essermi loggato posso arrivarci ugualmente senza log in.... |
di solito in questi casi si utilizzano le sessioni: al login crei una sessione e setti delle variabili, all'accesso alla pagina in questione controlli se le variabili di prima esistono e valgono il valore che ti aspetti: se sì ok se no redirigi sulla pagina di login, questo a prescindere dal linguaggio che userai (PHP/ASP/JSP etc)
dicci di più  |
|
Top |
|
 |
cadregun Eroe in grazia degli dei

Registrato: 03/12/07 16:11 Messaggi: 82
|
Inviato: 04 Dic 2007 15:34 Oggetto: |
|
|
che linguaggio supporta...... mmmmm
bella domanda....
queste pagine web sono su altervista.... (magari vi può aiutare)
dirvi di più....
datemi degli input.... per favore.... non sono tecnico...
vi ho esposto grossolanamente il problema.... ...  |
|
Top |
|
 |
SverX Supervisor Macchinisti


Registrato: 25/03/02 12:16 Messaggi: 11807 Residenza: Tokelau
|
Inviato: 04 Dic 2007 16:55 Oggetto: |
|
|
cadregun ha scritto: | che linguaggio supporta...... mmmmm
bella domanda....
queste pagine web sono su altervista.... (magari vi può aiutare) |
Google dice
Citazione: | AlterVista | Paint Your Web
Offre 100 MB di spazio web espandibile, con supporto PHP e MySQL, possibilità di guadagnare esponendo banner sul proprio sito.
www.altervista.org/ |
quindi direi PHP... |
|
Top |
|
 |
cadregun Eroe in grazia degli dei

Registrato: 03/12/07 16:11 Messaggi: 82
|
Inviato: 04 Dic 2007 17:06 Oggetto: |
|
|
ok linguaggio PHP ( )
e adesso....  |
|
Top |
|
 |
SverX Supervisor Macchinisti


Registrato: 25/03/02 12:16 Messaggi: 11807 Residenza: Tokelau
|
Inviato: 04 Dic 2007 17:10 Oggetto: |
|
|
cadregun ha scritto: | ok linguaggio PHP ( )
e adesso....  |
e adesso leggi questo |
|
Top |
|
 |
cadregun Eroe in grazia degli dei

Registrato: 03/12/07 16:11 Messaggi: 82
|
Inviato: 04 Dic 2007 17:17 Oggetto: |
|
|
SverX ha scritto: | cadregun ha scritto: | ok linguaggio PHP ( )
e adesso....  |
e adesso leggi questo |
non avertene male.... ma non ho capito un tubo....!
io non mastico queste cose.....
pensavo fosse leggermente più semplice....  |
|
Top |
|
 |
SverX Supervisor Macchinisti


Registrato: 25/03/02 12:16 Messaggi: 11807 Residenza: Tokelau
|
Inviato: 04 Dic 2007 17:26 Oggetto: |
|
|
cadregun ha scritto: | pensavo fosse leggermente più semplice... |
ma non è difficile!
Subito dopo l'autenticazione, se riuscita, usi le due funzioni:
Codice: | session_start ( )
session_register ( mixed name [, mixed ...] ) |
con la prima 'apri' una sessione, con la seconda registri delle varibili, ad esempio SESSION_DATA.
Nella pagina dove NON si deve entrare se non sei loggato controlli se esiste la variabile citata sopra, facendo una IF di
Codice: | isset($SESSION_DATA) |
se è falsa vuol dire che non sei nella sessione  |
|
Top |
|
 |
cadregun Eroe in grazia degli dei

Registrato: 03/12/07 16:11 Messaggi: 82
|
Inviato: 04 Dic 2007 18:30 Oggetto: |
|
|
ok.... tu mi dici che non è difficile.... ma perché tu sai di che cosa stai parlando......
io ho la nebbia..... davanti 8)
pensavo che ci fossero (non sò dove...) dei codici belli che fatti....
con le loro belle istruzioni..... che ti dicessero devi mettere questo codice qui/li o là......
lo sò chiedo troppo.... |
|
Top |
|
 |
freemind Supervisor sezione Programmazione


Registrato: 04/04/07 21:28 Messaggi: 4643 Residenza: Internet
|
Inviato: 04 Dic 2007 18:35 Oggetto: |
|
|
Attenzione ad una cosa molto importante.
Se chi ti offre lo spazio ha bloccato lato webserver le sessioni, non riuscirai mai a gestire un login basato su questo metodo.
Capita che nei pacchetti tipo: "Ti do tutto per un cazzo!" impostino in modo molto restrittivo il webserver. Loro giustificano con il discorso sicurezza, in realtà è solo un modo per obbligarti a pagare di più per poter muoverti più liberamente.
Ho avuto questo problema con un'azienda di hosting e ho perso 15.638 anni di vita per inventarmi un login senza sessioni, senza cookies.
Non ti posto la soluzione xchè implica un db mysql e comunque è una cosa brutta e complessa. |
|
Top |
|
 |
SverX Supervisor Macchinisti


Registrato: 25/03/02 12:16 Messaggi: 11807 Residenza: Tokelau
|
Inviato: 04 Dic 2007 19:55 Oggetto: |
|
|
freemind ha scritto: | ho perso 15.638 anni di vita per inventarmi un login senza sessioni, senza cookies.
Non ti posto la soluzione xchè implica un db mysql e comunque è una cosa brutta e complessa. |
una tabella delle sessioni su un db e un parametro passato via GET (o POST) tra una pagina e l'altra? O sono fuori strada? |
|
Top |
|
 |
SverX Supervisor Macchinisti


Registrato: 25/03/02 12:16 Messaggi: 11807 Residenza: Tokelau
|
Inviato: 04 Dic 2007 19:58 Oggetto: |
|
|
cadregun ha scritto: | pensavo che ci fossero (non sò dove...) dei codici belli che fatti.... con le loro belle istruzioni..... che ti dicessero devi mettere questo codice qui/li o là......
lo sò chiedo troppo.... |
guarda che è quello che ho fatto... certo che se non ti va neanche di provare...
basterebbe fare due paginette di prova: a.php e b.php
nella prima (a.php) metti la session_start e la session_register, nella seconda (b.php) metti la isset().
Poi richiami la b.php per prima, deve dirti "Non puoi entrare!". Poi richiami la a.php e dopo dinuovo la b.php che ti dovrà dire "Benvenuto!"...
edit: cercando su Google vedo che ci sono vari tutorial... |
|
Top |
|
 |
freemind Supervisor sezione Programmazione


Registrato: 04/04/07 21:28 Messaggi: 4643 Residenza: Internet
|
Inviato: 06 Dic 2007 01:41 Oggetto: |
|
|
Per quel che riguarda l'autenticazione senza usare le sessioni:
praticamente ho fatto più o meno quello che hai detto tu SverX però con la complicazione (ed è questo che mi ha incasinato) di dover essere sicuro di poter discriminare eventualmente lo stesso utente loggato contemporaneamente da più pc appartenenti alla stessa rete.
In pratica non mi bastava per l'utente x creare in tabella la sessione e dare a x un id da passare in get o in post perchè limitandomi a questo se x si loggava da due pc "nattati" (usavo l'ip come parti del discriminante) al secondo login questo risultava già loggato.
Altre idee non me ne sono venute all'epoca così come tuttora.
Cadregun dovresti provare a seguire il consiglio di SverX che è l'idea migliore nel caso tu non avessi i limiti da me menzionati |
|
Top |
|
 |
cadregun Eroe in grazia degli dei

Registrato: 03/12/07 16:11 Messaggi: 82
|
Inviato: 06 Dic 2007 10:17 Oggetto: |
|
|
lo seguirei anche... se solo sapessi cosa bisogna fare.....
per capirci io le pagine html le faccio con frontpage.... e mi limito a d inserire immagini scritte e via dicendo....
non sono un vate della programmazione.....
scusate. |
|
Top |
|
 |
SverX Supervisor Macchinisti


Registrato: 25/03/02 12:16 Messaggi: 11807 Residenza: Tokelau
|
Inviato: 06 Dic 2007 10:18 Oggetto: |
|
|
freemind ha scritto: | In pratica non mi bastava per l'utente x creare in tabella la sessione e dare a x un id da passare in get o in post perchè limitandomi a questo se x si loggava da due pc "nattati" (usavo l'ip come parti del discriminante) al secondo login questo risultava già loggato.
Altre idee non me ne sono venute all'epoca così come tuttora. |
per generare un id pseudounivoco potresti fare un hash (MD5, per dire) di dati come IP, data/ora e un numero che cambia sempre, ad esempio un progressivo generato dal db...
così due utenti con lo stesso IP, anche loggandosi nello stesso istante, avrebbero una chiave di sessione diversa  |
|
Top |
|
 |
freemind Supervisor sezione Programmazione


Registrato: 04/04/07 21:28 Messaggi: 4643 Residenza: Internet
|
Inviato: 06 Dic 2007 18:13 Oggetto: |
|
|
@SverX: esatto ma io avevo la complicazione che un utente poteva loggarsi più volte contemporaneamente anche da pc con lo stesso ip.
Ad esempio:
utente pluto su pc1 con ip pubblico: x,y,z,t
e utente pluto su pc2 con ip pubblico x,y,z,t
nella lan pc1 e pc2 ovviamente hanno 2 ip ma su internet hanno lo stesso e per di più 'sto maledetto pluto sta lavorando da due pc contemporaneamente.
Limitandomi ad usare ip + data/ora + numero random non riuscivo a distinguire la sessione di pluto su pc1 da quella di pluto su pc2 (ovviamente non è che poteva bastare dire, ok, il secondo pluto si attacca alla precedente versione).
Ho in poche parole dovuto implementare lo stesso concetto del multiuser/multisessione senza poter usare le sessioni.
La mia vita da qual giorno ha smesso di sorridermi ;-( |
|
Top |
|
 |
SverX Supervisor Macchinisti


Registrato: 25/03/02 12:16 Messaggi: 11807 Residenza: Tokelau
|
Inviato: 07 Dic 2007 10:58 Oggetto: |
|
|
freemind ha scritto: | @SverX: esatto ma io avevo la complicazione che un utente poteva loggarsi più volte contemporaneamente anche da pc con lo stesso ip. |
Follia pura!!!
però al login sul secondo PC avresti potuto localizzare -utilizzando lo username- la sessione già attiva di quell'utente e agganciarti a quella esistente senza crearne una nuova...
boh, forse per me è più facile perchè tanto non sono stato io a doverla fare
 |
|
Top |
|
 |
|