Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Samsung Micro RGB R95H, il primo LCD a LED rossi, verdi e blu di Samsung alla prova del banco di misura
Samsung Micro RGB R95H, il primo LCD a LED rossi, verdi e blu di Samsung alla prova del banco di misura
Il primo Micro RGB di Samsung per il salotto è il 65 pollici da 2.749 euro. Sul banco di misura abbiamo rilevato 2.000 nit di picco, nero assoluto con il local dimming e il 91,4% del BT.2020, il colore più ampio che abbiamo misurato su un LCD
iPhone 18 Pro: la recensione del miglior iPhone compatto di sempre
iPhone 18 Pro: la recensione del miglior iPhone compatto di sempre
Apple ha rinnovato iPhone 18 Pro soprattutto dentro: chip A20 Pro a 2 nm con memoria affiancata al SoC, camera di vapore tre volte più ampia, Dynamic Island più piccola del 25% grazie a Face ID sotto il display e fotocamera principale con diaframma variabile da f/1.48 a f/4. Lo abbiamo misurato al colorimetro e nei benchmark, usato con iOS 27 e messo alla prova in fotografia tra laghi, borghi e interni poco illuminati
Panasonic, 30 anni di Toughbook: la "Bibbia" di mille regole dietro i nuovi G3 e 34
Panasonic, 30 anni di Toughbook: la "Bibbia" di mille regole dietro i nuovi G3 e 34
A Londra, per il trentennale dei Toughbook, Panasonic ha presentato il tablet G3 e il 2-in-1 34. Con Jon Tucker, a capo dell'ingegneria europea, abbiamo parlato di ciò che non si vede: batterie, antenne, porte seriali e accorgimenti nati sul campo
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 29-10-2009, 14:30   #1
vince860
Member
 
Iscritto dal: Apr 2009
Messaggi: 85
[PHP] Funzionamento di una login

Ho ipotizzato il funzionamento di una login in quanto segue:

Una volta che l'utente inserisce i dati e clicca su "accedi":
  • i dati verranno inseriti all’interno di una query che ricerca un eventuale record con user e pws coincidenti con quelli specificati dall'utente;
  • l'eventuale record individuato dalla query viene letto:
    A) se la query non ha restituito risultati, cioè non vi sono user e pwd coincidenti con quelli dell'utente o un dato differisce, viene mostrato il messaggio di accesso negato
    B) se la query ha avuto successo, cioè ha riscontrato un record con user e pwd coincidenti con quelli inseriti dall'utente, verrà avviata la sessione.

è esatto?
grazie
vince860 è offline   Rispondi citando il messaggio o parte di esso
Old 29-10-2009, 14:40   #2
wingman87
Senior Member
 
Iscritto dal: Nov 2005
Messaggi: 2794
Sì, attento però all'sql injection. Ti linko wikipedia che fa proprio un esempio con php: http://it.wikipedia.org/wiki/SQL_injection
wingman87 è offline   Rispondi citando il messaggio o parte di esso
Old 29-10-2009, 14:42   #3
vince860
Member
 
Iscritto dal: Apr 2009
Messaggi: 85
Quote:
Originariamente inviato da wingman87 Guarda i messaggi
Sì, attento però all'sql injection. Ti linko wikipedia che fa proprio un esempio con php: http://it.wikipedia.org/wiki/SQL_injection
no no tranq mi servono solamente gli step momentaneamente, tralasciando il codice

grazie...
vince860 è offline   Rispondi citando il messaggio o parte di esso
Old 29-10-2009, 16:19   #4
flx2000
Bannato
 
L'Avatar di flx2000
 
Iscritto dal: Nov 2002
Città: Roma
Messaggi: 810
La procedura che hai descritto è esatta, anche se si presta a semplici ma fondamentali ottimizzazioni per evitare i più comuni buchi di sicurezza.
flx2000 è offline   Rispondi citando il messaggio o parte di esso
Old 29-10-2009, 16:33   #5
euphyllia87
Member
 
Iscritto dal: Oct 2009
Città: Varese
Messaggi: 209
Quote:
Originariamente inviato da vince860 Guarda i messaggi
Ho ipotizzato il funzionamento di una login in quanto segue:

Una volta che l'utente inserisce i dati e clicca su "accedi":
  • i dati verranno inseriti all’interno di una query che ricerca un eventuale record con user e pws coincidenti con quelli specificati dall'utente;
  • l'eventuale record individuato dalla query viene letto:
    A) se la query non ha restituito risultati, cioè non vi sono user e pwd coincidenti con quelli dell'utente o un dato differisce, viene mostrato il messaggio di accesso negato
    B) se la query ha avuto successo, cioè ha riscontrato un record con user e pwd coincidenti con quelli inseriti dall'utente, verrà avviata la sessione.

