Xhack

Un forum dedicato all'hacking
 
IndiceIndice  PortalePortale  CalendarioCalendario  FAQFAQ  CercaCerca  RegistratiRegistrati  Lista UtentiLista Utenti  GruppiGruppi  Accedi  

Condividi | 
 

 PHP/MySql

Andare in basso 
AutoreMessaggio
darkwolf
membro importante
membro importante
avatar

Numero di messaggi : 225
Localizzazione : Un pò più a destra ecco bravo adesso un pò più in basso perfetto abito lì
Data d'iscrizione : 05.11.07

MessaggioTitolo: PHP/MySql   Ven Dic 21, 2007 12:07 pm

Allora mi sono studiato un pò di sql e sono arrivato quà

Codice:

<?php
$user = "root";
$pass = "mia pass";
$host = "localhost";
$db = "Darkwolf";
$connessione = mysql_connect ($host, $user, $pass);
mysql_select_db("db") or die ("impossibile selezionare database");
echo "Connessione riuscita";
mysql_close();

?>

lo script prende dei parametri preimpostati si connette al database e da connessione riuscita...
Visto che il primo passo mi era riuscito sono passato alla creazione di una tabella (seguendo la guida sul sito di black)

Codice:

<?php
$user = "mio user";
$pass = "mia pass";
$host = "mysql5.netsons.org";
$db = "mio database";
$connessione = mysql_connect ($host, $user, $pass);
mysql_select_db("db") or die ("impossibile selezionare database");
CREATE TABLE news
nome VARCHAR (50) NOT NULL,
password VARCHAR (50) NOT NULL,
if (mysql_query($query, $db))
echo "Creazione completata";
else
echo "Errore";

Errore in line 8 (se non mi sbaglio un errore presente in linea 8 si trova in linea 7 e così via)
dove sbaglio..
La tabella poi la ho creata manualmente ed ho fatto prima Twisted Evil Twisted Evil
ma volevo sapere dove stava l'errore

Poi avevo fatto questo form

Codice:
<html>

<head>
<title>registrazione</title>
</head>

<body>
<form action = "prova.php" method = "GET">
USERNAME <input type = "text" name = "user">
PASSWORD <input type = "password" name = "pass">
E_MAIL <input type = "text" name = "mail">
<input type = "submit" value = "invia">
</form>
</body>
</html>

e lo script per inserire i dati

Codice:
<?php
$user = $_GET ['user'];
$pass = $_GET ['pass'];
$mail = $_GET ['mail'];
$host = "mysql5.netsons.org";
$nome = "mio host";
$password = "mia pass";
$db = "nome mio dat";

$connessione = mysql_connect ($host, $nome, $password);
mysql_select_db ("db");

$query = "INSERT INTO Utenti (Username, Password, E-mail) VALUES ('$user', '$pass', '$mail')";

mysql_close();
?>

credo di aver sbagliato con le query mi sa che non ne ho messe proprio Shocked
anche perchè non ho capito come funzionano
Torna in alto Andare in basso
Visualizza il profilo
BlackLight
Moderatore
Moderatore
avatar

Numero di messaggi : 277
Età : 32
Data d'iscrizione : 22.08.07

MessaggioTitolo: Re: PHP/MySql   Ven Dic 21, 2007 3:01 pm

Che guida hai seguito sul mio sito? Non abbiamo ancora scritto la guida per la gestione di database MySQL tramite PHP...

In ogni caso gli errori sono abbastanza grossi...

Codice:
mysql_select_db("db") or die ("impossibile selezionare database");
CREATE TABLE news
nome VARCHAR (50) NOT NULL,
password VARCHAR (50) NOT NULL,
if (mysql_query($query, $db))

Non puoi passare query SQL direttamente nel codice PHP come se fossero normali istruzioni. Devi metterle in una stringa e poi eseguirle con mysql_query:

Codice:
mysql_select_db("db") or die ("impossibile selezionare database");
$query =
"CREATE TABLE news
(nome VARCHAR (50) NOT NULL,
password VARCHAR (50) NOT NULL)";
if (mysql_query($query, $db))

Codice:
$query = "INSERT INTO Utenti (Username, Password, E-mail) VALUES ('$user', '$pass', '$mail')";

mysql_close();

Qui invece la mysql_query non la esegui proprio...

_________________
-----BEGIN GEEK CODE BLOCK-----
Version: 3.1
GCS/CM/CC/E/IT/LS/M d-(--) s:- a-- C+++$ UBL++++$ P+++ L+++++$ E- W+++ N+ o? K? w-- !O !M>+ !V PS+++ PE-- Y++ PGP+ !t !5 !X R+ tv-- b++>+++ DI? D+ G>+++ e++>++++ h r++ y+++
------END GEEK CODE BLOCK------

