PHP kódomról vélemény? Jó így használni, ha nem akkor hogy?
A lényeg hogy kiiratom az adatbazis termékek táblát
, és mindegyik terméket belehelyezem egy linkbe pl:
while () {
echo "<a href='index.php?product=$r[id]'>$r['name']</a> ";
}
És ha rákattintok, akkor az adott ID-ju elemet tolti be:
if(isset($_GET[product])) {
$query = "select * from product where id=$_GET[product]";
}
Amit előző írt,az a múlté.
PDO MySQL-t kezd inkább tanulmányozni.
iigy?
if(isset(mysql_real_escape_string($_GET[product]))) {
Nem igazán jó főleg nekem a második részével if(isset($_GET[product])) {
$query = "select * from product where id=$_GET[product]";
}
el van bajom. Ez a kód teljesen alkalmas az úgynevezett sql injekciós támadásra. Mivel nem ellenörződ a $_GET['product'] változó értékét ezért megcsinálhatja egy külső támadó a következő nagyon csúnya utasítást,ha a $_GET['product']-nak megadja a következő
3;drop table product. Mivel a sql értelmező ezt fogja végrehajtani, így gyak törölte a tábládat. De pl. meglepetést okozhat ha valahogy kitalálja a userek adatait tartalmazó táblát és valahogy kiíratja az admin jelszót, persze csak annak hashét, ha te azt használtad.
Éppen ezért, én a következőt tenném, és nem utolsó sorban $_Post-os paraméterátadást kellene használni:
Nem a legszebb megoldás de legalább azt megnézném, hogy numerikus-es az id. Illetve egy mysql_real_escape_stringet is végrehajtanék.
Azaz
if(isset($_POST['product'] && is_numeric($_POST['product'])
{
$id=$_POST['product'];
$query = sprintf("SELECT * FROM product WHERE id='%s');
mysql_real_escape_string($id);
}
A numerikus ellenörzés után azért használom, a mysql_real_escape_string-et, mert könnyen meg lehet adni 16-os számrendszerben is a megfelelő karakterek kódját és ekkor az isnumeric be van "csapva". Persze ne felejtsd el végrehajtani a $query-t sem.
meg akarom tartani a GET-et hogy eltujam linkelni valakinek a keresett terméket. Mert POST-al én nem tudom:/
Szóval akkor csak le kell védeni a GET változót. Szóval akkor nincs másmilyen hivatkozás nem? Másmilyen URL elérés. Mert nagyon sok helyen láttam, ezt , és gondoltam így <a href>-el csinaljak. Megprobalok csinalni egy masikat. Véleményezhetitek ha van idő rá:D
Kapcsolódó kérdések:
Minden jog fenntartva © 2025, 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!