PHP-ben SQL Injection elkerülése?
Sziasztok!
Eddig csak a regisztrációs formnál ügyeltem az sql injection kivédésére, de arra jöttem rá, hogy szerintem az összes olyan lekérdezésnél, ahol a felhasználó adhatja meg a paramétereket, meg kéne csinálnom sql injection ellenire.
Minden ilyen esetnél kéne, vagy csak bizonyos esetekben? Van valami gyors módszer, hogy ne kelljen mindenhol leellenőríztetnem, és hiba üzenetet kiíratnom?
Ez az ami kell neked.
Amíg nem tudod, mi a helyzet, addig felejtsd el a keretrendszereket. Ilyen alap dolgokat plain php-val is meg kell, hogy tudj oldani, anélkül, hogy a framework a segged alá pakolná a megoldást.
Azeléggé megkönnyítené a dolgomat, mert akkor csak az update-s dolgoknál kéne átírnom, nem?
És hogyan működik?Hogyan használhatom?
Ha a lekérdezésben van felhasználói bemenet is, MINDIG paraméteres lekérdezést használj! Ne próbáld escapelni a karaktereket, ezek a különböző módszerek biztonsági hibákat rejthetnek, rejtenek.
A paraméteres lekérdezést pont ezért találták ki. A lényege az, hogy előkészítesz egy lekérdezést, amiben megjelölöd hogy hol vannak a paraméterek. Ezt az előkészített paraméteres lekérdezést elküldöd a szervernek a paraméterekkel együtt, és az SQL szerver fogja a paramétereket közvetlenül feldolgozni, a paraméterek soha sem fognak a lekérdezés részévé válni.
PHP 5-től kezdődően mysql_* parancsok helyett a mysqli_* parancsokat kell (kéne) használni, ez sokmindenben jobb mint az elődje, többek között támogatja a paraméteres lekérdezéseket.
Példakódokat a paraméteres lekérdezésről itt találsz:
Ezen kívül van lehetőség a PDO használatára is. A PDO nem csak mysql adatbázisokat támogat.
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!