Mysqli_real_escape_string funkció php
mysqli_real_escape_string () függvény - megszökik speciális karakterre, hogy a használt SQL-lekérdezés, prinmimaya véve a kódoló vegyület, hogy a végeredmény is biztonságosan használható SQL-lekérdezést a funkció mysqli_query ().
mysqli_real_escape_string (MySQL szerver azonosítója string)
Tekintsük a példát használja ezt a funkciót. Először is, a példa, hozzon létre egy táblázatot a „tesztelő”, aztán add hozzá az adatokhoz.
De mi van, ha a felhasználó elküldi a következő adatokat:
Ebben az esetben, balesetet okoz, ha hozzá egy felhasználó, mysqli_error () funkció kijelzi a hiba szövegét: „Van egy hiba az SQL szintaxis”, ami elvileg nem kritikus a rendszer egészére.
Most tekintsünk egy olyan helyzetben, amikor az információk frissítésére SQL-lekérdezés UPDATE.
Hogy ugyanazt a kódot, csak egy kis változás is.
Ez a kód működni fog, amíg a felhasználó nem továbbít adatokat:
Ebben az esetben kapunk egy SQL-lekérdezés:
UPDATE users set password = '' #
Most a probléma megoldásához használja mysqli_real_escape_string () függvényt.
Persze, az algoritmus ezt a kódot nem tökéletes, de ez volt írva csak annak bizonyítása érdekében, hogy szükség mysql_real_escape_string () függvényt.
Példa semlegesítés adatok MySQL
A PHP a beépített tulajdonsága „magic quotes”, amely automatikusan menekül minden szimpla és dupla idézőjelek, mint problémát okoz. Egyes programozók ki ezt a funkciót, hogy helyezze be a kódot, amely felelős a biztonság. Támaszkodnak a tulajdona „magic quotes” nem éri meg.
Tulajdon „magic quotes” nem ajánlott, mivel a PHP 5.3.0, PHP 6.0.0 és ez általában eltávolításra került.
Itt van a helyes megoldás a rendelkezésére álló adatok a felhasználó által bevitt elfogadható MySQL:
Funkció get_magic_quotes_gpc () - kap az aktív konfigurációs beállítás „mágikus” idézi GPC. TRUE értéket ad vissza, ha az ingatlan „magic quotes” aktív.
Ha a „magic quotes” funkció be van kapcsolva, a hozzáadott törtvonal el kell távolítani, különben a mysql_real_escape_string () függvény letilthatja a karakterek kétszer, így a vonalak nem alkalmasak a további munkához.
stripslashes () függvény - eltávolítja árnyékolás karaktereket.
Itt egy másik példa:
Ezután adjunk hozzá htmlspecialchars () függvényt. amely átalakítja speciális karaktereket HTML entitások.
A HTML-ben, néhány karakter különleges jelentősége van az egészség megőrzését értékeket át kell HTML entitások. Ez a függvény egy karakterláncot, amely fölött végzett néhány ilyen átalakításokat. Ezek a változások elég a legtöbb webes programozási feladatokat. Ha meg kell átalakítani, hogy minden lehetséges értelemben használja htmlentities ().
html_entity_decode - éppen ellenkezőleg, átalakítja a HTML-entitások az alkalmazandó karaktert, akkor az ellentéte htmlentities () függvényt.