Strona 1 z 1

sprawdzanie poprawności kodu

: ndz paź 09, 2005 11:49 am
autor: Louner
Mam pytanie. Czy ktoś mógłby spróbować doszukać się błędu w tym kodzie? Nie zawsze działa poprawnie i nie wiem, dlaczego.

[php]<?php
if($body==null)
{
include("./news/news.php");
echo('
<div align="right"><a href="/news/">Dodaj news (tylko osoby upoważnione)</a></div>');
}
else
{
include("./$body.php");
}
?>[/php]

Re: sprawdzanie poprawności kodu

: ndz paź 09, 2005 7:46 pm
autor: viraptor
Nic nie wiemy o tym kodzie, poza tym, że istnieje - napisz konkretnie o co ci chodzi.

Re: sprawdzanie poprawności kodu

: sob paź 29, 2005 9:42 pm
autor: Louner
Ehm.. Dokładnie o to, żeby zmienić ścieżkę do includowanej strony za pomocą kliknięcia w link zmieniającego wartość $body :)

Re: sprawdzanie poprawności kodu

: ndz paź 30, 2005 12:09 pm
autor: Piotr Bandyk
Spróbuj tak:

[php]<?php
if(!$body)
{
include("./news/news.php");
print '<div align="right"><a href="news.php">Dodaj news (tylko osoby upoważnione)</a></div>';
}
else
{
include("./$body.php");
}
?>[/php]

W drugiej części elsa zrób zapytanie sprawdzające czy dany plik istnieje. Jeżeli zmienne idą poprzez GET zrób $_REQUEST[body], tak dla bezpieczeństwa:).

Re: sprawdzanie poprawności kodu

: ndz paź 30, 2005 3:52 pm
autor: Marek_bf
NIGDY nie rób tak jak teraz ;) Nie można tworzyć ścieżki do pliku includowanego za pomocą przesyłanej zmiennej. W ten sposób nożna wykonać każdy skrypt z internetu podając w parametrze jego adres!

Re: sprawdzanie poprawności kodu

: wt lis 01, 2005 5:33 pm
autor: Louner
Marek_bf pisze:NIGDY nie rób tak jak teraz ;) Nie można tworzyć ścieżki do pliku includowanego za pomocą przesyłanej zmiennej. W ten sposób nożna wykonać każdy skrypt z internetu podając w parametrze jego adres!
Rozumiemm.... Może znasz jakiś sposób zamienny? : ) Tzn skrypt o podobnym działaniu i bezpiecznej składni. : )

Re: sprawdzanie poprawności kodu

: śr lis 02, 2005 10:30 pm
autor: phpIker
Marek ma rację.
Można sprawdzić czy plik istnieję poprzez funkcję file_exists();
Poprawiłem też parę błędow w Twoim kodzie i dodałem odrazu sprawdzanie istnienia pliku.

pozdr.

[php]<?php
$body = $_GET['body'];

if ($body == "") {
echo '<div align="right"><a href="/news/">Dodaj news (tylko osoby upowa¿nione)</a></div>';
} elseif(file_exists($body)) {
include('./'.$body.'.php');
} else {
echo 'Error! Taki plik nie istnieje na serwerze!';
}
?>
[/php]