Trumpa pamokele apie PHP OOP Prepared statements (lt. paruostas uzklausas), kurios sumazina serverio resursu naudojimas ir manau svarbiausia - apsaugo nuo SQL injekciju.
Kaip tai padaroma? : "Turbo naduvas".
Bet istikruju tai labai paprasta.Mums nereikia serveriui pateikineti uzklausu kas karta kai norime kazka padaryti tarkim su SQL serveriu.Galime tiesiog parasyti:
$stmt = $mysqli->prepare("SELECT pavarde FROM users WHERE vardas=?")
$stmt->bind_param("s",$vardas);
Tada rasome kas karta norint isgauti varda vis kito asmens.PVZ:
$vardas = "vardenis";
$stmt->execute();
Kitas zmogus:
$vardas = "jonas";
$stmt->execute();
Taigi trumpiau ir aiskiau:
$vardas = "jonas"; //pateiktas kintamasis
$stmt = $c->prepare("SELECT pavarde FROM user WHERE vardas=?"); // formuluojame uzklausa i kuria poto galime istatyti kintamuosius pateikto zmogaus ir pns.
$stmt->bind_param("s",$vardas); // istatome i uzklausa
$stmt->execute(); // pateikiame serveriui uzklausa
$stmt->bind_result($pavarde);// issaugome pavarde, kad galetume ja poto atvaizduoti
// belieka
echo $pavarde; // tai turetu mums rodyti jono pavarde
SQL Injekcijos ir apsauga nuo ju:
Kas tai? : http://www.tinklusaugumas.lt/cgi-bin/moin.py/SQLi
Taigi naudojant paruostas uzklausas, mums nereikia naudoti visokiu mysqli_real_escape_string
ir t.t. Uz mus viska tai padaro PHP.Manau tai tikrai sutaupo daug laiko bei kodo svarumo ir padidina sauguma.
Zadeta prisijungimo sistema:
Del temos "grazumo" pateikiu Git: https://github.com/Erlisbl/login_prepared_statements
Šita tema neturi atsakymų! Būk pirmas!