Pogledajte određenu poruku
Staro 08. 11. 2006.   #22
Ilija Studen
Direktor Kombinata
Invented the damn thing
 
Avatar Ilija Studen
 
Datum učlanjenja: 07.06.2005
Poruke: 2.669
Hvala: 44
119 "Hvala" u 64 poruka
Ilija Studen će postati "faca" uskoroIlija Studen će postati "faca" uskoro
Default

Citat:
Originalno napisao dinke
A sta ako user posalje nesto tipa page = ../../../foo ? ladno ce taj fajl traziti ispod page dira o kome pricas. Sve u svemu, vrlo insecure.
100% si u pravu. Rupčaga!

PHP kôd:
if(!preg_match("/^([a-zA-Z0-9_]*)$/"$page)) {
  die(
'Invalid file name');
// if 
Ili još jednostavnije:

PHP kôd:
if(strpos($page'.') !== false) {
  die(
'Invalid page name');
// if 
Citat:
Originalno napisao ivanhoe
ma bre Ilija sta fali tome da imas niz u kome pisu sve stranice koje je moguce inkludovati...ccc, sto ste bre toliko lenji...ova omladina, sve bi automatski

em je znatno sigurnije, em kad otvoris kod posle x meseci znas odmah koje strane se ukljucuju za koji ulazni parametar, bez da trazis po direktorijumima i tumacis mogucnosti...
Ručno moraš da edituješ fajl ako nešto dadaš što je ponekad smor. Oba će raditi posao bez ikakvih problema, tako da je sve manje više stvar ukusa... Ipak više volim kada skripta radi veći deo prljavog posla za mene.

Btw, ja bih od ovoga napravio klasu Prima dva parametra - odakle da pokupi ime stranice i gde su smeštene stranice. Dokle god je interfejs klase čitak bole me uvo šta je ispod haube. Tipa:

PHP kôd:
$dispatcher = new Dispatcher(dirname(__FILE__) . '/pages');
$dispatcher->dispatch(@$_GET['page']); 

Poslednja izmena od Ilija Studen : 08. 11. 2006. u 00:27.
Ilija Studen je offline   Odgovorite uz citat