Pereiti prie turinio

real_escape_string


Rekomenduojami pranešimai

Del tu kabuciu irgi norejau klausti, keista nenaudoju, bet nemeta sintakses klaidu. Del tos bibliotekos tai ten tik del patogumo? Bet ar sitas pavizdys escapins, nes

 

http://php.net/manual/en/mysqli.real-escape-string.php

 

Rašo, kad koduotę reikia pakeist kitaip ten neescapins

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Jei įjungtum warrnings gautum įspėjimus, tas tavo text dabar traktuojamas kaip konstanta, nežinau kokie php ini nustatymai ir kokioj aplinkoj dirbi, bet neesmė čia, ta biblioteka ne tik patogumui skirta, ji už tave padaro daug dalykų, plius praplečia funkcionalumą, gauni papildomų funkcijų kurių dažniausiai reikia. Tu irmaliai taip nepaescapinsi čia reikia daryti mysqli_prepare, žodžiu patarimas naudoti jau paruoštą biblioteką.

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Nu jo, bet jūs rašėt, kad dar čia ne pilnai escapina taip kaip aš parodžiau nu tos kabutės jas dadėsiu

 

Kaip tai ne visai... Jeigu kviečiama funkcija, vadinasi, jos funkcionalumas panaudojamas 100 procentų. Darbine prasme kodas – 200, tačiau tinkinimo prasme geriau jau būtų 404.

Nuoroda į pranešimą
Dalintis kituose puslapiuose

O tarkime reikia tokio dalyko kaip ilgio tikrinimo jeigu yra teksto ivedimas, o as ta teksta escapinu, jeigu jis bus koks ilgas labai kokiu blogu dalyku nutikt?

 

Kintamojo turinio dydį privalu kontroliuoti ne client-side (nebent sugebėtum tai padaryti genialiu būdu), kadangi HTML (ar kitoniškų ženklinimo terpių) apibrėžtis klientas gali nesunkiai pergudrauti.

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Kopinu tekstą kaip iš tos pačio puslapio kaip galima daryti:

 

$mysqli->query("INSERT INTO mytable (`name`, `rank`, `location`, `age`, `intelligence`) 
 VALUES ('" . $mysqli->real_escape_string($name) . "','"
 . $mysqli->real_escape_string($rank) . "','"
 . $mysqli->real_escape_string($location) . "',"
 . intval($age) . ",'"
 . $mysqli->real_escape_string($intelligence) . "')");

 

Ir kaip tas pats dalykas atrodo su meekrodb:

DB::insert('mytable', array(
 'name' => $name,
 'rank' => $rank,
 'location' => $location,
 'age' => $age,
 'intelligence' => $intelligence
));

 

Gali escapint per mysqli real escape bet tau reikės visada visur nepamiršti to padaryti, viena iš priežasčių kodėl nerekomenduojama taip daryti, nes tiesiog praleisi kurią nors vietą.

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Prisijunkite prie diskusijos

Jūs galite rašyti dabar, o registruotis vėliau. Jeigu turite paskyrą, prisijunkite dabar, kad rašytumėte iš savo paskyros.

Svečias
Parašykite atsakymą...

×   Įdėta kaip raiškusis tekstas.   Atkurti formatavimą

  Only 75 emoji are allowed.

×   Nuorodos turinys įdėtas automatiškai.   Rodyti kaip įprastą nuorodą

×   Jūsų anksčiau įrašytas turinys buvo atkurtas.   Išvalyti redaktorių

×   You cannot paste images directly. Upload or insert images from URL.

Įkraunama...
  • Dabar naršo   0 narių

    Nei vienas registruotas narys šiuo metu nežiūri šio puslapio.

×
×
  • Pasirinkite naujai kuriamo turinio tipą...