Autor | Zpráva | ||
---|---|---|---|
Mikeses Profil |
#1 · Zasláno: 8. 1. 2010, 19:56:53
mam stranku, kde mam reg. uzivatele atd. link vypada nejak takto ' ?menu=profil&id=1 ' ale kdyz dame '?menu=profil&id=+1' db nehodi error, na strance se vyskytnou chyby ktere lze vyuzit, zkusil jsem !is_numeric strpos is_int, ae zadna funkce nezabranila pouzivani + . PLS HELP
|
||
mckay Profil |
#2 · Zasláno: 8. 1. 2010, 19:58:59
Mikeses:
Není mi z toho popisu zcela jasné o co jde, ale řešil bych to tak, že datům z $_GET nebezpečné symboly(+,-) odstraním pomocí str_replace(); |
||
Mikeses Profil |
#3 · Zasláno: 8. 1. 2010, 19:59:50
str_replace sem zkousel, beze zmeny, symbol - sem odstranil ae + zustava .
|
||
Radek9 Profil |
#4 · Zasláno: 8. 1. 2010, 20:01:03 · Upravil/a: Radek9
Mikeses:
To proto, že PHP příjme + z adresy jako mezeru. |
||
Mikeses Profil |
#5 · Zasláno: 8. 1. 2010, 20:01:52
aha, a jak se to da vyresit ?
|
||
Radek9 Profil |
#6 · Zasláno: 8. 1. 2010, 20:02:18
Mikeses:
Odstranit mezeru? |
||
Mikeses Profil |
#7 · Zasláno: 8. 1. 2010, 20:03:39
ano, jde udfelat ze odstranime '?menu=profil&id= (tuto mezeru) 1' ?
|
||
Jan Tvrdík Profil |
#8 · Zasláno: 8. 1. 2010, 20:13:44
Mikeses:
$id = (int) trim($_GET['id']); |
||
Mikeses Profil |
#9 · Zasláno: 8. 1. 2010, 20:21:58
to nepomaha
|
||
Majkl578 Profil |
#10 · Zasláno: 8. 1. 2010, 20:48:51 · Upravil/a: Majkl578
Toto ověří, že klíč id v _GET existuje a je číselná hodnota.
if (empty($_GET['id']) || !preg_match('~^[0-9]+$~', $_GET['id'])) { throw new LogicException('Invalid id given'); } Popřípadě toto odstraní všechny nečíselné znaky: $id = preg_replace('~[^0-9]*~', '', $_GET['id']); |
||
Časová prodleva: 13 let
|
0