• ДОБРО ПОЖАЛОВАТЬ В КЛУБ ПО WORDPRESS

    Мы активно растущий клуб по WordPress и нам нужна помощь каждого человека, в том числе и Ваша! Не стесняйтесь и станьте частью большого сообщества.
    Мы делимся новостями, отытом и полезными советами! Пройдите простую регистрацию, чтобы пользоваться всеми возможностями нашего клуба.

    Присоединяйтесь к нам, вам обязательно понравится - Присоединится

Защита файла wp-login.php с помощью .htaccess

DmitriiD

НОВИЧОК

DmitriiD

НОВИЧОК
Сообщения
1
Пару дней назад я получил сообщение от моего хостера в котором сообщалось о резко возросшей нагрузки на мой shared hosting аккаунт. Это могло говорить о двух вещах: либо неожиданно с поисковых систем повалили посетители, либо это хакерская атака.
Просмотрев логи сайта за минувшие сутки, стало понятно, что на страницу доступа в административный раздел сайта (wp-login.php) организована атака с целью взлома. Атака была совершена по принципу «грубой силы» - методом перебора паролей. Длительность атаки состовляла около девяти часов, за одну секунду было до 15 обращений к серверу.
К счастью я знал нехитрый и надежный способ оградить эту страницу от посягательств хакеров с помощью простой директивы в файле .htaccess.
В данном файле (.htaccess) нужно вписать следующую конструкцию:
Код:
<Files wp-login.php>
Order Deny,Allow
Deny from All
Allow from 000.111.222.333
</Files>
Данная директива запрещает доступ к «админке» для всех кроме клиента с IP-адреса 000.111.222.333. Вместо этой страницы сервер вернет клиенту ошибку 403.

PS. Вместо 000.111.222.333 следует вписать IP-адрес с которого вы обращаетесь к сайту.
 
Последнее редактирование:

Fryis

НОВИЧОК

Fryis

НОВИЧОК
Сообщения
6
PS. Вместо 000.111.222.333 следует вписать IP-адрес с которого вы обращаетесь к сайту.
Приветствую, такой вопросик назрел, а если у человека динамический IP как быть? прописывать шлюзные пути или только один выход: узнавать у клиента при надобности ip и менять на новый? Сейчас большинство компаний переходят на динамики из за нехватки, не будет ли гемора???
 

Mvuser

СВОЙ МОДЕРАТОР

Mvuser

СВОЙ МОДЕРАТОР
Сообщения
2,349
@Fryis, Для динамических адресов записывайте подсети. Например:

Код:
Allow from 000.111.222
или
Код:
Allow from 000.111
 

Orey

НОВИЧОК

Orey

НОВИЧОК
Сообщения
1
@Mvuser
Ок. А если работа с сайтом ведется в нескольких подсетях? Банально, доступ из под разных провайдеров, тот же мобильный провайдер, например.
Просто, я как то использовал доступ через ip-адреса, и поимел от этого геморой. По мне, так проще wp-login.php замаскировать от посторонних глаз. Через тот же конфиг.
 

Попай

АДМИНИСТРАТОР

Попай

АДМИНИСТРАТОР
Сообщения
3,247

blits

НОВИЧОК

blits

НОВИЧОК
Сообщения
10
Это как вы сделаете через конфиг?
Я менял себе, дополнив файл .htaccess. Этот код в .htaccess (если Apache)

Код:
# Скрытие адреса логина
<IfModule mod_rewrite.c>
RewriteEngine On

RewriteRule ^адрес по которому будет доступна страница логина/?$ /wp-login.php?пароль [R,L]

RewriteCond %{HTTP_COOKIE} !^.*wordpress_logged_in_.*$
RewriteRule ^адрес по которому будет доступна страница логина/?$ /wp-login.php?пароль&redirect_to=/wp-admin/ [R,L]

RewriteRule ^адрес по которому будет доступна страница логина/?$ /wp-admin/?пароль [R,L]

RewriteCond %{SCRIPT_FILENAME} !^(.*)admin-ajax\.php
RewriteCond %{HTTP_REFERER} !^(.*)example.com/wp-admin
RewriteCond %{HTTP_REFERER} !^(.*)example.com/wp-login\.php
RewriteCond %{HTTP_REFERER} !^(.*)example.com/адрес по которому будет доступна страница логина/
RewriteCond %{QUERY_STRING} !^пароль
RewriteCond %{QUERY_STRING} !^action=logout
RewriteCond %{QUERY_STRING} !^action=rp
RewriteCond %{QUERY_STRING} !^action=postpass
RewriteCond %{HTTP_COOKIE} !^.*wordpress_logged_in_.*$
RewriteRule ^.*wp-admin/?|^.*wp-login\.php /not_found [R,L]

RewriteCond %{QUERY_STRING} ^loggedout=true
RewriteRule ^.*$ /wp-login.php?пароль [R,L]
</IfModule>
# Скрытие адреса логина

Вместо адрес по которому будет доступна страница логина/ пишите желаемый адрес, например wpadmin82j
Вместо пароль пишите пароль, для доступа по wp-login.php, например 83nf3f340, тоесть зайти на wp-login получится только, если зайти на wp-login.php?83nf3f340
После этих простых манипуляций мы получим:

  • Ошибка not_found при наборе example.com/wp-admin
  • Ошибка not_found при наборе example.com/wp-login.php
  • Доступ к странице логина по красивой, придуманной вами ссылке, такой, как example.com/wpadmin82j ИЛИ example.com/wp-login.php?83nf3f340
 
Последнее редактирование модератором:

dukat

НОВИЧОК

dukat

НОВИЧОК
Сообщения
5
Было бы интересней если воплотить идею вызывать файл панели админки по собственному адресу который самостоятельно прописывается
например традиционно панель вызывается у всех ВордПресс
site.ru/wp-admin
или
site.ru/wp-login.php

Так вот умники... можно ли сделать так что бы самостоятельно создать адрес вызова панели, а стандартные адреса выключить?
Например: site.ru/adres/wp-login.php
 
Последнее редактирование модератором:

Попай

АДМИНИСТРАТОР

Попай

АДМИНИСТРАТОР
Сообщения
3,247
dukat, конечно можно с помощью плагина по безопасности для wordpress. Какой именно это делает уже не помню, вроде в iThemes Security есть такой функционал. Так же можно это всё проделать вручную, но уже сложнее.
 

dukat

НОВИЧОК

dukat

НОВИЧОК
Сообщения
5
dukat, конечно можно с помощью плагина по безопасности для wordpress. Какой именно это делает уже не помню, вроде в iThemes Security есть такой функционал. Так же можно это всё проделать вручную, но уже сложнее.

Не знал что есть такое... поищу, может че найду... что бы каждая собака не шаркала поля входа в админку... Спасибо...
 
Сверху