SQL injection kezelés?!
Üdv! weboldalt készítek(PHP), minimális tudással, ha lehet annak nevezni. Olvastam hogyha nem kezeljük megfelelően az sql lekérdezéseket, akkor ki lehet használni. Hallottam a mysql_real_escape_string()-et, a stripslashes()-t, értem is nagyjából az utóbbit hogy mit csinál, viszont a real escape stringet nemértem. készítettem egy test.php-t :
echo '<form method="post" action="">
<input type=text name="asd">
<input type=submit>
</form>';
$pwraw = $_POST['asd'];
echo stripslashes($pwraw);
echo "<br>";
echo mysql_real_escape_string($pwraw);
de csak a stripslashesnél ad értéket vissza.
Kérlek magyarázzátok el hogy hogy működik.
Köszönöm
Van már mysql kapcsolat nyitva? Mivel a real_escape.. azt használja, kell neki.
Itt tudsz olvasgatni róla, és feltűnhet a bazinagy piros hátteres Warning, hogy sok éve elavult mysql_* függvényeket használni, és mysqli_* vagy PDO ami korszerű és relatív biztonságos is.
Köszönöm válaszod, tehát ha az adatbázis kapcsolatom így van felépítve: $dbconn = new mysqli("localhost",...);
akkor az a része biztonságos?
A mysql_real_escape_string megkérdezi az adatbáziskezelő motort, hogy melyek azok a karakterek, amelyeket escapelni kell, ugyanis nem csak az aposztróf vagy a macskaköröm lehet az veszélyes. Ehhez nyilván kell egy élő adatbázis kapcsolat.
Az addslashes nem nyújt megfelelő védelmet, hisz csak az előre beprogramozott karaktereket escapeli.
A stripslahes eltávolítja az előzőleg escape-elt stringből a \ jeleket.
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!