Kezdőoldal » Számítástechnika » Weblapkészítés » Mysql injection kivédése?

Mysql injection kivédése?

Figyelt kérdés
Eddig nem naon foglalkoztam vele, me ki akarna feltorni az én aranyos oldalamat, de a latogatok szama rohamosan no. nem naon értem mi ez a mysql_real_escape_string() dolog. megkoszonném ha vki elmagyarazna roviden. nem elég ha a '-ot találok a $_POST-ban akk hibauzizek és nincs lekérés?
2011. ápr. 23. 20:13
 1/10 A kérdező kommentje:

ja és ha mar erre jarsz erre is valaszlj pls:

http://www.gyakorikerdesek.hu/szamitastechnika__weblapkeszit..

2011. ápr. 23. 20:17
 2/10 anonim ***** válasza:

Ha szöveg vagy karakterlánc megy az adatbázisba, akkor kell használnod a mysql_real_escape_string függvényt.


Viszont, ha az adatbázisba más típusú adat megy, akkor mást kell csinálj... át kell változtatnod a kapott paraméter típusát.

pl. ha szám akkor:

$egeszszam = (int) $egeszszam;

$valosszam = (double) $valosszam;

stb.

(ez azért működik, mert a PHP úgy alakítja át a szöveget számmá, hogy amit tud átalakít, a többit pedig elhagyja.

[link] )


Na most igazad van, sok esetben elég lenne a ' jelek kiszedése.

Viszont ha nem használod a ' karaktert számok bevitelekor akkor:

pl:

$q = "SELECT * FROM valami WHERE id=".$id;

legyen id = "0 OR 1"

ez lesz:

"SELECT * FROM valami WHERE id=0 OR 1"

Szóval így támadható. De ha odafigyelsz, akkor talán jó is lehet.


Gondolom a PHPhez értesz valamennyire... itt is a karakterláncokban ha pl "-t akarsz tenni akkor elébe rakhatsz egy \ jelet.

pl. $q = "\"";

A mysql_real_escape_string ugyanezt csinálja a ' jelekkel.


Ha érdekel a biztonság dolog, ezt is megnézheted XSS ellen. :P

[link]

(pl. ha egy javascript kódot írok egy kommentbe, ami átirányít máshova... ha a kommentemet ezen átfuttatod, akkor csak meg fog jelenni a kód, viszont ha nem, akkor simán lefut és mindenkit átirányít tőled egy másik oldalra :P)

2011. ápr. 23. 20:43
Hasznos számodra ez a válasz?
 3/10 A kérdező kommentje:
akkor az jo, h szamokat is '-ozom, és nincs lekérés ha volt ' a $_POST-ban? js ellen nem elég ha még a < is tiltom?
2011. ápr. 23. 21:37
 4/10 A kérdező kommentje:

Egy vicces kép a témához:

[link]

2011. ápr. 23. 21:46
 5/10 anonim ***** válasza:
Elobb tanulj meg magyarul.
2011. ápr. 29. 13:18
Hasznos számodra ez a válasz?
 6/10 A kérdező kommentje:
pedig eddig birtalak 6okor. nah mind1. vkinek még értelmes gondolata, mint az elsonek?
2011. ápr. 29. 23:41
 7/10 A kérdező kommentje:
az a problémad, h a mindegy helyett mind1-et irok, meg az akkor helyett akk-ot? me nyelvtanilad nem igazan talaltam hibat a hsz-eimben. még a vesszok is jo helyen vannak sztem. dobnal vmi referenciat? csak, h lassam tényleg akkora sztar vagy, h oltogass masokat.
2011. ápr. 29. 23:46
 8/10 anonim ***** válasza:

Első vagyok.

Szerintem, ha hibát is adsz a ' jelekre és a < jelekre, az még önmagában nem elég. Pontosan nem tudom, hogy viselkedik a MySQL a számok esetében, de azt hallottam, hogy ha a szám helyett karaktereket is kap, fura, váratlan dolgok is történhetnek. (ezért javasoltam, hogy ami számként megy be az adatbázisban, azt alakitsd számmá PHPben is...)

Karakterláncoknál valószínűleg elég, ha hibát dobsz a ' jeleknél.

A < jelek pedig viszonylag gyakran használt írásjelek is lehetnek (pontosabban az oldalad témájától függ... pl. ha matek is van rajta akkor gyakran lehetnek ilyenek :P). Ezért jobb a htmlentities függvény a jelek tiltásánál.

(Ha angol nyelvű is az oldalad, akkor a ' jel is gyakori lehet, de a magyar nyelvben ritka.)

2011. ápr. 30. 10:40
Hasznos számodra ez a válasz?
 9/10 A kérdező kommentje:
igen, igazad van. lehet inkabb "-ot fogok használni és tiltani. js kivédésnek még utananézek, köszönöm!
2011. ápr. 30. 10:48
 10/10 anonim válasza:
XSS ellen, meg strip_tags()
2011. jún. 23. 16:28
Hasznos számodra ez a válasz?

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

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!