Файл htaccess — безопасность сайта (в помощь новичкам)

Повышаем безопасность сайта при помощи .htaccess.

Файл htaccess — безопасность сайта, статья в первую очередь поможет новичкам. Если вы являетесь новым пользователем  CMS WordPress, то Вы могли даже не слышать о файле .htaccess. Если Вы являетесь пользователем WordPress среднего уровня, вы скорее всего вряд ли полностью знакомы с WordPress, Sitemap, Html, Css. Люди, которые размещают свой сайт на Wordpress CMS, не очень любят заморачиваться с .htaccess. Это происходит по следующим причинам:

  1. Незнание, как работать с .htaccess
  2. Попытались сделать что-то в файле .htaccess, и сайт сломался.

Сегодня я собираюсь рассказать Вам, что такое файл .htaccess и как использовать его для защиты и ускорения вашего сайта.

Что такое файл htaccess?

htaccess — задается в файле httpd.conf.

.htaccess – это краткая форма Hypertext Access. Это файл конфигурации, используемый на веб-сервере apache для включения или отключения дополнительных функций или функций на веб-сервере. Htaccess файл поможет вам, детально настроить  веб – сайт, без изменения основной конфигурации сервера.

Файлы .htaccess могут быть скрыты в папке, в которую вы его загрузили. Htaccess файл управляет каталогом, где он размещен, а также влияет на подкаталоги внутри этого каталога. Теперь Вы  точно должны знать, где размещать файл .htaccess . Что такое файл .htaccess?

Файл .htaccess поможет значительно улучшить производительность веб-сайта, если вы используете его в рекомендуемом порядке. Файл .htaccess оказывает приоритетное влияние на две составляющие веб-сайта .

Скорость загрузки:

Файл .htaccess замедляет работу сервера. Тем не менее большую часть времени он не идентифицируется. Это связано с тем, что когда сервер загружает страницу. Ему также необходимо считывать все свои каталоги до тех пор, пока он не достигнет конечного каталога или не достигнет файла .htaccess. Если файл .htaccess не существует в папке, процесс будет продолжен. Причина  отсутствие разрешений для переопределения доступа к файлу .htaccess.

Далее серверу нужно пройти все правила указанные в файле. Как правило, их в файле хватает, при этом все они достаточно ресурса-затратные. Это относиться к сжатию, кэшированию  или перенаправлениям. Все они значительно нагружают работой сервер и замедляют его. Но при этом ускоряется работа сайта.

Безопасность сайта:

Главная проблема в жизни веб-сайта – его безопасность. Файл .htaccess является мощным решением безопасности и легко доступен пользователю. Если вы добавите какую-либо директиву в файл .htaccess, она будет считаться добавленной в файл конфигурации Apache. Все эти изменения вступят в силу, даже без перезагрузки веб – сервера.

Зная это вы должны быть более осторожны в предоставлении доступа сторонним пользователям, поскольку он дает полный контроль над сервером.Apache не поощряет предоставление доступа к .htaccess, так как пользователь может напрямую обращаться к файлу конфигурации Apache.

Как активировать файл .htaccess?

У вас должен быть доступ к настройкам сервера. Чтобы Вы могли внести изменения в файл конфигурации, для разрешения переопределения .htaccess. Далее ваш следующий шаг – открыть файл конфигурации по умолчанию Apache. Для этого вам нужны привилегии пользователя sudo.

$ sudo nano /etc/apache2/sites-available/default

После того как вы открыли файл, нужно найти в нем следующий раздел.

Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all

Здесь нужно заменить None на All . Теперь файл должен выглядеть следующим образом:

Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all

Сохраните файл и перезапустите Apache.

$ sudo service apache2 restart

Создание файла .htaccess

Создать файл htaccess очень просто. Вы можете создать файл htaccess в текстовом редакторе в локальной системе. Затем загрузить его в каталог веб- сервера через FTP-клиент. Или же вы можете создать файл .htaccess, используя командную строку терминала .

Вот команда для создания вашего файла .htaccess на терминале. Вот:
Замените вашсайт.com на название вашего сайта.

$ sudo nano /var/www/вашсайт.com/.htaccess

Перенаправление страниц в .htaccess

Mod_Rewrite: Это одна из лучших функций в файле .htaccess. Вы можете использовать Mod-Rewrite для обозначения и изменения. Особенно, когда ваша веб-страница или URL-адрес на вашем веб-сайте,  должны правильно отдаваться пользователю.

Безопасность сайта с помощью .htaccess

Аутентификация пользователя: Здесь файл .htaccess не требует больше разрешений, чем требуется для доступа к веб-конфигурации Apache. Вы все равно можете внести эффективные изменения на веб-сайт. Одним из важных изменений, которые вы можете сделать, является настройка пароля на определенную часть веб-страницы. Таким образом, пользователь должен ввести пароль для доступа к разделу. Htaccess пароль будет сохранен в .htpasswd файле.

Как создать файл .htpasswd

Создайте файл и сохраните его за пределами веб-каталога по некоторым причинам безопасности. Когда вы создаете файл .htpasswd, добавьте пробел между именем и паролем. Кроме того, добавьте все имена пользователей и пароли для пользователей. Которым вы хотите предоставить доступ к определенной части веб-страницы.