Codice:
blacklight@nightmare:/$ touch figa
touch: cannot touch `figa': Permission denied
Torna in alto Andare in basso
Visualizza il profilo http://blacklight.gotdns.org
darkwolf
membro importante
membro importante
avatar

Numero di messaggi : 225
Localizzazione : Un pò più a destra ecco bravo adesso un pò più in basso perfetto abito lì
Data d'iscrizione : 05.11.07

MessaggioTitolo: Re: PHP/MySql   Ven Dic 21, 2007 3:16 pm

ok comunque
sul tuo sito ho seguito la guida per la creazione della tabella ma probabilmente non ho capito alcune cose

nel secondo pezzo di script dovrebbe andare così

Codice:

<?php
$user = $_GET ['user'];
$pass = $_GET ['pass'];
$mail = $_GET ['mail'];
$host = "localhost";
$nome = "root";
$password = "mia pass";
$db = "test";

$connessione = mysql_connect ($host, $nome, $password);
mysql_select_db ("test");

$query = "INSERT INTO Utenti (Username, Password, E-mail) VALUES ('$user', '$pass', '$mail')";

if (mysql_query($query, $db))
echo "Utente inserito";
else
echo "Errore";


mysql_close();
?>

mi segnala un errore nella stringa 18 non so fare proprio niente.......
Torna in alto Andare in basso
Visualizza il profilo
BlackLight
Moderatore
Moderatore
avatar

Numero di messaggi : 277
Età : 32
Data d'iscrizione : 22.08.07

MessaggioTitolo: Re: PHP/MySql   Ven Dic 21, 2007 4:01 pm

Codice:
if (mysql_query($query, $db))

La sintassi di mysql_query (fonte: documentazione ufficiale di php.net) è

Codice:
resource mysql_query  ( string $query  [, resource $identificativo_connessione  [, int $modo_risultato  ]] )

Non è necessario quindi chiamarla con due parametri, ma se proprio vuoi farlo il secondo parametro deve essere l'identificativo della connessione (nel tuo caso $connessione), NON il nome del database.

_________________
-----BEGIN GEEK CODE BLOCK-----
Version: 3.1
GCS/CM/CC/E/IT/LS/M d-(--) s:- a-- C+++$ UBL++++$ P+++ L+++++$ E- W+++ N+ o? K? w-- !O !M>+ !V PS+++ PE-- Y++ PGP+ !t !5 !X R+ tv-- b++>+++ DI? D+ G>+++ e++>++++ h r++ y+++
------END GEEK CODE BLOCK------

Codice:
blacklight@nightmare:/$ touch figa
touch: cannot touch `figa': Permission denied
Torna in alto Andare in basso
Visualizza il profilo http://blacklight.gotdns.org
darkwolf
membro importante
membro importante
avatar

Numero di messaggi : 225
Localizzazione : Un pò più a destra ecco bravo adesso un pò più in basso perfetto abito lì
Data d'iscrizione : 05.11.07

MessaggioTitolo: Re: PHP/MySql   Ven Dic 21, 2007 4:06 pm

lo script funziona tutto ma da errore
Torna in alto Andare in basso
Visualizza il profilo
BlackLight
Moderatore
Moderatore
avatar

Numero di messaggi : 277
Età : 32
Data d'iscrizione : 22.08.07

MessaggioTitolo: Re: PHP/MySql   Ven Dic 21, 2007 6:07 pm

Che errore hai? Se l'errore è nella mysql_query stampalo...

Codice:
if (mysql_query($query))
echo "Utente inserito";
else
echo "Errore ".mysql_errno().": ".mysql_error()."<br>\n";

_________________
-----BEGIN GEEK CODE BLOCK-----
Version: 3.1
GCS/CM/CC/E/IT/LS/M d-(--) s:- a-- C+++$ UBL++++$ P+++ L+++++$ E- W+++ N+ o? K? w-- !O !M>+ !V PS+++ PE-- Y++ PGP+ !t !5 !X R+ tv-- b++>+++ DI? D+ G>+++ e++>++++ h r++ y+++
------END GEEK CODE BLOCK------

