Modyfikacja pliku htaccess w PHP Fusion v9 omówienie i kolejność reguł

Ostatnia aktualizacja 4 miesiąc temu
MirekMirekUżytkownik
Opublikował(a) 4 miesiąc temu

.htaccess w PHP Fusion v9 – krótkie wyjaśnienie reguł


Poniżej najważniejsze reguły z pliku .htaccess, z krótkim opisem co robią i kiedy ich NIE używać.
Pełny plik wrzucam jako załącznik do pobrania – większość i tak go tylko wgra 😉
Ten post jest po to, żebyś wiedział co ewentualnie usunąć lub zmienić.
[h]Podstawy[/h3]
Wyłącza listowanie katalogów
Bezpieczne – można zostawić zawsze
Options -Indexes

Wymusza UTF-8 dla strony i zasobów
Bezpieczne – zalecane
 AddDefaultCharset UTF-8 AddCharset UTF-8 .html .css .js .svg .woff .woff2 

Wymuszenie konkretnej wersji PHP
UŻYWAĆ TYLKO jeśli serwer NIE ma wyboru wersji PHP w panelu.
Jeśli serwer nie obsługuje PHP 7.3 – strona padnie
 AddType application/x-httpd-php73 .php

Ochrona plików


Ukrywa informacje o serwerze
ServerSignature Off

Blokada dostępu do plików wrażliwych
Bezpieczne – zalecane
▶️ Rozwiń 🔽


<Files .htaccess>
Require all denied
</Files>
<Files config.php>
Require all denied
</Files>
<Files fusion_error_log.log>
Require all denied
</Files>
<Files *.cache>
Require all denied
</Files>

Blokowanie plików JSON


Blokuje dostęp do plików .json (częsty cel skanerów)
Jeśli korzystasz z API lub JSON publicznie – USUŃ


RewriteEngine On
RewriteRule ^[^/]+.json$ - [F,L]
RewriteRule ^.+/.*.json$ - [F,L]

Nagłówki bezpieczeństwa i cache


Nagłówki bezpieczeństwa
HSTS DZIAŁA TYLKO jeśli masz HTTPS
<IfModule mod_headers.c>

Header set X-Content-Type-Options "nosniff"
Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains; preload"
</IfModule>

👉 Jeśli NIE masz HTTPS – usuń HSTS, inaczej:
[list]
[*]przeglądarka zapamięta HTTPS
[*]strona może przestać się otwierać
[/list]
Cache dla statycznych plików (wydajność)
Bezpieczne – zalecane
<IfModule mod_expires.c>

ExpiresActive On
ExpiresByType image/png "access plus 1 year"
ExpiresByType text/css "access plus 1 year"
ExpiresByType application/javascript "access plus 1 year"
ExpiresByType font/woff2 "access plus 1 year"
</IfModule>

Wymuszanie HTTPS


Wymuszenie HTTPS
NIE DODAWAJ jeśli serwer NIE MA certyfikatu SSL.
Grozi pętlą przekierowań lub ostrzeżeniem o oszustwie


RewriteCond %{HTTPS} off
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

Anti-scan / boty


Blokada znanych nazw backdoorów i skanerów
Nie robimy wyjątków dla User-Agent


RewriteCond %{REQUEST_URI} ^/(widgets|b|cachex|wpup|admin).php$ [NC]
RewriteRule .* - [F,L]

Próby dostępu do plików WordPressa


RewriteCond %{REQUEST_URI} ^/wp-.*.php$ [NC]
RewriteRule . - [F,L]

Adresy bez .php


Umożliwia adresy bez rozszerzenia .php
Działa tylko jeśli plik PHP faktycznie istnieje


RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^(.*)$ $1.php

Router PHP Fusion – ZAWSZE NA KOŃCU


Główny router PHP Fusion
MUSI być ostatnią regułą


RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-l
RewriteCond %{REQUEST_URI} !^/(administration|config|index.php)
RewriteRule ^(.*?)$ index.php [L]

Ważne


[list]
[*]Nie wklejaj wszystkiego w ciemno
[*]HTTPS i PHP to najczęstsze pułapki
[*]Jeśli coś nie działa → komentuj sekcjami
[/list]
Pełny, gotowy plik .htaccess jest w załączniku
(dostępny dla zalogowanych użytkowników).
Pełny opis i kontekst:
https://phpfusion9.pl/artykul/83/mody...
phpfusion9.pl/images/ff/haker.webp
Nie masz dostępu do przeglądania załączników
możesz przeglądać wszystkie wątki dyskusji na tym forum.
nie możesz rozpocząć nowy wątek dyskusji na tym forum.
nie możesz odpowiadać na posty w tym wątku dyskusji.
nie możesz rozpocząć ankietę na tym forum.
nie możesz dodawać załączniki w tym forum.
nie możesz pobierać załączniki na tym forum.
Użytkownicy, którzy uczestniczyli w dyskusji: Mirek