Skocz do zawartości

Include


Piczer

Rekomendowane odpowiedzi

Hmm.. zawsze robię tak samo, z tymże należy dodać:

<?php
  if ( isset( $_GET[ 'task' ] ) )
  {
    $file = $_GET[ 'task' ] . '.php';
    $alt = 'news.php';
    if ( file_exists( $file ) )
      include( $file );
    else
      include( $alt );
  }
?>

Tak na wszelki wypadek, ew. echo 'Kategoria nie istnieje, czy coś :)'.

Odnośnik do komentarza
Udostępnij na innych stronach

Absolutnie :P

W ten sposób mogę wejść na praktycznie każdą podstronę, a to chyba można by zaliczyć pod atak... :P

 

1. Przede wszystkim sprawdzaj czy w tej zmiennej nie występuje przypadkiem "./" (albo nawet w ogóle jakikolwiek ukośnik)

2. Zrób jakiś system sprawdzania poprawności nazwy tego include'owanego pliku. Czyli najprostszym rozwiązaniem jest tutaj dozwolenie, aby nazwa pliku składała się wyłącznie z liter, cyfr i podkreślnika.

3. A poza tym to sprawdzaj, czy owy plik istnieje :P

 

PS: A najbezpieczniej (bo raczej w głównym katalogu strony będziesz miał nie tylko podstrony, prawda...?) to wszystkie pliki podstron walnąć do osobnego katalogu :)

Odnośnik do komentarza
Udostępnij na innych stronach

if( isset( $_GET['s'] ) )
{
     $file = getcwd() . '/stronki/' . preg_replace( '/[^a-zA-Z0-9_]/', '', basename( $_GET['s'] ) ) . '.php';
     if( file_exists( $file ) )
     {
          include( $file );
     }
     else
     {
          echo '404';
     }
}

Hm? Tak dla zabezpieczenia, wszystkie podstrony w katalogu "stronki".

Odnośnik do komentarza
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...