Инструкция
1
При каждом запросе на любую страницу сайта, сервер проверяет наличие в папке, где она хранится, служебного файла с названием ".htaccess". Если он есть, то сервер, при обработке запроса, будет следовать директивам из этого файла. В него можно поместить и директивы ограничения доступа к страницам или другим документам сайта по каким либо признакам. Сделать это можно, создав такой файл в обычном текстовом редакторе и загрузив в нужную вам папку сервера. Поскольку эти файлы являются служебными, то из браузера веб-посетителя они не доступны.
2
Чтобы решить проблему доступа радикально поместите в файл htaccess эти директивы:Order Deny,Allow
Deny from allПолучив такие инструкции, веб-сервер закроет доступ к абсолютно всем файлам и папкам в этой и всех вложенных в нее директориях для всех без исключения посетителей.
Deny from allПолучив такие инструкции, веб-сервер закроет доступ к абсолютно всем файлам и папкам в этой и всех вложенных в нее директориях для всех без исключения посетителей.
3
Можно добавить в тотальный запрет исключение для пользователей, имеющих определенный IP-адрес:Order Deny,Allow
Deny from all
Allow from 77.84.20.18, 77.84.21.2В этом примере пользователи, чей IP 77.84.20.18 или 77.84.21.2, не заметят наличия каких либо ограничений, а все остальные допущены к страницам не будут. Если вам нужен именно такой порядок доступа - перечислите список разрешенных IP-адресов через запятую.
Deny from all
Allow from 77.84.20.18, 77.84.21.2В этом примере пользователи, чей IP 77.84.20.18 или 77.84.21.2, не заметят наличия каких либо ограничений, а все остальные допущены к страницам не будут. Если вам нужен именно такой порядок доступа - перечислите список разрешенных IP-адресов через запятую.
4
Если нужно наоборот создать «черный список» из нежелательных IP-адресов, то директивы следует изменить таким образом:Order Allow,Deny
Allow from all
Deny from 77.84.20.18, 77.84.21.2Доступ будет закрыт только для посетителей, имеющих IP 77.84.20.18 и 77.84.21.2, а остальные будут пропускаться беспрепятственно. И в этом варианте список запрещенных IP-адресов надо перечислить через запятую.
Allow from all
Deny from 77.84.20.18, 77.84.21.2Доступ будет закрыт только для посетителей, имеющих IP 77.84.20.18 и 77.84.21.2, а остальные будут пропускаться беспрепятственно. И в этом варианте список запрещенных IP-адресов надо перечислить через запятую.
5
Если нужно ограничить доступ не ко всем документам в папке, а лишь к отдельному файлу, то директивы должны выглядеть так:<Files "hidden.html">
Order Deny,Allow
Deny from all
Allow from 77.84.20.18
</Files>Здесь в первой строке указан файл, доступ к которому должен быть ограничен (hidden.html), а в четвертой строке записано исключение из запрещающего правила - IP пользователей, которым доступ к файлу разрешен.
Order Deny,Allow
Deny from all
Allow from 77.84.20.18
</Files>Здесь в первой строке указан файл, доступ к которому должен быть ограничен (hidden.html), а в четвертой строке записано исключение из запрещающего правила - IP пользователей, которым доступ к файлу разрешен.
6
Аналогично можно ограничить доступ к группе файлов по маске их имен:<Files ".(wma)$">
Order Deny,Allow
Deny from all
Allow from 77.84.20.18
</Files>Здесь в первой строке указана маска имен файлов с ограниченным доступом - запрет будет распространяться на все файлы с расширением "wma". В четвертой строке, как и в предыдущем примере - IP пользователей, на которых ограничение не распространяется.
Order Deny,Allow
Deny from all
Allow from 77.84.20.18
</Files>Здесь в первой строке указана маска имен файлов с ограниченным доступом - запрет будет распространяться на все файлы с расширением "wma". В четвертой строке, как и в предыдущем примере - IP пользователей, на которых ограничение не распространяется.
7
Есть возможность ограничить доступ к страницам по типу браузера - таким способом можно отсеивать, например, нежелательных поисковых роботов:SetEnvIfNoCase user-Agent ^Microsoft.URL [NC,OR]
SetEnvIfNoCase user-Agent ^Offline.Explorer [NC,OR]
SetEnvIfNoCase user-Agent ^[Ww]eb[Bb]andit [NC,OR]
<limit get=" post=" head=">
Order Allow,Deny
Allow from all
Deny from env=bad_bot
</limit>Здесь в первых трех строках перечислены несколько нежелательных типов браузеров (по одному на каждую строку). Конечно, при использовании такой конструкции вам нужно заменить их не те, которые досаждают именно вашему сайту.
SetEnvIfNoCase user-Agent ^Offline.Explorer [NC,OR]
SetEnvIfNoCase user-Agent ^[Ww]eb[Bb]andit [NC,OR]
<limit get=" post=" head=">
Order Allow,Deny
Allow from all
Deny from env=bad_bot
</limit>Здесь в первых трех строках перечислены несколько нежелательных типов браузеров (по одному на каждую строку). Конечно, при использовании такой конструкции вам нужно заменить их не те, которые досаждают именно вашему сайту.