1. Начало
  2. Сигурност и защита
  3. Сигурност на сайта
  4. Ограничаване на достъпа до файл/директория (htaccess)

Ограничаване на достъпа до файл/директория (htaccess)

Забрана за достъп до определен файл

За да забраните достъп до определен файл, поставете следните правила във файл .htaccess:

<Files "config.php">
 Order Allow,Deny
 Deny from All
</Files>

config.php – заменете с името на вашия файл.

Файлът .htaccess трябва да се намира в директорията на файла, до който искате да ограничите достъпа.

Разрешаване на достъп само за определен IP адрес

Можете да забраните достъп до файла и да разрешете достъп само за определен IP адрес:

<Files "config.php">
 Order Deny,Allow
 Allow from ***.**.*.**
 Deny from All
</Files>

***.**.*.** – заменете с желания IP адрес;

Забрана за достъп до директория

Забрана за достъп до директория се извършва като в същата директория създадете .htaccess файл и поставите в него:

Deny from All

Ако искате да разрешите достъпът само за определен IP адрес добавете:

Deny from All
Allow from ***.**.*.**

***.**.*.** – заменете с желания IP адрес;

Защита на достъпа до файл с парола

За да защитите достъпа до файл с парола, поставете следното в .htaccess файл намиращ се в директорията на файла:

<FilesMatch "file.php">
  AuthName "Members Only"
  AuthType Basic
  #файлът, в който се намират данните за потребителя и паролата
  AuthUserFile /home/cpaneluser/.htpasswds/.htpasswd
  require valid-user
</FilesMatch>

Може да защитите достъпа до определени типове файлове с:

<FilesMatch "\.(gif|jpe?g|png)$">
 AuthName "Restricted"
 AuthType Basic
 AuthUserFile /home/cpaneluser/.htpasswds/.htpasswd
 require valid-user
</FilesMatch>

Файл .htpasswd

В основната директория на хостинг акаунта /home/cpaneluser в директория .htpasswds създайте файл .htpasswd (името започва с точка „.“). Този файл не бива да се намира в директория или поддиректория на public_html.

Във файла .htpasswd поставете името на потребителя и неговата парола, на един ред, като паролата трябва да е криптирана, например:

user:$2y$10$uUhSAZpSNO9AWgNjeU0T0OGoMeLy7xUDeDPEdbf1oEoXlS1iWR9T6

Паролата може да криптирате например със следната функция: password_hash

Друг начин за създаване на потребител и криптирана парола, е като ползвате опцията в cPanel за защита на директория с парола. Създавате директория във вашия хостинг акаунт, след това от меню Директории защитени с парола в контролния панел избирате тази директория и задавате потребител и парола. Потребителското име и криптирана парола се запазват във файл в /home/cpaneluser/.htpasswds/име_на_защитената_директория/passwd. Можете да ги копирате и да ги поставите във файл /home/cpaneluser/.htpasswds/.htpasswd, където са ви необходими и да изтриете създадената директория.

Обновена: 12.10.2022

Беше ли Ви полезна тази статия?

Вижте още