Próbuję odmówić użytkownikom dostępu do site/includes
folderu, manipulując adresem URL.
Nie wiem, czy muszę odmawiać wszystkiemu i ręcznie tworzyć indywidualne wyjątki, aby zezwolić, czy mogę po prostu odrzucić ten jeden folder lub czy istnieje funkcja przepisywania, której można użyć.
Konkretny przykład: Nie chcę wyświetlać plików katalogów po wpisaniu localhost/site/includes
adresu URL.
Options -Indexes
Odpowiedzi:
Utwórz
site/includes/.htaccess
plik i dodaj tę linię:źródło
.htaccess
. więc jak mogę to zrobić bez.htaccess
? dziękiDeny from all
nie poda 404, ale 403. Nadal możesz uzyskać dostęp do plików / folderów za pomocą PHP / Perl itp., ale nie używając żądania internetowego. Możesz otworzyć nowe pytanie, jeśli nie zawiera ono odpowiedzi na Twoje zapytanie.Możesz również odmówić dostępu do folderu za pomocą
RedirectMatch
Dodaj następujący wiersz do htaccess
Spowoduje to zwrócenie
403 forbidden
błędu dla folderu, tj .:http://example.com/folder/
ale blokuje dostęp do plików i folderów w tym folderze, jeśli chcesz zablokować wszystko w folderze, po prostu zmień wzorzec wyrażenia regularnego na^/folder/.*$
.Inną opcją jest
mod-rewrite
Jeśliurl-rewrting-module
jest włączona, możesz użyć czegoś podobnego do następującego wroot/.htaccss
:To będzie wewnętrznie mapować żądania za
folder
doforbidden
strony błędu.źródło
.htaccess
plików w każdym katalogu, do którego muszę odmówić dostępu.W
.htaccess
pliku, którego musisz użyćUmieść to,
site/includes/.htaccess
aby było określone dlaincludes
kataloguJeśli chcesz tylko zablokować wyświetlanie plików katalogów, możesz użyć
źródło
Ustawimy katalog tak, aby był bardzo bezpieczny, odmawiając dostępu dla wszystkich typów plików. Poniżej znajduje się kod, który chcesz wstawić do pliku .htaccess.
Ponieważ ustawiliśmy teraz zabezpieczenia, chcemy teraz umożliwić dostęp do naszych żądanych typów plików. Aby to zrobić, dodaj poniższy kod do pliku .htaccess pod kodem bezpieczeństwa, który właśnie wstawiłeś.
Twój ostateczny
.htaccess
plik będzie wyglądałŹródło z Zezwól na dostęp do określonych typów plików w chronionym katalogu
źródło
Możesz utworzyć plik .htaccess dla folderu, który powinien był odmówić dostępu za pomocą
lub możesz przekierować do niestandardowej strony 404
źródło
Po prostu umieść .htaccess w folderze, który chcesz ograniczyć
Źródło: źródła MantisBT .
źródło
Możesz również umieścić to
IndexIgnore *
w swoim głównym pliku .htaccess, aby wyłączyć listę plików wszystkich katalogów witryny, w tym podkataloguźródło
Options -Indexes
.Tworzenie index.php, index.html, index.htm nie jest bezpieczne. Ponieważ każdy może uzyskać dostęp do twoich plików w określonym katalogu, zgadując nazwę pliku. Np .: http://yoursite.com/includes/file.dat Tak więc zalecaną metodą jest utworzenie pliku .htaccess w celu odmowy dostępu wszystkim odwiedzającym;). Baw się dobrze !!
źródło
Możesz to zrobić dynamicznie w ten sposób:
źródło
Z pewnych powodów, których nie rozumiałem, utworzenie folderu / .htaccess i dodanie Deny from All nie zadziałało. Nie wiem dlaczego, wydawało się to proste, ale nie zadziałało, dodanie RedirectMatch 403 ^ / folder /.*$ do głównego htaccess działało.
źródło