Nikolaj Svendsen skrev:
> <?
>
>
> if(isset($_POST['opret'])) {
>
> $username="mysql_brugernavn";
>
> $password="mysql_password";
>
> mysql_connect(localhost,$username,$password);
>
> mysql_select_db('mysql_db');
>
>
> mysql_query("INSERT INTO users(brugernavn,password)
> VALUES ('".$_POST['brugernavn']."','".$_POST['password']."')");
>
> }
>
> ?>
Det der er en skidt kode.
Ovenstående kode kan give rekursive rækker i databasen. Det betyder du
kan have tre rækker med brugernavn og kodeord lig thomas:qwerty
Hvordan vil du kunne skelne mellem hvilken af de tre brugere der logger
ind med de data?
Hvad med eventuel validering imod sql injection?
Udover det er det ikke god skik at gemme brugerens kodeord uden
envejskryptering. For mange brugere vil det komme sig naturligt at
indtaste en generel kode, som samtidig også kan være personlig for brugeren.
if(isset($_POST['opret']))
{
mysql_connect('localhost', 'root', 'rootpassword');
mysql_select_db('min_db');
$username = mysql_real_escape_string($_POST['brugernavn']);
$password = md5($_POST['password'];
$query = mysql_query("SELECT username FROM users WHERE
username='".$username."'";
if(mysql_num_rows($query) > 0)
{
echo 'Brugernavnet er desværre optaget';
}
else
{
mysql_query("INSERT INTO users (username, password) VALUES
('".$username."', '".$password."')");
}
}
--
Dan Storm - storm at err0r dot dk /
http://err0r.dk
Tro ikke brugerne vil gøre noget for at undgå dit killfilter
- Så vigtig er du heller ikke!