10 przydatnych fragmentów kodu htaccess i hacków
Opublikowany: 2020-09-10.htaccess
to jeden plik, który każdy administrator sieci powinien znać i rozumieć. Na podstawowym poziomie kontroluje dostęp do katalogów Twojej witryny. Ale jest o wiele więcej, niż możesz zrobić, co pokażą ci fragmenty w tym poście.
Jeśli chcesz poznać podstawy .htaccess
, powinieneś zapoznać się z naszym artykułem Wprowadzenie do .htaccess, który wyjaśnia wszystko, czego potrzebujesz, aby zacząć działać.
Możesz również polubić te przydatne fragmenty zapytań SQL SQL lub te fragmenty, które sprawiają, że WordPress jest przyjazny dla Twoich klientów.
1. Kontrolowanie dostępu do plików i katalogów
Ochrona hasłem to jedno, ale czasami może być konieczne całkowite zablokowanie użytkownikom możliwości dostępu do określonego pliku lub katalogu. Zwykle dzieje się tak w przypadku folderów systemowych, takich jak folder includes
, do którego aplikacje będą potrzebowały dostępu, ale żaden użytkownik nigdy nie będzie potrzebował uprawnień.
Aby to zrobić, wklej ten kod do pliku .htaccess
i upuść go w katalogu:
Zablokuje to jednak dostęp wszystkim, w tym Tobie. Aby przyznać sobie dostęp, musisz podać swój adres IP. Oto kod:
xxx.xxx.xxx.xxx
to Twój adres IP. Jeśli na przykład zamienisz ostatnie trzy cyfry na 0/12
, określi to zakres adresów IP w tej samej sieci, oszczędzając w ten sposób kłopotu z osobno listą wszystkich dozwolonych adresów IP.
Jeśli chcesz zablokować dostęp do określonego pliku, w tym do samego .htaccess
, użyj zamiast tego następującego fragmentu:
Podobnie, jeśli chcesz zezwolić na podane adresy IP, wymień je za pomocą allow from
.
Jeśli chcesz zablokować dostęp do określonych typów plików, użyj tego zamiast:
2. Wyłączanie przeglądania katalogów
Aby uniemożliwić przeglądanie katalogów, dodaj to:
Jeśli jednak z jakiegoś powodu chcesz włączyć przeglądanie katalogów, zmień go na następujący:
3. Przyspieszenie czasu ładowania poprzez kompresję plików
Możesz skompresować dowolny typ pliku, nie tylko obrazy. Na przykład, aby skompresować pliki HTML , użyj tego:
Aby skompresować pliki TEKSTOWE , użyj tego:
Możesz także skompresować JavaScript lub dodać kompresję do wielu typów plików za pomocą jednego polecenia:
Alternatywnie, jeśli chcesz skompresować wszystkie swoje pliki JavaScript, HTML i CSS za pomocą GZIP, możesz użyć tego:
4. Chroń swoją witrynę przed hotlinkami
Jeśli nie chcesz, aby Twoje obrazy były hotlinkowane, dodaj to do pliku .htaccess
:
Po prostu zamień twoja_domena.com na własną i gotowe.
5. Blokowanie odwiedzających skierowanych z określonej domeny
Jeśli masz użytkowników z niechcianej domeny, możesz zablokować ich dostęp do swojej witryny. Na przykład, jeśli Twoja witryna zostanie umieszczona w miejscu, z którego nie chcesz ruchu (np. witryny dla dorosłych, witryny z czarnymi kapeluszami itp.), możesz wyświetlać im stronę 403 Zabroniona. Musisz mieć włączony mod_rewrite
, ale powinno być dobrze, ponieważ zwykle jest włączony. Dodaj ten fragment:
Musisz zastąpić bannedurl1.com
i bannedurl2.com
itp. nazwami domen, które chcesz umieścić na czarnej liście. Możesz użyć flagi [NC]
, ponieważ określa ona, że w wprowadzonej nazwie domeny nie jest rozróżniana wielkość liter. Flaga [F]
określa akcję, którą należy podjąć – w tym przypadku pokazuje błąd 403 Forbidden. Jeśli chcesz zablokować wiele witryn, użyj flagi [NC,OR]
dla każdej domeny oprócz ostatniej, a jeśli chcesz zablokować jedną domenę, użyj tylko flagi [NC]
.
6. Blokowanie żądań od poszczególnych agentów użytkownika
Jeśli Twoje pliki dziennika zawierają określone programy użytkownika (boty lub pająki), możesz dodać kilka wierszy do .htaccess
i odmówić im dostępu do Twojej witryny:
Zastąp badbot1
, badbot1
itd. nazwami botów z plików dziennika. Powinno to trzymać takie programy z dala od Twojej witryny.
7. Buforowanie plików
Innym sposobem na przyspieszenie czasu ładowania witryny jest buforowanie plików. Oto, co musisz dodać, aby buforować pliki:
Możesz dodać więcej typów plików (lub usunąć niektóre z nich) do sekwencji plików wymienionych w tym przykładzie – rób to, co Ci odpowiada. Możesz również użyć max-age
, aby określić czas w sekundach, przez który Twoje pliki będą znajdować się w pamięci podręcznej.
8. Wyłączanie buforowania dla określonych typów plików
Jeśli nie chcesz buforować określonych typów plików, łatwiej jest nie uwzględniać ich w sekwencji pamięci podręcznej. Jednak czasami pliki mogą zostać zapisane w pamięci podręcznej, nawet jeśli nie wymienisz ich tam wyraźnie, iw takim przypadku możesz chcieć wyłączyć buforowanie tylko dla nich. Najczęściej będziesz chciał wyłączyć buforowanie dla plików dynamicznych, takich jak skrypty. Oto jak to zrobić:
Po prostu potokuj pliki, dla których chcesz wyłączyć buforowanie, i to jest to.
9. Omijanie okna dialogowego pobierania
Domyślnie, gdy próbujesz pobrać plik z serwera WWW, pojawia się okno dialogowe z pytaniem, czy chcesz zapisać plik, czy go otworzyć. Ten dialog jest szczególnie irytujący w przypadku dużych plików multimedialnych lub plików PDF. Jeśli pliki, które przesłałeś na serwer, są przeznaczone do pobrania, możesz zaoszczędzić użytkownikom kłopotów i przejść od razu do pobierania. Oto, co musisz ustawić w .htaccess
:
10. Zmiana nazwy pliku .htaccess
Jeśli z jakiegoś powodu, głównie związanego z bezpieczeństwem, chcesz zmienić nazwę swojego pliku .htaccess
, jest to bardzo łatwe. Teoretycznie zmiana nazwy pliku .htaccess
nie powinna powodować problemów z aplikacjami uruchomionymi na serwerze, ale jeśli przypadkowo zauważysz takie problemy po zmianie nazwy pliku, po prostu zmień nazwę z powrotem na oryginalną.
Musisz także zaktualizować wszystkie wpisy w samym pliku lub wszędzie tam, gdzie jest wspomniany .htaccess
; w przeciwnym razie otrzymasz wiele błędów.
11. Zmiana domyślnej strony indeksu
Jeśli chcesz, aby twoja strona indeksu była czymś innym niż domyślny index.html
, index.php
, index.htm
, itp. jest to bardzo łatwe do zrobienia. Oto, co musisz dodać do .htaccess
:
Zastąp mypage.html
rzeczywistym adresem URL strony, której chcesz użyć jako indeksu, i gotowe.
12. Przekierowanie do bezpiecznego połączenia https
Jeśli używasz protokołu HTTPS i chcesz przekierować użytkowników na bezpieczne strony swojej witryny, użyj tego:
13. Ograniczenie limitów przesyłania plików w PHP, maksymalny rozmiar danych postu, maksymalny czas wykonania skryptu itp.
.htaccess
umożliwia ustawienie pewnych wartości, które bezpośrednio wpływają na aplikacje PHP. Na przykład, jeśli chcesz narzucić limity wysyłania w PHP, aby nie zabrakło Ci miejsca na hosting z powodu dużych plików, użyj tego:
Oczywiście możesz ustawić wartość na dowolną, którą uznasz za odpowiednią – 15M (MB) w tym przykładzie nie jest ustalone w kamieniu. Możesz także ograniczyć maksymalny rozmiar posta do przesłania w PHP. Aby to zrobić, dodaj to:
Podobnie możesz zmienić 10M
na dowolną wartość, która Ci odpowiada. Jeśli nie chcesz, aby skrypty wykonywały się w nieskończoność, możesz ograniczyć czas ich wykonywania za pomocą:
240
to liczba sekund przed zakończeniem działania skryptu i jak się domyślasz, może to być dowolna wartość. Na koniec, jeśli chcesz ograniczyć czas, w którym skrypt może analizować dane wejściowe, użyj tego:
I ustaw dowolną wartość w ciągu kilku sekund, która Ci odpowiada.
14. Ukrywanie typów plików
Czasami nie chcesz, aby użytkownicy znali typy plików w Twojej witrynie. Jednym ze sposobów na ukrycie tych informacji jest ukrycie ich. Na przykład możesz sprawić, by wszystkie pliki wyglądały tak, jakby były plikami HTML lub PHP:
Z .htaccess
można zrobić znacznie więcej. Możesz na przykład ustawić automatyczne tłumaczenie stron swojej witryny, ustawić strefę czasową serwera, usunąć www z adresów URL, użyć wyszukanych wykazów katalogów itp. W każdym razie, zanim zaczniesz eksperymentować z .htaccess
, zawsze wykonaj kopię zapasową oryginału .htaccess
, więc jeśli coś nie pójdzie zgodnie z planem, masz kopię roboczą, do której możesz wrócić.