Kezdőoldal » Számítástechnika » Programozás » Hogyan tudok ebben az esetben...

Hogyan tudok ebben az esetben sql injekció ellen védekezni?

Figyelt kérdés

Van nekem egy menu.php fájlom, amiben a menüpontok tartalmai jelennek meg, amiket mysql adatbázisból hívok le, get segítségével alkalmazom tehát url cím így jelenik meg: menu.php?id=1 vagy menu.php?id=2 és így tovább. Előbb figyelmeztettek, hogy így eléggé törékeny az oldalam és sql injekció alkalmazható. Mit tudok ez ellen tenni? A lehívásom így valósul meg:


$postid = $_GET['id'];

$data = mysql_query("SELECT * FROM datas WHERE post_id = '".$postid."' ORDER BY id DESC") or die(mysql_error());


Köszönöm előre is a válaszokat!



#php #MySQL #sql injekció
2014. szept. 28. 10:39
 1/3 Tengor ***** válasza:
52%

Egyrészt ne a mysql_ kezdetű függvényeket használd, hanem a mysqli_ kezdetűeket v. PDO-t. Ezen kívül pedig használj preparated statementeket a query-k összerakásához és ne így stringként fűzögesd össze.

Ez az alap. Aztán még lehet extraként betenni olyasmit, hogy a bemenetekből az SQL foglalt szavait kidobálod (SELECT, DROP) - persze ez bizonyos helyzetekben problémás lehet.

2014. szept. 28. 10:44
Hasznos számodra ez a válasz?
 2/3 anonim ***** válasza:
100%

Itt nálad a "legkönnyebb" megoldás az lenne, ha a $_GET lekérésekor egy mysql_real_escape_string-et ráhívnál.


Ugyanakkor a "szebb" megoldás az lenne, ha a sima mysql_* hívásokat elfelejtenéd, mivel már deprecated és nem javasolt a használata és áttérnél a mysqli-re vagy a PDO-ra, ahol szép prepared statementeket lehet írni.

2014. szept. 28. 10:45
Hasznos számodra ez a válasz?
 3/3 anonim ***** válasza:

Így van. Nem mellesleg a prepared statement segítségével megúszható, hogy teleszórd* a forrásfájlokat mysqli_real_escape_string hívásokkal.


* [link]

2014. szept. 28. 11:07
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!