Autor Zpráva
toXic
Profil *
Dobrý den, dělám stránku přes neco.php?page=neco a četl jsem že je to snadno napadnutelné.. proto tam dělám ochranu. A o to jde mám tam už kontrolu jestli za ? je nějaká hodnota, + tam mám vyjmenované povolené hodnoty proměnných page.. ,ale dělal jsem si ještě kontrolu existence souboru takhle:
$file = "$page.".php"; 
if (!file_exists($file)) 
{
$file = "index.php";
}

Ale když chci načíst stránku tak mi to v mozille hodí bílou prázdnou stránku a nic, (v chromu to vyhodí nějakej internal error). Vůbec netuším kde by v tom scriptu mohla být chyba kdyby se na to někdo zkušenější podíval budu moc rád.. Díky
petr 6
Profil
Vůbec netuším kde by v tom scriptu mohla být chyba
Použij pro psaní kódu editor, který zvýrazňuje syntaxi podobně jako v této diskusi. Pak uvidíš, že ti na prvním řádku přebývají jedny uvozovky.
toXic
Profil *
Takže takhle je to dobře?

$file = "$page..php"; 
if (!file_exists($file)) 
{
$file = "index.php";
}


A ještě se chci zeptat jestli si myslíte že ohrany co jsem vypsal výše jsou dostačující díky..
xmark
Profil
toXic:

"toto je text"
'toto je text (druhá možnost)'
$toto_je_promenna
Spojuje se to tečkou.

Jde to i jinak, ale toto mi připadá nejsnadnější k pochopení. Funguje to i tak, jaks to napsal, ale zjevně nechápeš proč.
petr 6
Profil
toXic:
Takže takhle je to dobře?

Testuješ ten svůj kód vůbec? Máš tam troje uvozovky, takže i kdyby ses nevyznal v tom, co píšeš (což zřejmě je tato situace), tak máš díky mojí radě tři pokusy, jak to opravit a vyzkoušet, jestli to funguje. Případně se můžeš zeptat, jak funguje spojování řetězců.

K tvé otázce: Není.
Taps
Profil
toXic:
$file = $page.".php"; 
if (!file_exists($file)) 
{
$file = "index.php";
}

Vaše odpověď

Mohlo by se hodit

Odkud se sem odkazuje


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0