Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Recensione REDMI Note 17 Pro: il midrange con batteria da 8.340 mAh e ricarica veloce
Recensione REDMI Note 17 Pro: il midrange con batteria da 8.340 mAh e ricarica veloce
REDMI Note 17 Pro porta in fascia media una batteria da 8.340 mAh con ricarica HyperCharge a 67W, un display AMOLED da 6,83 pollici capace di picchi di luminosità molto elevati e una struttura certificata TÜV SÜD contro cadute e infiltrazioni d'acqua, il tutto racchiuso in una scocca da 223 grammi. Lo abbiamo provato per diversi giorni tra fotocamera, prestazioni, autonomia e prezzo sul mercato italiano
Insta360 Luna Ultra: la potenza del sensore da 1 pollice incontra la portabilità estrema
Insta360 Luna Ultra: la potenza del sensore da 1 pollice incontra la portabilità estrema
Insta360 Luna Ultra integra un sensore da 1 pollice 8K, ottiche Leica e triplo chip IA. Tra schermo OLED rimovibile, workflow I-Log a 10 bit e stabilizzazione a tre assi, analizziamo le doti tecniche di una gimbal camera pensata per i professionisti
Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa
Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa
Marvel's Wolverine porta Logan in un'avventura inedita, violenta e fortemente narrativa, costruita attorno alla sua natura di combattente e al difficile rapporto con il proprio passato. Insomniac Games punta su combattimenti spettacolari, progressione e personalizzazione, inserendo l'azione in un mondo segnato dalla persecuzione dei mutanti. Un viaggio intenso, che alterna mattanza, esplorazione e momenti sorprendentemente emotivi.
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 09-06-2010, 21:00   #1
<Gabrik>
Senior Member
 
L'Avatar di <Gabrik>
 
Iscritto dal: Apr 2006
Città: Ilê-de-France
Messaggi: 319
[PHP-MySQL] problemi login

salve raga ho un problema che non riesco a risolvere...

praticamente è un login semplice semplice mi interessa solo visualizzare se si può accedere o no...

ma puntroppo il mio php sembra impazzito e non funziona

Codice:
<?php
$conn=mysql_connect("localhost","user","user") or die ("Errore connessione Server MySQL". mysql_error());
mysql_select_db("prova") or die ("Errore connessione al database". mysql_error());
session_start();
$utente=htmlspecialchars($_POST['usr']); 
$pass=md5(htmlspecialchars($_POST['psw'])); 

$query="SELECT nome,password FROM utenti WHERE nome='".$utente."' AND password='".$pass."';";
//ho provato anche a settare $query in questo modo ($query = sprintf("SELECT nome,password FROM utenti WHERE username = '%s' AND user_password = '%s' ;", mysql_real_escape_string($utente), mysql_real_escape_string($pass)); ) senza alcun risultato
$ris=mysql_query($query,$conn);
if(mysql_num_rows($ris))
	print("Accesso eseguito correttamente!");
else
	print("Nome utente o Password errati!");
?>
ho messo anche echo al posto di print ma non cambia niente
__________________
There is no cloud, it's just someone else computer
<Gabrik> è offline   Rispondi citando il messaggio o parte di esso
Old 10-06-2010, 07:31   #2
Fibrizio
Member
 
L'Avatar di Fibrizio
 
Iscritto dal: Oct 2009
Città: In una città
Messaggi: 67
Anzitutto ti sconsiglio di utilizzare htmlspecialchars in md5, a meno che chiaramente anche le password in entrata non siano generate con la stessa codifica.

Inoltre htmlspecialchars non serve ad prevenire i mysql inject, piuttosto ti conviene provare ad usare addslashes, oppure mysql_real_escape_string, come hai fatto dopo.

Per il resto non sembrano esserci problemi di php.

Il post come lo esegui? Sei sicuro che prenda dei dati?
Il database è formattato correttamente? Quei campi che richiedi esistono?
Fibrizio è offline   Rispondi citando il messaggio o parte di esso
Old 10-06-2010, 09:36   #3
DanieleC88
Senior Member
 
L'Avatar di DanieleC88
 
Iscritto dal: Jun 2002
Città: Dublin
Messaggi: 5989
Prima modifichi la password con htmlspecialchars() e poi ne fai un hashing MD5? Rischia di modificarti la password e cambiare l'MD5 in output (anche se i caratteri interessati sono abbastanza inusuali per una password).

Se ne fai l'hashing MD5, per la password non serve proteggerti dalle SQL injections (non arriveranno mai apostrofi e schifezze varie nella query), mentre lo devi fare per il nome utente, e per quello usa mysql_real_escape_string().

ciao

EDIT: d'oh, non avevo letto la parte dell'MD5 scritta anche da Fibrizio. Vabbe', un post in più per ricordartelo.
__________________

C'ho certi cazzi Mafa' che manco tu che sei pratica li hai visti mai!

Ultima modifica di DanieleC88 : 10-06-2010 alle 09:39.
DanieleC88 è offline   Rispondi citando il messaggio o parte di esso
Old 10-06-2010, 10:21   #4
<Gabrik>
Senior Member
 
L'Avatar di <Gabrik>
 
Iscritto dal: Apr 2006
Città: Ilê-de-France
Messaggi: 319
grazie ad entrambi

allora sto provando ad usare direttamente il mysql_real_escape_string()

