Как закрыть доступ к страницам?

3 ноября 2014 г. Просмотров: 794
Порой возникает необходимость ограничить доступ к страницам или каким либо файлам вашего сайта для определенных групп пользователей. Программное обеспечение веб-сервера Apache имеет встроенные средства для решения этой задачи. Ознакомьтесь с ними.
Создать сайт самостоятельно с Wix.com

Инструкция

  • При каждом запросе на любую страницу сайта, сервер проверяет наличие в папке, где она хранится, служебного файла с названием ".htaccess". Если он есть, то сервер, при обработке запроса, будет следовать директивам из этого файла. В него можно поместить и директивы ограничения доступа к страницам или другим документам сайта по каким либо признакам. Сделать это можно, создав такой файл в обычном текстовом редакторе и загрузив в нужную вам папку сервера. Поскольку эти файлы являются служебными, то из браузера веб-посетителя они не доступны.
  • Чтобы решить проблему доступа радикально поместите в файл htaccess эти директивы:Order Deny,Allow
  • Deny from allПолучив такие инструкции, веб-сервер закроет доступ к абсолютно всем файлам и папкам в этой и всех вложенных в нее директориях для всех без исключения посетителей.

  • Можно добавить в тотальный запрет исключение для пользователей, имеющих определенный 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-адресов через запятую.

  • Если нужно наоборот создать «черный список» из нежелательных 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-адресов надо перечислить через запятую.

  • Если нужно ограничить доступ не ко всем документам в папке, а лишь к отдельному файлу, то директивы должны выглядеть так:
  • Order Deny,Allow

    Deny from all

    Allow from 77.84.20.18

    Здесь в первой строке указан файл, доступ к которому должен быть ограничен (hidden.html), а в четвертой строке записано исключение из запрещающего правила - IP пользователей, которым доступ к файлу разрешен.

  • Аналогично можно ограничить доступ к группе файлов по маске их имен:
  • Order Deny,Allow

    Deny from all

    Allow from 77.84.20.18

    Здесь в первой строке указана маска имен файлов с ограниченным доступом - запрет будет распространяться на все файлы с расширением "wma". В четвертой строке, как и в предыдущем примере - IP пользователей, на которых ограничение не распространяется.

  • Есть возможность ограничить доступ к страницам по типу браузера - таким способом можно отсеивать, например, нежелательных поисковых роботов:SetEnvIfNoCase user-Agent ^Microsoft.URL [NC,OR]
  • SetEnvIfNoCase user-Agent ^Offline.Explorer [NC,OR]

    SetEnvIfNoCase user-Agent ^[Ww]eb[Bb]andit [NC,OR]

    Order Allow,Deny

    Allow from all

    Deny from env=bad_bot

    Здесь в первых трех строках перечислены несколько нежелательных типов браузеров (по одному на каждую строку). Конечно, при использовании такой конструкции вам нужно заменить их не те, которые досаждают именно вашему сайту.

    Оцените статью!