Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Prośba o pomoc w zmianie kodu
eMCe
post
Post #1





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 1.06.2010

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


Witam, mam problem z moją stroną. Używam takiego kodu

  1.  
  2. $rozsz=".html";
  3. if(file_exists("contents/$nazwa$rozsz"))
  4. {
  5. include("contents/$nazwa$rozsz");
  6. }
  7. else
  8. {
  9. include("contents/index$rozsz");
  10. }


Okazało się, że funkcja include nie jest bezpieczna. Próbuję zmienić to ze switch/case ale chyba nie umiem (IMG:style_emoticons/default/sad.gif)
  1. $rozsz=".html";
  2. switch ($_GET[show])
  3. {
  4. case '$nazwa':
  5. include('contents/$nazwa$rozsz');
  6. break;
  7. default:
  8. include('contents/index.html');
  9. }


Adresy powinny się wyświetlać jako
www.adres.strny.pl/index.php?show=nazwa, gdzie nazwa jest plikiem w katalogu contents (wywoływanym w zależności od tego na jaką stronę chcę wejść, plików w contents mam około 80). Całą stronę mam tak zbudowaną, ale zwrócono mi uwagę, że są włamania przez funkcję include.

Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
zend
post
Post #2





Grupa: Zarejestrowani
Postów: 580
Pomógł: 85
Dołączył: 25.03.2010
Skąd: Skrzyszów :)

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


Możesz np wrzucic pliki które chcesz załadować do jednego katalogu, i zamienić wrzystkie "dziwne" znaki z get'a typu . / ; na puste znaki, ale tu uwaga, weź też pod uwagę że ktoś może zapisać je w innym systemie np szesnastkowym.
Możesz też nadać plikom specyficzny prefix, tak aby jedyne co można było załadować to pliki wyznaczone do tego np abecadlo.index.php, możesz też połączyć obie metody
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 14.10.2025 - 02:55