i campi che richiedo esistono e sono formattati correttamente in quanto una pagina per la registrazione (quindi con l'INSERT) funziona correttamente
per quanto riguarda il post dovrebbe essere fatto correttemente

Codice:
<form name="accesso" action="login.php" method="post">
<table  align="center" cols="2" rows="3">
<tr>
	<td><b>Nome Utente</b></td>
    <td><input type="text" name="usr" /></td>
</tr>
<tr>
	<td><b>Password</b></td>
    <td><input type="password" name="psw" /></td>
</tr>
<tr>
	<td></td>
    <td><input type="submit" value="Accedi!" /></td>
</tr>
</table>
</form>
dovrebbe essere corretto ma continua a fornirmi una pagina bianca
__________________
There is no cloud, it's just someone else computer
<Gabrik> è offline   Rispondi citando il messaggio o parte di esso
Old 10-06-2010, 10:24   #5
Fibrizio
Member
 
L'Avatar di Fibrizio
 
Iscritto dal: Oct 2009
Città: In una città
Messaggi: 67
Quote:
Originariamente inviato da <Gabrik> Guarda i messaggi
grazie ad entrambi

allora sto provando ad usare direttamente il mysql_real_escape_string()

i campi che richiedo esistono e sono formattati correttamente in quanto una pagina per la registrazione (quindi con l'INSERT) funziona correttamente
per quanto riguarda il post dovrebbe essere fatto correttemente

Codice:
<form name="accesso" action="login.php" method="post">
<table  align="center" cols="2" rows="3">
<tr>
	<td><b>Nome Utente</b></td>
    <td><input type="text" name="usr" /></td>
</tr>
<tr>
	<td><b>Password</b></td>
    <td><input type="password" name="psw" /></td>
</tr>
<tr>
	<td></td>
    <td><input type="submit" value="Accedi!" /></td>
</tr>
</table>
</form>
dovrebbe essere corretto ma continua a fornirmi una pagina bianca
Immagino che la pagina login.php contenga il codice che hai messo all'inizio.
Ti suggerisco di eseguire un echo su $query

Codice PHP:
echo $query="SELECT nome,password FROM utenti WHERE nome='".$utente."' AND password='".$pass."';"
In modo da vedere che cosa mandi nel mysql e poi di incollare eventualmente la stessa query a mano sul database, per vedere che cosa produce.
con ogni probabilità interroghi male il database e questo riporta 0 righe.
Fibrizio è offline   Rispondi citando il messaggio o parte di esso
Old 10-06-2010, 10:42   #6
<Gabrik>
Senior Member
 
L'Avatar di <Gabrik>
 
Iscritto dal: Apr 2006
Città: Ilê-de-France
Messaggi: 319
adesso funziona ma non ho nessun controllo per le injection...
il codice l'ho modificato come segue
Codice PHP:
$utente=$_POST['usr'];
$pass=md5($_POST['psw']);

$query="SELECT nome,password FROM utenti WHERE nome='".$utente."' AND password='".$pass."';";
echo(
$query."<br>");


$ris=mysql_query($query,$conn);
echo (
$ris."<br>");

if(
mysql_num_rows($ris))
    print(
"Accesso eseguito correttamente!");
else
    print(
"Nome utente o Password errati!"); 
adesso mi conviene usare mysql_real_escape_string() come avevo già fatto il precedenza giusto?
__________________
There is no cloud, it's just someone else computer
<Gabrik> è offline   Rispondi citando il messaggio o parte di esso
Old 10-06-2010, 12:16   #7
Fibrizio
Member
 
L'Avatar di Fibrizio
 
Iscritto dal: Oct 2009
Città: In una città
Messaggi: 67
sì ti conviene usarlo così

Codice PHP:
$utente=mysql_real_escape_string($_POST['usr']);
$pass=md5($_POST['psw']);

$query="SELECT nome,password FROM utenti WHERE nome='".$utente."' AND password='".$pass."';";
echo(
$query."<br>");


$ris=mysql_query($query,$conn);
echo (
$ris."<br>");

if(
mysql_num_rows($ris))
    print(
"Accesso eseguito correttamente!");
else
    print(
"Nome utente o Password errati!"); 
Fibrizio è offline   Rispondi citando il messaggio o parte di esso
Old 10-06-2010, 12:56   #8
<Gabrik>
Senior Member
 
L'Avatar di <Gabrik>
 
Iscritto dal: Apr 2006
Città: Ilê-de-France
Messaggi: 319
ok grazie

tutto risolto si può chiudere
__________________
There is no cloud, it's just someone else computer
<Gabrik> è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Recensione REDMI Note 17 Pro: il midrange con batteria da 8.340 mAh e ricarica veloce Recensione REDMI Note 17 Pro: il midrange con ba...
Insta360 Luna Ultra: la potenza del sensore da 1 pollice incontra la portabilità estrema Insta360 Luna Ultra: la potenza del sensore da 1...
Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa Marvel's Wolverine, la recensione: Logan torna p...
DJI Romo 2: tante novità lo rendono un robot completo DJI Romo 2: tante novità lo rendono un ro...
Sony Bravia 9 II: il True RGB alla prova, dove l'LCD sfida l'OLED Sony Bravia 9 II: il True RGB alla prova, dove l...
Home Assistant su uno schermo touch econ...
L'IA entra nei negozi Unieuro con Google...
"What Holds Us", la nuova most...
La Formula 1 divide sui motori, ma il su...
Un computer a DNA esegue moltiplicazioni...
Ibride cinesi, l'Europa fissa il tetto a...
iPhone Duo potrebbe dar vita a una gamma...
Denza Z9S: la berlina elettrica con il r...
Valve abilita i driver e il supporto all...
Terafab, il progetto di Musk finisce in ...
Il meglio di Amazon in 42 articoli: sono...
ECOVACS WINBOT W2 PRO OMNI a 349€: ecco ...
Samsung Gallery Cloud Sync introduce il ...
Dyson V8 Cyclone a 249€: scopa elettrica...
Rifiuti elettronici, l'altra faccia dell...
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:05.


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