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
Belze
post
Post #2





Grupa: Zarejestrowani
Postów: 50
Pomógł: 4
Dołączył: 15.09.2003
Skąd: warszawa

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


samo Twoje podejście do tematu nie jest zbyt bezpieczne, więc sama funkcja switch nie poprawi jej.

  1. $strony = array('psy', 'koty', 'konie');
  2. $strona = (int) $_GET['akcja'];
  3. $plik = "moduly/{$strony[$strona]}.inc.php";
  4. if (file_exists($plik)) {
  5. include $plik;
  6. } else {
  7. include 'moduly/default.inc.php';
  8. }


w arrayu dodajesz pliki ktore maja byc includowane.
jezeli tego nie zrobisz, a nie bedziesz mial "default" to poprzez adres kazdy bedzie mogl uruchomic dowolny kod php. a to jest niezbyt bezpieczne..

Ten post edytował Belze 1.06.2010, 07:28:21
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: 11.10.2025 - 15:38