è esatto?
grazie
Per ottimizzare il tutto puoi fare una SELECT COUNT, ovvero contare esattamente un campo a tua scelta (metti l'id utente) con i parametri user AND password passati; ricordati di limitare la query a 1.

Cosa significa? Che quando il motore sql troverà la corrispondenza con i campi, si fermerà li (ottimizzazione) e ti riporterà il valore integer 1.

A posto.
__________________
MacBook White 13.3'' Intel CPU :: 2GB DDR2 800Mhz :: 160Gb :: Mac OS X 10.6 Snow Leopard
euphyllia87 è offline   Rispondi citando il messaggio o parte di esso
Old 29-10-2009, 18:06   #6
vince860
Member
 
Iscritto dal: Apr 2009
Messaggi: 85
Grazie a tutti, mi serve solo una parte "teorica" di come funziona, tralasciando la sintessi
vince860 è offline   Rispondi citando il messaggio o parte di esso
Old 29-10-2009, 20:21   #7
cruyffissimo
Member
 
L'Avatar di cruyffissimo
 
Iscritto dal: Oct 2009
Messaggi: 67
è perfetta come sintesi teorica, se vuoi fare una cosa ganza potresti fare in modo che se l'autenticazione fallisce, mostra il messaggio di errore, e reindirizza al form di login!
__________________
- Sei... Il numero perfetto!
- Ma non era Tre il numero perfetto?
- Si, ma la mia pistola ha sei colpi...

[cit:Il Buono...ne "Il Buono, Il Brutto E Il Cattivo"]
cruyffissimo è offline   Rispondi citando il messaggio o parte di esso
Old 29-10-2009, 22:11   #8
wingman87
Senior Member
 
Iscritto dal: Nov 2005
Messaggi: 2794
Quote:
Originariamente inviato da euphyllia87 Guarda i messaggi
Per ottimizzare il tutto puoi fare una SELECT COUNT, ovvero contare esattamente un campo a tua scelta (metti l'id utente) con i parametri user AND password passati; ricordati di limitare la query a 1.

Cosa significa? Che quando il motore sql troverà la corrispondenza con i campi, si fermerà li (ottimizzazione) e ti riporterà il valore integer 1.

A posto.
Come si limita a uno? Mi interessa per una procedura plsql che devo fare per un progetto dell'uni.
wingman87 è offline   Rispondi citando il messaggio o parte di esso
Old 30-10-2009, 07:09   #9
euphyllia87
Member
 
Iscritto dal: Oct 2009
Città: Varese
Messaggi: 209
Quote:
Originariamente inviato da wingman87 Guarda i messaggi
Come si limita a uno? Mi interessa per una procedura plsql che devo fare per un progetto dell'uni.
coda alla SQL, LIMIT 0,1
__________________
MacBook White 13.3'' Intel CPU :: 2GB DDR2 800Mhz :: 160Gb :: Mac OS X 10.6 Snow Leopard
euphyllia87 è offline   Rispondi citando il messaggio o parte di esso
Old 30-10-2009, 17:51   #10
vince860
Member
 
Iscritto dal: Apr 2009
Messaggi: 85
Mi autoquoto

Quote:
Originariamente inviato da vince860 Guarda i messaggi
l'eventuale record individuato dalla query viene letto
se la query di ricerca del record con user e pwd uguali a quelli inseriti dall'utente NON ha riscontrato valori...........non verrà letto alcun record esatto?
vince860 è offline   Rispondi citando il messaggio o parte di esso
Old 30-10-2009, 20:41   #11
euphyllia87
Member
 
Iscritto dal: Oct 2009
Città: Varese
Messaggi: 209
Quote:
Originariamente inviato da vince860 Guarda i messaggi
Mi autoquoto


se la query di ricerca del record con user e pwd uguali a quelli inseriti dall'utente NON ha riscontrato valori...........non verrà letto alcun record esatto?
No... restituisce un false la query... ovvero riporta un insieme vuoto.
__________________
MacBook White 13.3'' Intel CPU :: 2GB DDR2 800Mhz :: 160Gb :: Mac OS X 10.6 Snow Leopard
euphyllia87 è offline   Rispondi citando il messaggio o parte di esso
Old 31-10-2009, 11:11   #12
vince860
Member
 
Iscritto dal: Apr 2009
Messaggi: 85
Quote:
Originariamente inviato da euphyllia87 Guarda i messaggi
No... restituisce un false la query... ovvero riporta un insieme vuoto.
ah...quindi cmq restituisce un valore "F" e poi effettua il redirect ad esempio a login_failder.php?
vince860 è offline   Rispondi citando il messaggio o parte di esso
Old 31-10-2009, 11:59   #13
euphyllia87
Member
 
Iscritto dal: Oct 2009
Città: Varese
Messaggi: 209
Quote:
Originariamente inviato da vince860 Guarda i messaggi
ah...quindi cmq restituisce un valore "F" e poi effettua il redirect ad esempio a login_failder.php?
No ti torna un insieme vuoto e il redirect lo effettua solo se lo imposti tu.
__________________
MacBook White 13.3'' Intel CPU :: 2GB DDR2 800Mhz :: 160Gb :: Mac OS X 10.6 Snow Leopard
euphyllia87 è offline   Rispondi citando il messaggio o parte di esso
Old 01-11-2009, 14:20   #14
vince860
Member
 
Iscritto dal: Apr 2009
Messaggi: 85
Quote:
Originariamente inviato da euphyllia87 Guarda i messaggi
No ti torna un insieme vuoto
sarebbe?
vince860 è offline   Rispondi citando il messaggio o parte di esso
Old 01-11-2009, 17:18   #15
euphyllia87
Member
 
Iscritto dal: Oct 2009
Città: Varese
Messaggi: 209
Quote:
Originariamente inviato da vince860 Guarda i messaggi
sarebbe?
Ma una base di Matematica e SQL no? :S
__________________
MacBook White 13.3'' Intel CPU :: 2GB DDR2 800Mhz :: 160Gb :: Mac OS X 10.6 Snow Leopard
euphyllia87 è offline   Rispondi citando il messaggio o parte di esso
Old 01-11-2009, 17:25   #16
wingman87
Senior Member
 
Iscritto dal: Nov 2005
Messaggi: 2794
Quote:
Originariamente inviato da euphyllia87 Guarda i messaggi
coda alla SQL, LIMIT 0,1
Grazie, appena posso provo. I parametri i=0 e n=1 vogliono dire che voglio n elementi a partire dall'iesimo?
wingman87 è offline   Rispondi citando il messaggio o parte di esso
Old 01-11-2009, 18:38   #17
euphyllia87
Member
 
Iscritto dal: Oct 2009
Città: Varese
Messaggi: 209
Quote:
Originariamente inviato da wingman87 Guarda i messaggi
Grazie, appena posso provo. I parametri i=0 e n=1 vogliono dire che voglio n elementi a partire dall'iesimo?
Vuol dire che limito da 0 a 1 i risultati
__________________
MacBook White 13.3'' Intel CPU :: 2GB DDR2 800Mhz :: 160Gb :: Mac OS X 10.6 Snow Leopard
euphyllia87 è offline   Rispondi citando il messaggio o parte di esso
Old 01-11-2009, 18:55   #18
Dânêl
Senior Member
 
Iscritto dal: Jul 2008
Messaggi: 485
Si potrebbe anche usare un if exists per "ottimizzare in modo estremo".
Ho letto alcuni test secondo i quali sarebbe molto più veloce di un SELECT COUNT
Dânêl è offline   Rispondi citando il messaggio o parte di esso
Old 01-11-2009, 19:22   #19
euphyllia87
Member
 
Iscritto dal: Oct 2009
Città: Varese
Messaggi: 209
Quote:
Originariamente inviato da Dânêl Guarda i messaggi
Si potrebbe anche usare un if exists per "ottimizzare in modo estremo".
Ho letto alcuni test secondo i quali sarebbe molto più veloce di un SELECT COUNT
Secondo me è uguale.
__________________
MacBook White 13.3'' Intel CPU :: 2GB DDR2 800Mhz :: 160Gb :: Mac OS X 10.6 Snow Leopard
euphyllia87 è offline   Rispondi citando il messaggio o parte di esso
Old 02-11-2009, 09:36   #20
vince860
Member
 
Iscritto dal: Apr 2009
Messaggi: 85
Quote:
Originariamente inviato da euphyllia87 Guarda i messaggi
Ma una base di Matematica e SQL no? :S
si, ma non ricordo bene...

praticamente se non esiste il record con id e pwd coincidenti con quelli inseriti dall'utente mi restutuisce un "record vuoto" (e quindi visualizza, ipoteticamente, un msg di errore)?
vince860 è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Samsung Micro RGB R95H, il primo LCD a LED rossi, verdi e blu di Samsung alla prova del banco di misura Samsung Micro RGB R95H, il primo LCD a LED rossi...
iPhone 18 Pro: la recensione del miglior iPhone compatto di sempre iPhone 18 Pro: la recensione del miglior iPhone ...
Panasonic, 30 anni di Toughbook: la "Bibbia" di mille regole dietro i nuovi G3 e 34 Panasonic, 30 anni di Toughbook: la "Bibbia...
realme C100x, lo smartphone economico con la batteria da 7500 mAh. La recensione realme C100x, lo smartphone economico con la bat...
Star Wars Zero Company è l'erede di XCOM 2 Star Wars Zero Company è l'erede di XCOM ...
Microsoft festeggia cinque anni di Windo...
WhatsApp blocca l'accesso sui telefoni n...
AMD non riesce a stare dietro alla doman...
Android Auto: stop alla compatibilità pe...
Più delle montagne russe: Six Fla...
Dopo Sapphire, anche Gigabyte rilascia a...
Motorola in offerta Prime Day: moto g57 ...
Lenovo in offerta Prime Day: IdeaPad S5 ...
Evento Apple del 13 ottobre: fra i nuovi...
FRITZ! in offerta Prime Day: Repeater 27...
GMK TriggerKey: un mod kit per maggiore ...
RTX Spark deve ancora debuttare, ma AMD ...
Robot aspirapolvere Prime Day: i prezzi ...
Google Maps si trasforma in una pista di...
Un super portatile per videogiocatori e ...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 12:00.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v