Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [inne][PHP]htaccess, zabezpieczenie skryptu
Forum PHP.pl > Forum > Przedszkole
hatchet
Witam

Chciałbym zabezpieczyć skrypty napisane w php oraz pliki tpl przed ich bezpośrednim otwarciem oraz uniemożliwić odpalenie pojedyńczego pliku php który jeżeli nie zostanie includowany przez inny nie działa poprawnie.

Wymyśliłem sobie że zablokuję dostęp do całego katalogu z moim skryptem za pomocą htaccess

struktura plików:
[skryptyphp] / index.php
[skryptyphp] / [templates] / ...
[skryptyphp] / [includes] / ...
[js] / ...
[img] / ...
style.css
.httaccess

[APACHE] pobierz, plaintext
  1. php_flag register_globals off
  2.  
  3. Options -Indexes
  4.  
  5. RewriteEngine On
  6.  
  7. RewriteRule ^$ skryptyphp/index.php [L]
  8. RewriteRule ^([_a-zA-Z0-9]+).html$ skryptyphp/index.php?q=$1 [L]
  9.  
  10. RewriteRule ^skryptyphp/$ brakdostepu.html
[APACHE] pobierz, plaintext




oczywiście plik skryptyphp/index.php zawiera
  1. define('SKRYPT', true);


a każdy includowany plik
  1. if (!defined('SKRYPT') || !SKRYPT) {
  2. header('HTTP/1.1 301 Moved Permanently');
  3. header('Location: http://'.$_SERVER['HTTP_HOST'].'/');
  4. }


...chciałbym wprowadzić jakieś dodatkowe zabezpieczenie i zablokować bezpośredni dostęp do plików tpl i php i stąd moje pytanie:
Czy takie zabezpieczenie które napisałem przez .htaccess ma sens, czy będzie to działać poprawnie, czy jest dobrze napisany plik htaccess, czy na pewno zabezpieczy mi to katalog ze skryptem?
lukasamd
Z htaccess niby tak, ale reguła dotyczy samego katalogu a nie plików. Możesz w nim dać np deny from all na zawartość całego katalogu, choć pliki php i tak są chronione przez kod sprawdzający stałą.
CyberDuck_
Lukasmad to teraz moze mi wytlumacz po co zabezpieczac pliki php ?
Przeciez nie ma do nich dostepu z poza serwera ...
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.