Forum » Izdelava spletišč » Odstranitev določenega parametra v PHP
Odstranitev določenega parametra v PHP
poweroff ::
Kot vemo URL lahko vsebuje določene parametre... recimo krneki.php?p1=lalal&p2=hopsasa Včasih URL vsebuje tudi parameter PHPSESSID=xxxxxxxxxxxxx.
No, nisem čisto prepričan da je ta parameter vedno na začetku (se pravi da je najprej ta parameter, potem sledijo ostali), zato me zanima kako bi naredil "varno" odstranjevanje tega parametra.
To pomeni da bi iz URLja, se pravi nekega stringa odstranil samo PHPSESSID=xxxxxxxxxxxxx, ostalih parametrov pa ne - ne glede na to ali je PHPSESSID na zacetku, koncu ali na sredini.
Oziroma posplošeno - rad bi naredil odstranjevanje poljubnega parametra, ne glede na njegovo lokacijo v URLju.
No, nisem čisto prepričan da je ta parameter vedno na začetku (se pravi da je najprej ta parameter, potem sledijo ostali), zato me zanima kako bi naredil "varno" odstranjevanje tega parametra.
To pomeni da bi iz URLja, se pravi nekega stringa odstranil samo PHPSESSID=xxxxxxxxxxxxx, ostalih parametrov pa ne - ne glede na to ali je PHPSESSID na zacetku, koncu ali na sredini.
Oziroma posplošeno - rad bi naredil odstranjevanje poljubnega parametra, ne glede na njegovo lokacijo v URLju.
darh ::
$string = "krneki.php?p1=lalal&p2=hopsasa&PHPSESID=xxxxxxxxxxxxx&xbite=car";
echo preg_replace("/(\&|\?)PHPSESID=([a-z0-9]+)/i","", $string);
tale ti bo odstranil samo ? ali &, PHPSESID= in poljubno število znakov v množici od a do z in od 0 do 9 (sessionID je itak sestavljen samo iz tega)
če bi rad za še kej drugega, pa pač zamenjaš PHPSESID pa je...
lp,x
Excuses are useless! Results are priceless!
darh ::
ok.. tale je mal buggy, ker ti odstrani tud ?, če je PHPSESID na začetku.. to pa je u badu, če maš še kak parameter na koncu...
tale bo bolj prav... sicer ti pusti mal svinarije (kak odvečen &) kar pa ni neč narobe...
aja... lahko narediš tudi takole:
hihi...
tale bo bolj prav... sicer ti pusti mal svinarije (kak odvečen &) kar pa ni neč narobe...
$string = "krneki.php?PHPSESID=xxxxxxxxxxxxx&xbite=car";
echo preg_replace("/PHPSESID=([a-z0-9]+)/i","", $string);
aja... lahko narediš tudi takole:
$string = "krneki.php?pikabu=nekej&PHPSESID=xxxxxxxxxxxxx&xbite=car";
list($url, $qstring) = explode("?", $string );
$getVars_tmp = explode("&", $qstring);
foreach( $getVars_tmp as $param )
{
list($key,$val) = explode('=',$param);
$getVars[$key] = $val;
}
unset($getVars['PHPSESID']);
unset($getVars_tmp);
foreach( $getVars as $key => $val )
{
$getVars_tmp[] = $key."=".$val;
}
echo $url."?".implode("&",$getVars_tmp);
hihi...
Excuses are useless! Results are priceless!
Zgodovina sprememb…
- spremenil: darh ()
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | Javascript DOM based XSS vulnerabilityOddelek: Programiranje | 2848 (2270) | MrStein |
» | PHP - stringiOddelek: Izdelava spletišč | 1798 (1621) | pehape |
» | E-prijavnicaOddelek: Izdelava spletišč | 2325 (1821) | bluefish |
» | dolžina vnešenega tekstaOddelek: Izdelava spletišč | 1722 (1335) | darh |
» | Tracking v PHPjuOddelek: Programiranje | 1711 (1596) | darh |