Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php] Includowanie przy pomocy is_file
Babcia@Stefa
post 14.09.2006, 20:29:34
Post #1





Grupa: Zarejestrowani
Postów: 654
Pomógł: 17
Dołączył: 19.03.2006
Skąd: z kosmosu ;)

Ostrzeżenie: (0%)
-----


Witam, mam pewien problem z funkcją is_file, ponieważ gdy mam dobrze kod ułożony to wyświetla "Podana strona nieistnieje!" zamiast include(''. $strona. ''); , a gdy dam na odwrót to też niedziała :/

Oto kod:

  1. <?php
  2. $strona = $_GET['strona'];
  3. if ($strona == "")
  4. {
  5. $strona = "News";
  6. }
  7. if (!is_file($strona))
  8. {
  9. $strona = "news";
  10. }
  11. ?>
  12. // Pominięto kod html
  13. <?php if(is_file($strona))
  14. {
  15. @include('' .$strona. '.php');
  16. } else {
  17. echo "Strona o podanym adresie nieistnieje!";
  18. }
  19. ?>


I czy może mi ktoś powiedzieć gdzie tu jest błąd?
Bo mi chodzi o bezpieczeństwo aby ktoś w niepodał adresu np. http://mojastrona.pl?strona=http://stronah...a.pl/niszcz.php
Lub niech ktoś pokarze lepsze rozwiązanie, widze tu jedno rozwiązanie ale tamto było by trudniejsze.

Dziękuję, Babcia@Stefa


--------------------
Środowisko testowe (desktop) - Gedit, lighttpd, sftp, rsync, xfce4-terminal, chromium, firefox4 | System: Gentoo ~x86
O'Neill - serwer WWW @ lighttpd, links, nano, rsyncd, sftpd | System: Debian
Go to the top of the page
+Quote Post
nospor
post 14.09.2006, 20:33:09
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Przeciez do is_file zapodajesz "news". powinienes chyba zapodawac to co includujesz, czyli "news.php" smile.gif


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
Babcia@Stefa
post 14.09.2006, 20:46:44
Post #3





Grupa: Zarejestrowani
Postów: 654
Pomógł: 17
Dołączył: 19.03.2006
Skąd: z kosmosu ;)

Ostrzeżenie: (0%)
-----


Ale w menu mam tak:

  1. <a href="?strona=register" style="text-decoration: none">Rejestracja</a>


I wyświetla mi:

Cytat(Błąd)
Strona o podanym adresie nieistnieje!


Dziękuję, Babcia@Stefa


--------------------
Środowisko testowe (desktop) - Gedit, lighttpd, sftp, rsync, xfce4-terminal, chromium, firefox4 | System: Gentoo ~x86
O'Neill - serwer WWW @ lighttpd, links, nano, rsyncd, sftpd | System: Debian
Go to the top of the page
+Quote Post
mike
post 14.09.2006, 20:49:22
Post #4





Grupa: Przyjaciele php.pl
Postów: 7 494
Pomógł: 302
Dołączył: 31.03.2004

Ostrzeżenie: (0%)
-----


Cytat(Babcia@Stefa @ 14.09.2006, 21:46:44 ) *
Ale w menu mam tak:

  1. <a href="?strona=register" style="text-decoration: none">Rejestracja</a>

To sobie doklej .php i wtedy sprawdzaj czy plik istnieje.

np.: register + .php = register.php
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 19.07.2025 - 18:36