Master-X
Форум | Новости | Статьи
Главная » Форум » Программинг, Скрипты, Софт, Сервисы » 
Тема: WordPress: Спецы по mod_rewrite есть?
цитата
17/06/15 в 08:25
 SkyKiller
Всем привет.
Имеем сайт на WordPress. В котором имеется каталог wp-admin (который хер переименуешь, сцуко, иначе WP перестаёт работать). И, как и следовало ожидать, всякие пидарасы-хакеры-недоучки пытаются ломиться по урлу в админку и брутфорсить пароли.
Файл wp-login.php я через .htaccess защитил просто:

RewriteRule ^(/)?hackers-fuck-off/?$ /wp-login.php [QSA,L]

а вот как провернуть такую же фишку с каталогом - у меня пока не получается.

Теперь хотелось бы защитить таким же образом каталог wp-admin, чтобы он был недоступен с браузера по адресу site.com/wp-admin/
А был бы доступен, например, по адресу site.com/odminko/
По запросу старого адреса (wp-admin) надо выдать 404.
Сила Мастера, помоги! smail36.gif smail27.gif
цитата
17/06/15 в 11:45
 johndoe2
секретный url ставит секретную куку

http://доменблога/setcookie-345983048.php

Код:

<?php
setcookie('cookie9384598445');



.htaccess проверяет наличие куки при доступе к wp-admin/

Код:

rewritecond %{REQUEST_URI} wp-admin/
rewriterule %{HTTP_COOKIE} !cookie9384598445=
rewriterule . - [F,L]



сначала заходишь на http://доменблога/setcookie-345983048.php и только потом можешь использовать админку. куку можно поставить на год например

----

есть другой вариант, но это только от автоматов.

в свой локальный hosts пишешь ipблога blog.my, в конфиг vhost пишешь serveralias blog.my, в htaccess ставишь редирект wp-admin/ на http://blog.my/* если %{HTTP_HOST} не blog.my

так доступ будет с любого компа, у которого в hosts прописан blog.my. автоматы обломаются, ну а человек догадается, если будет лезть.

Последний раз редактировалось: johndoe2 (09/07/15 в 19:58), всего редактировалось 1 раз
цитата
17/06/15 в 17:57
 SkyKiller
johndoe2: вариант с кукой мне очень нравится, только твой код для .htaccess выдаёт 500 Internal Server error

UPD: поправил код:
Код:
rewriteCond %{REQUEST_URI} wp-admin/
RewriteCond %{HTTP_COOKIE} !^.*cookie2362.*$ [NC]
rewriteRule . - [F,L]

Работает отлично. Спасибо! smail54.gif
цитата
17/06/15 в 20:44
 johndoe2
SkyKiller писал:

вариант с кукой мне очень нравится, только твой код для .htaccess выдаёт 500 Internal Server error


упс там пробел закрался после "!"
цитата
18/06/15 в 13:55
 aewm
для этих дел есть плагин специальный, он переименовывает wp-admin и много ещё чего полезного делает iThemes Security (Better WP Security)
цитата
18/06/15 в 18:58
 Ailk
Хтакцесс(в нужной папке), баним всех, разрешаем свой ип:
Код:

order deny,allow
deny from all
allow from 111.222.333.444


или так в корневом хтакцессе:
http://stackoverflow.com/questions/17248904/block-specific-url-in-h…cess-by-ip
цитата
19/06/15 в 05:28
 andreich
кхм, а не проще зафигачить туда .htpasswd и все дела
цитата
19/06/15 в 07:19
 rickdeckard


ну так типа секурнее - хакеру сразу выдается 403 или 404 (лучше) и он уебывает - т.к. не знает что делать.
а если делать через установку пользователя пароля - будет пытатся брутфорсить. т.к видит что ресурс сущесвует.
цитата
09/07/15 в 14:02
 SkyKiller
johndoe2: а как вариант с кукой и секретным урлом сделать для всего сайта? То есть не какая-то конкретная папка в DocumentRoot, а весь корень?
Попробовал прописать

rewriteCond %{REQUEST_URI} /
RewriteCond %{HTTP_COOKIE} !^.*cookie2362.*$ [NC]
rewriteRule . - [F,L]

выдаёт форбидден даже на секретный урл.
цитата
09/07/15 в 14:12
 Alexandur
SkyKiller:
Код:

RewriteCond %{REQUEST_URI} !^/setcookie-345983048.php$
RewriteCond %{HTTP_COOKIE} !^.*cookie2362.*$ [NC]
rewriteRule . - [F,L]
цитата
09/07/15 в 15:37
 SkyKiller
gimcnuk: спасибо тебе, добрый человек! smail54.gif


Эта страница в полной версии