Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [inne][PHP] Jak zablokować wyświetlanie plików podrzędnych .php
Forum PHP.pl > Forum > Przedszkole
owned
Strona składa się ze strony głównej index.php oraz podstron w folderze (folder/podstrona.php), które następnie include'owane są do index.php. Jak zablokować dostęp do wyświetlenia http://nazwa_strony/folder/podstrona.php ? Próbowałem .htaccess ale wtedy nie są one wyświetlane.
Fifi209
Daj do folder .htaccess o zawartości:

Kod
deny from all


I po sprawie... skrypt będzie miał dostęp do tego.

Ew. możesz korzystać z rozwiązania:

(w index.php)
  1. define("SITE", TRUE)


a w includowanych plikach:
  1. if (SITE === TRUE) {
  2. // kod
  3. }else{
  4. // dostęp zabroniony
  5. }


Ale pierwsze jest znacznie lepsze.
owned
Cytat(fifi209 @ 16.08.2009, 19:00:11 ) *
Kod
deny from all


Dla obrazków też się sprawdzi ?
Fifi209
Nie, gdyż przeglądarka nie będzie miała do nich dostęp.
Jeżeli jesteś przekonany, że chciałbyś zablokować obrazki to musisz stworzyć skrypt, który będzie je czytał.
owned
ok zapomnijmy o obrazkach.
Gdy wrzuce do folderu ten .htaccess to wszystkie podfoldery też będą tym objęte czy do każdego trzeba osobno tworzyć taki plik ?
flashdev
Cytat(owned @ 16.08.2009, 19:23:01 ) *
ok zapomnijmy o obrazkach.
Gdy wrzuce do folderu ten .htaccess to wszystkie podfoldery też będą tym objęte czy do każdego trzeba osobno tworzyć taki plik ?


Wszystkie podfoldery, również winksmiley.jpg
Fifi209
Z obrazkami musiałbyś pokombinować, jeżeli nie zależy Ci zbytnio na zasobach możesz z gd pokombinować np. :

  1. <?php
  2.  
  3. if (isset($_GET['image'])) {
  4. if (preg_match('/^[a-z0-9]+$/', $_GET['image']) && file_exists('images/'.$_GET['image'].'.jpg')) {
  5. $x = imagecreatefromjpeg('images/'.$_GET['image'].'.jpg');
  6. header('Content-Type: image/jpeg');
  7. imagejpeg($x);
  8. imagedestroy($x);
  9. }else{
  10. // niedozwolona nazwa lub plik nie istnieje
  11. }
  12. }else{
  13. // podaj nazwę pliku
  14. }
  15.  
  16. ?>


To oczywiście przykładowo tylko dla jednego rozszerzenia etc. ;d
Możesz to upiększyć, o działanie tylko dla swojego host'a.
owned
no fifi209 ładny skrypt, przyda się na przyszłość
dzięki wielki
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.