Autor | Zpráva | ||
---|---|---|---|
tynko Profil * |
Ahojte potreboval by som poradit
mam php videa.php?linkid=5 kde z databazy taham info o linkid=5 ale ked dam iba ciste videa.php je tam cista www kedze z databazy sa nic netaha ako osetrit toto aby tam bolo nieco popripade presmerovania na index alebo take nieco dik za kazdu radu — Moderátor: upravil jsem nadpis. — |
||
Timy Profil |
#2 · Zasláno: 29. 12. 2007, 22:51:28
if(!isset($_GET["linkid"]))
|
||
djlj Profil |
#3 · Zasláno: 30. 12. 2007, 00:03:30
if(!isset($_GET["linkid"]) || !intval($_GET["linkid"]))
|
||
anode Profil |
#4 · Zasláno: 30. 12. 2007, 00:21:29
if (empty($_GET['linkid'])) { ... } :) a při cpaní přímo do dotazu přetypovat na int a hotovo |
||
tynko Profil * |
#5 · Zasláno: 30. 12. 2007, 00:23:04
a skusil by mi to niekto aj dat dnu do php
hadam som zobral tu dobru cast dalej je uz iba zapis do databazy if ($linkid == "") {} else { $query = "SELECT * FROM links_clickmov WHERE url = '$linkid'"; $result = mysql_query($query); if(!$result) { echo mysql_error(); exit; } if(mysql_num_rows($result) == 0) { $query = "INSERT INTO links_clickmov VALUES('$linkid', 1)"; $result = mysql_query($query); } else { $query = "UPDATE links_clickmov SET count = count + 1 WHERE url = '$linkid'"; $result = mysql_query($query); } a neda sa spravit tak aby sa mi nacital obsah napr index.php |
||
BetaCam Profil |
#6 · Zasláno: 30. 12. 2007, 01:06:40
if (!isset($linkid) OR $linkid == "" OR !intval($linkid)) { header("Location: index.php"); } else { $query = "SELECT * FROM links_clickmov WHERE url = '$linkid'"; $result = mysql_query($query); if(!$result) { echo mysql_error(); exit; } if(mysql_num_rows($result) == 0) { $query = "INSERT INTO links_clickmov VALUES('$linkid', 1)"; $result = mysql_query($query); } else { $query = "UPDATE links_clickmov SET count = count + 1 WHERE url = '$linkid'"; $result = mysql_query($query); } |
||
K. Profil * |
#7 · Zasláno: 30. 12. 2007, 01:11:36
anode
A co kdyz bude v systemu existovat linkid 0? To, ze fce empty vraci true na retezec "0", me az nehorazne stve. |
||
Fantomasmag Profil |
#8 · Zasláno: 30. 12. 2007, 02:58:35
Tak to vrácení 0 nějak ošetři, třeba přesměrováním
|
||
tynko Profil * |
#9 · Zasláno: 30. 12. 2007, 09:46:54
BetaCam - dik za upravu
Fantomasmag - ahoj no pokial mas trosku casu a chcelo by sa ti osetrit tu 0 lebo ja netusim + keby mi este niekto vedel helfnut ked si opitam linkid ktore este nieje v databaze tak da to stranku bez obsahu kedze nema tam co davat toto by sa nedalo daako osetrit ? ale asi tento kus kodu nestaci alebo hej ? |
||
v6ak Profil |
#10 · Zasláno: 30. 12. 2007, 10:10:37
Řekl bych, že intval nic neřeší:
>>> var_dump(intval("12'\n--")) int(12) Pokud bude intval jen v podmínce, tak to SQL injekci nezabrání. Ledaže používáte nedoporučované magic_quotes_gpc. Navíc header("Location: index.php"); neukončí skript, je potřeba ještě die;. |
||
anode Profil |
#11 · Zasláno: 30. 12. 2007, 11:34:17
K.
No ono naštěstí většinou (asi i v tomhle případě) je to ID do tabulky, kde předpokládám auto_increment, tedy nečekám zde hodnotu 0. Takže já si klidně dovolím ten luxus a empty() použiju :) |
||
BetaCam Profil |
#12 · Zasláno: 30. 12. 2007, 21:38:47
v6ak
Ledaže používáte nedoporučované magic_quotes_gpc. Ošetřit vstupy musíš stejně ať už sou magic_quotes zaplé nebo nebo nejsou. Navíc původní tazatel se neptal na ošetření proti SQL injection. To jak si to člověk pořeší je jeho věc (slashování se stejně nevyhne). |
||
v6ak Profil |
#13 · Zasláno: 31. 12. 2007, 12:31:21
BetaCam
Ošetřit vstupy musíš stejně ať už sou magic_quotes zaplé nebo nebo nejsou. Nevím, jak je na tom magic_quotes_gpc se znakovou sadou, ale při dodržení určitých podmínek někdy možná ne. Nicméně: magic_quotes_gpc je hnus. Navíc původní tazatel se neptal na ošetření proti SQL injection. Neptal, ale může s tím mít problém. |
||
BetaCam Profil |
#14 · Zasláno: 31. 12. 2007, 15:31:37
v6ak
magic_quotes_gpc je hnus Nevim nepoužívám nemohu ve větší míře soudit. Nevím, jak je na tom magic_quotes_gpc se znakovou sadou, ale při dodržení určitých podmínek někdy možná ne. Ano, ale to je zase každého věc jestli spoléhá na magic_quotes_gpc nebo si to radši slashuje sám a má to tedy plně pod kontrolou. Navíc ošetřením sem nemyslel jen slashování, ale i různé přetypování atd. |
||
Časová prodleva: 16 let
|
0