Шифровать пароль можно с помощью: Генератор Htpasswd – создание htpasswd. В нем нужно добавить имя пользователя и пароль. Инструмент предоставит вам зашифрованный пароль. Если вы вводите имя пользователя: seva и пароль: thereworld, вы получите следующий зашифрованный пароль.

seva:$apr1$WLNEbl3T$lzBRpqp2CDM.m6xHwTzyv.

Вы можете добавить больше пользователей столько, сколько хотите. Не добавляйте всех пользователей в одну строку, используйте новую строку для каждого пользователя. Если вы создали файл .htpasswd, следующим шагом будет создание правила в файле .htaccess, для использования этого пароля.

Как добавить правила в .htaccess для файла .htpasswd

Для этого добавьте следующую строку в файл .htaccess.

AuthUserFile
/usr/local/username/safedirectory/.htpasswd
AuthGroupFile /dev/null
AuthName “Please Enter Password”
AuthType Basic
Require valid-user

Давайте я расскажу, что определяет каждая строка.

  1. AuthUserFile: эта строка устанавливает путь к файлу .htpasswd.
  2. AuthGroupFile: строка используется для поиска файла группы авторов. Поскольку мы не создали такого файла, мы устанавливаем / dev / null.
  3. AuthName: текст, введенный вами, будет отображаться в командной строке. Вы можете выбрать название на ваше усмотрение.
  4. AuthType: в этом поле указывается, какой тип аутентификации должен использоваться для проверки пароля. Вы не должны изменять AuthType. Он должен оставаться основным.
  5. Require valid-user: эта строка указывает, что есть много людей, которым разрешено входить в защищенную паролем область (если вы добавили много имен пользователей и паролей в файл .htpasswd, тогда  добавьте эту строку) Если только один пользователь! Которому разрешен вход  в защищенную паролем область. Тогда  добавьте «require user username», чтобы указать указанного человека, которому разрешен вход.

Пользовательские страницы ошибок в .htaccess

Файл .Htaccess позволяет создавать пользовательские страницы ошибок для вашего сайта. Такие страницы очень полезны, особенно для Seo сайта. Вот некоторые примеры:

Ошибки запроса клиента:

  • 400 – Неверный запрос
  • 401 – Требуется авторизация
  • 403 – Запрещено
  • 404 – Не найден документ
  • 405 – Метод не разрешен
  • 406 – Не допускается (кодирование)
  • 407 – Требуется аутентификация прокси и прочие.

Ошибки на стороне сервера:

  • 500 – Внутренняя ошибка сервера
  • 501 – Не реализовано
  • 502 – Плохой шлюз
  • 503 – Служба недоступна
  • 504 – Тайм-аут шлюза
  • 505 – Версия HTTP не поддерживается

Эти страницы пользовательских ошибок позволяют вам создавать собственную страницу ошибки. Затем добавлять ее в список страниц с ошибками.

Создание страницы ошибки 404

По умолчанию на сервере отображаются собственные страницы с ошибкой. Тем не менее Вы можете использовать свою собственную страницу ошибки. И организовать ее с собственным дизайном. После того, как вы создали страницу для пользовательской ошибки, загрузите ее в веб-каталог и добавьте местоположение страницы в файл .htaccess.  Как пример, я буду использовать страницу ошибки 404.

ErrorDocument 404 /new404.html

Сервер Apache, будет искать страницу ошибки в корневом каталоге сайта. Если вы добавили страницу с ошибкой в ​​любую из подпапок. Тогда Вам нужно указать точный путь для .htaccess для доступа к странице.

Например:

ErrorDocument 404 /error_pages/new404.html

Типы MIME использование с помощью .htaccess

Если вы используете некоторые файлы приложений, которые не обрабатываются вашим веб-сервером. Тогда вам необходимо  добавить их в конфигурационный файл apache, используя следующий код.

AddType audio/mp4a-latm .m4a

Вы можете заменить приложение и расширения в вышеуказанном коде. На те которые соответствуют  вашему типу приложения.

Расширения, которые необходимо добавить на веб-сервер Apache . SSI: SSI (Server Side Includes) используется для массового обновления веб-страницы. Это расширение сэкономит много времени вашего времени. Особенно когда вам нужно внести какие-либо изменения на сайт.  И они должны отразиться на всех страницах, вам поможет в этом SSI. Можно включить SSI, добавив следующий код в файл .htaccess.

AddType text/html .shtml
AddHandler server-parsed .shtml

Эти команды инструктируют .htaccess, что .shtml действителен, а второй инструктирует сервер для анализа всех файлов, заканчивающихся на .shtml для всех команд SSI. Если у вас большое количество html-страниц, и вы не хотите переименовывать их с .shtml, тогда есть опция, которая заставит сервер разбирать все .html- файлы для команд SSI. Опция использует XBitHack.

Если вы добавите эту строку в файл .htaccess, тогда Apache проверит все файлы .html с разрешениями для SSI.

XBitHack on

Далее нужно сделать SSI подходящим для XbitHack, используя команду ниже.

chmod +x pagename.html

Заключение:

Htaccess файл имеет множество функций, которые могут дать гибкие возможности для вашего сайта. Все функции файлов .htaccess не могут быть описаны в одной статье. Их огромное количество, как и методов применения для сайта. В этой статье я постарался рассказать вам основную информацию о файле .htaccess и его важности.

Спасибо, что читаешь Nicola Top

Добавить комментарий

Ваш адрес email не будет опубликован.