PHP-adatbázis bajok?
<?php
var_dump($_POST);
$submit=$_POST['submit'];
$username=strip_tags($_post['username']);
$password=strip_tags($_post['password']);
$repeatpassword=strip_tags($_POST['repeatpassword']);
$nev=strip_tags($_post['nev']);
$email=strip_tags($_post['email']);
$szuletesiev=strip_tags($_post['szuletesiev']);
$date = date("Y-m-d");
if($submit)
{
//db megnyitás
$connect=mysql_connect("localhost","root","");
mysql_select_db("tanulo");
$nevcheck=mysql_query("
SELECT username FROM users WHERE username='$username'");
if((isset($_POST['username'])&& !empty($_POST['username']) && strlen($_POST['username'])<=50&& strlen($_POST['username'])>=8))
{echo"felhasznév jó<br/>" ;}
else
{
echo"Elrontottad a felhasználónevet,maximum 50,minimum 8 karakter legyen<br/>";
}
if(isset($_POST['password'])&& !empty($_POST['password']) && strlen($_POST['password'])<=50 && strlen($_POST['password'])>=8)
{echo"jelszó jó<br/>";}
else
{echo"A jelszó minimum 8 ,de maximum 50 karakter lehet<br/>";}
if(isset($_POST['nev'])&& !empty($_POST['nev']) && strlen($_POST['nev'])<100)
{echo"név jó<br/>";}
else
{echo"A neved legfeljebb 100 karakterből állhat<br/>";}
if
(isset($_POST['email'])&& !empty($_POST['email']))
{echo"email jó<br/>";}
else
{echo"Nem adtál meg email címet<br/>";}
if(isset($_POST['szuletesiev'])&& !empty ($_POST['szuletesiev']))
{echo"születési jó<br/>";}
else
{echo"Nem adtál meg születési évet<br/>";}
if(isset($_POST['repeatpassword'])&& !empty($_POST['repeatpassword']))
{echo"Az ismétlő jeszót megadtad!<br/>";}
else
{echo"Nem adtad meg vagy elirtad az ismétlő jelszavat!<br/>";}
if($password=$repeatpassword)
{
echo"ok<br/>";
$queryreg= mysql_query("
INSERT INTO users VALUES('','$username','$password','$nev','$email','$szuletesiev','$date')");
}
else{echo"Nem egyezik a két jelszó <br/>";}
}
?>
<html>
<head>
</head>
<body>
</body>
<form action='regi.php' method='POST'>
<table>
<tr>
<td>Felhasználónév:</td>
<td><input type="text" name="username"/> *</td>
</tr>
<tr>
<td>Jelszó:</td>
<td><input type="password" name="password" /> *</td>
</tr>
<tr>
<td>Ismétlő jelszó:</td>
<td><input type="text" name="repeatpassword" /> *</td>
</tr>
<tr>
<td>Név:</td>
<td><input type="text" name="nev" /> *</td>
</tr>
<tr>
<td>Email:</td>
<td><input type="email" name="email" /> *</td>
</tr>
<tr>
<td>Születési év:</td>
<td><input type="number" name="szuletesiev" /> *</td>
</tr>
<tr><td><input type="submit" name="submit" value="Elküldés!"></td></tr>
</table>
</form>
</html>
$username=strip_tags($_post['username']);
$password=strip_tags($_post['password']);
$repeatpassword=strip_tags($_POST['repeatpassword']);
$nev=strip_tags($_post['nev']);
$email=strip_tags($_post['email']);
$szuletesiev=strip_tags($_post['szuletesiev']);
A strip_tags nem véd meg az SQL injection alapú támadásoktól. Használj mysql_real_escape_string-et helyette.
if($password=$repeatpassword)
Ha össze akarsz hasonlítani valamit, akkor == operátort használj, ne az értékadás operátorát.
INSERT INTO users VALUES('','$username','$password','$nev','$email','$szuletes
iev','$date')");
Az azonosító gondolom auto_increment. Inkább használd ezt az INSERT INTO szintaxist:
INSERT INTO táblanév (`mező1`, `mező2`, ...) VALUES (érték1, érték2, ...)
Pl.
INSERT INTO users (`username`, `password`, `nev`, `email`, `szuletesiev`, `date`) VALUES ('$username','$password','$nev','$email','$szuletesiev','$date')
Na meg nem ártana megbarátkozni a mysqli-vel. Így hirtelen ennyi.
Nem csak 2012 óta, hanem 2009 óta legalább, plusz jobb helyeken azt is, hogy a prepared statementek nem csak viccből vannak.
Ezt a mostani kódot pár pillanat alatt ki lehet játszani és le lehet nyúlni a teljes adatbázist akár.
Plusz mi az már így 2015-ben, hogy nincs hashelve a jelszó???
Már miért is lenne csak akkor érdekes, meg mire gondoltál itt?
"Mások adatait" fogja valószínűleg a "users" táblában tárolni, ahol pedig igencsak gáz, ha bárki simán olvashatja a jelszavakat.
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!