2012-11-17 21 views
8

Moja uczelnia ma wiele serwerów, które mają te same dane dublowane na nich, więc mogę uzyskać dostęp do instancjiWyłączenie pobieranie plików php jeśli nie jest zainstalowane PHP

foo.uni.edu/file.php 
bar.uni.edu/file.php 

Chodzi o to, nie wszystkie serwery mają zainstalowane PHP , więc każdy może pobrać moje pliki php, jeśli nawiązały połączenie przez serwer, na którym nie zainstalowano PHP. Czy istnieje sposób, być może z .htaccess, aby tego uniknąć? Tak jak w przypadku otwierania plików PHP tylko przy zainstalowanym serwerze PHP?

+1

Być może będziesz w stanie wykorzystać ''. – mario

+0

dlaczego nie ograniczać dostępu do pojedynczego serwera (równoważenia obciążenia)? – Kubee

Odpowiedz

1

Jeśli możliwe jest przechowywanie plików poza katalogiem głównym, można obejść problem, przechowując wszystkie poufne dane poza dokumentem. Następnie uzyskasz dostęp do publicznie dostępnych skryptów za pomocą include, aby uzyskać dostęp do tych plików.

Tak więc, jeśli przesłać do /username/public_html i public_html to główny dokument (np foo.uni.edu/file.php jest /username/public_html/file.php), wtedy będzie przesłać do /username/file.php zamiast i umieścić inny skrypt w /username/public_html który zawiera jedynie coś takiego include('../file.php');

This jest dobrą praktyką w każdym przypadku, w przypadku gdyby błąd konfiguracji na serwerze kiedykolwiek powstrzymał PHP przed analizą.

Można również spróbować użyć IfModule i FilesMatch odmówić dostępu do plików PHP jeśli mod_php nie jest włączona:

<IfModule !mod_php.c> 
    <FilesMatch "\.php$"> 
     Order Deny,Allow 
     Deny from All 
    </FilesMatch> 
</IfModule> 

Jeśli to nie zadziała, spróbuj !mod_php5.c zamiast.

+0

Każdy z modów daje błąd odmowy uprawnień podczas próby uzyskania dostępu do pliku php (na serwerze z zainstalowanym php). – vascoFG

+0

Czy to możliwe, że serwery działają w archaicznej instalacji PHP4? Jeśli tak, spróbuj '! Mod_php4.c'. Jeśli to też nie działa, obawiam się, że jestem zaskoczony. – Kelvin

Powiązane problemy