Codice:
blacklight@nightmare:/$ touch figa
touch: cannot touch `figa': Permission denied
Torna in alto Andare in basso
Visualizza il profilo http://blacklight.gotdns.org
darkwolf
membro importante
membro importante
avatar

Numero di messaggi : 225
Localizzazione : Un pò più a destra ecco bravo adesso un pò più in basso perfetto abito lì
Data d'iscrizione : 05.11.07

MessaggioTitolo: Re: PHP/MySql   Ven Dic 21, 2007 7:36 pm

Risolto il carattere - non può essere usato
colgo l'occasione per farti un ultima domanda
con che script si verifica l'esistenza della user e della password (il login in poche parole)
Grazie


P.s
mi dici da 1 a 10 quanto ti ho fatto uscire pazzo in questa settimana Smile
P.s2
per il sito mi consigliate di istallare un phpnuke o mambo oppure di fare tutto io a mano
Torna in alto Andare in basso
Visualizza il profilo
BlackLight
Moderatore
Moderatore
avatar

Numero di messaggi : 277
Età : 32
Data d'iscrizione : 22.08.07

MessaggioTitolo: Re: PHP/MySql   Ven Dic 21, 2007 10:15 pm

Codice:
$query = "select username,password from utenti where username='$user' and password='$pass'";

$res=mysql_query($query);
$found=false;

if ($line=mysql_fetch_array ($res,MYSQL_NUM))  {
  $found=true;
  print "Login corretto\n";
}

if (!$found)
  print "Login errato\n";

p.s. Occhio usa la mysql_real_escape_string sui campi user e pass, se non vuoi avere una potenziale SQL injection.

_________________
-----BEGIN GEEK CODE BLOCK-----
Version: 3.1
GCS/CM/CC/E/IT/LS/M d-(--) s:- a-- C+++$ UBL++++$ P+++ L+++++$ E- W+++ N+ o? K? w-- !O !M>+ !V PS+++ PE-- Y++ PGP+ !t !5 !X R+ tv-- b++>+++ DI? D+ G>+++ e++>++++ h r++ y+++
------END GEEK CODE BLOCK------

Codice:
blacklight@nightmare:/$ touch figa
touch: cannot touch `figa': Permission denied
Torna in alto Andare in basso
Visualizza il profilo http://blacklight.gotdns.org
darkwolf
membro importante
membro importante
avatar

Numero di messaggi : 225
Localizzazione : Un pò più a destra ecco bravo adesso un pò più in basso perfetto abito lì
Data d'iscrizione : 05.11.07

MessaggioTitolo: Re: PHP/MySql   Ven Dic 21, 2007 10:27 pm

grazie per il consiglio ma non ho capito benissimo

sarebbe una cosa del genere
Codice:

$user = mysql_real_escape_string($_GET['user']);
$pass = mysql_real_escape_string($_GET['pass']);

quindi lo script sarebbe

Codice:

<?php
$user = mysql_real_escape_string($_GET['user']);
$pass = mysql_real_escape_string($_GET['pass']);
$host = "localhost";
$nome = "root";
$password = "mia pass";
$db = "test";

$connessione = mysql_connect ($host, $nome, $password);
mysql_select_db ("test");

$query = "select username,password from utenti where username='$user' and password='$pass'";

$res=mysql_query($query);
$found=false;

if ($line=mysql_fetch_array ($res,MYSQL_NUM))  {
  $found=true;
  print "Login corretto\n";
}

if (!$found)
  print "Login errato\n";

mi restituisce questo

Warning: mysql_real_escape_string() [function.mysql-real-escape-string]: Access denied for user 'ODBC'@'localhost' (using password: NO) in C:\www\login.php on line 2

Warning: mysql_real_escape_string() [function.mysql-real-escape-string]: A link to the server could not be established in C:\www\login.php on line 2

Warning: mysql_real_escape_string() [function.mysql-real-escape-string]: Access denied for user 'ODBC'@'localhost' (using password: NO) in C:\www\login.php on line 3

Warning: mysql_real_escape_string() [function.mysql-real-escape-string]: A link to the server could not be established in C:\www\login.php on line 3

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\www\login.php on line 17
Login errato





tutto risolto il codice giusto è

Codice:

<?php
$host = "localhost";
$nome = "root";
$password = "mia pass";
$db = "test";

$connessione = mysql_connect ($host, $nome, $password);
mysql_select_db ("test");

$user = mysql_real_escape_string($_GET['user']);
$pass = mysql_real_escape_string($_GET['pass']);

$query = "select username,password from utenti where username='$user' and password='$pass'";

$res=mysql_query($query);
$found=false;

if ($line=mysql_fetch_array ($res,MYSQL_NUM))  {
  $found=true;
  print "Login corretto\n";
}

if (!$found)
  print "Login errato\n";


le stringhe
$user = mysql_real_escape_string($_GET['user']);
$pass = mysql_real_escape_string($_GET['pass']);
andavano inserite dopo la connessione
Torna in alto Andare in basso
Visualizza il profilo
Contenuto sponsorizzato




MessaggioTitolo: Re: PHP/MySql   

Torna in alto Andare in basso
 
PHP/MySql
Torna in alto 
Pagina 1 di 1

Permessi di questa sezione del forum:Non puoi rispondere agli argomenti in questo forum
Xhack :: Programmazione :: HTML/PHP/Javascript-
Vai verso: