Čišćenje GET funkcije

Čišćenje GET funkcije

offline
  • Web Designer, PHP Developer; HTML, CSS, SQL, jQuery Programmer
  • Pridružio: 13 Jun 2010
  • Poruke: 307
  • Gde živiš: Subotica

Pozdrav drugari!
Opet sam se pravio pametan i spetljao sam jedan kod koji me nervira i ne znam zašto ne radi:

function http_clean($content, $option='default') {    return trim((($option=='number') ? preg_replace("@([^0-9]\-_)@Ui", "", trim($content)) :    (($option=='word') ? preg_replace("@([^a-zA-Z\-_ ])@Ui", "", trim($content)) :    (($option=='text') ? preg_replace("@([^a-zA-Z0-9\+\-_()*!,.;\?#:'%/\" ]+)@Ui", "", trim($content)) :    (($option=='default') ? preg_replace("@([^a-zA-Z0-9\-_ ])@Ui", "", trim($content)) :    die("PHP ERROR: You must enter option into <em>http_clean($content, <strong>$option</strong>)</em>")))))); } /*************************************/ function GET($name, $option) {    return isset($_GET[$name]) ? (!empty($_GET[$name]) ? http_clean($_GET[$name], $option) : NULL) : NULL; }

Svrha ovog koda je da spreči druge bezvezne pozive i ubacivanja raznih javaskripta i HTML elemenata preko GET ili POST funkcije ali imam jedan problem.

Kada koristim funkciju na primer:
http_clean($_GET['id'], 'number');
Onda lepo radi, u stringu dozvoljava samo brojeve i znakove -_

Ali kada hoću da koristim funkciju koja je uprošćena verzija za pisanje GET funkcije:
GET('id', 'number');
-onda se jednostavno funkcija http_clean() poništava.

Zašto???

Inače funkcija http_clean() ima 4 opcije: number, word, text i default



Registruj se da bi učestvovao u diskusiji. Registrovanim korisnicima se NE prikazuju reklame unutar poruka.
offline
  • Peca  Male
  • Glavni Administrator
  • Predrag Damnjanović
  • SysAdmin i programer
  • Pridružio: 17 Apr 2003
  • Poruke: 23211
  • Gde živiš: Niš

možda da probaš:
return (isset($_GET[$name]) ? (!empty($_GET[$name]) ? http_clean($_GET[$name], $option) : NULL) : NULL);

dodao sam samo zagrade na početku i kraju.



offline
  • C# and PHP Developer
  • Pridružio: 16 Feb 2011
  • Poruke: 1630
  • Gde živiš: Pancevo

Sta ti vraca var_dump

offline
  • Web Designer, PHP Developer; HTML, CSS, SQL, jQuery Programmer
  • Pridružio: 13 Jun 2010
  • Poruke: 307
  • Gde živiš: Subotica

Napisano: 06 Jun 2013 15:35

_iKaC ::Sta ti vraca var_dump


Ako stavim:
// suboption je: 51fs<br>d11 echo var_dump(GET('suboption', 'number'));
onda daje rezultat:
string(11) "51fs<br>d11"
...a treba da rezultat inače bude: 5111

Treba da očisti string ali to ne radi.

Dopuna: 06 Jun 2013 15:47

Peca ::možda da probaš:
return (isset($_GET[$name]) ? (!empty($_GET[$name]) ? http_clean($_GET[$name], $option) : NULL) : NULL);

dodao sam samo zagrade na početku i kraju.

Isto... GUZ - Glavom U Zid

Ko je trenutno na forumu
 

Ukupno su 1086 korisnika na forumu :: 40 registrovanih, 6 sakrivenih i 1040 gosta   ::   [ Administrator ] [ Supermoderator ] [ Moderator ] :: Detaljnije

Najviše korisnika na forumu ikad bilo je 3466 - dana 01 Jun 2021 17:07

Korisnici koji su trenutno na forumu:
Korisnici trenutno na forumu: 100ka, ArchaBasha, armor, Bobrock1, bojank, bozomotika, cifra, darcaud, dekan.m, djordje92sm, Dorcolac, hyla, ikan, ILGromovnik, Istman, ivan979, kolle.the.kid, Kubovac, kybonacci, lord sir giga, mean_machine, Miki01, mkukoleca, nenad81, panzerwaffe, Povratak1912, procesor, RED4G-304, savaskytec, sevenino, shaja1, simazr, Srky Boy, Srle993, tmanda323, Trpe Grozni, Tvrtko I, Zimbabwe, Zvrk, 2001