kgtu5: Jovian, какаемо картинки - wp-contetnt сам ошибся? или такие редиректы/реврайты в нгиксе понагородил?
Тьфу, сам ошибся. Много опечаток, когда с ноута пишу, простите грешного.
А так, да, небольшая куча рерайтов в самом NGINX, запрещающих прямой доступ куда-либо к системным файлам/папкам, да плюс кучка хуков в WP, меняющих структуру начиная с урлов, и заканчивая классами и прочей дребиденью: кастомный меню-вокер, к примеру, отсутствие такой фигни в классах и коде, как "wp-image" и т.д. и т.п. Даже отдельная функция для убирания гребанного WPSEO комментария в хеде ("Этот сайт юзает плагин Joast.... траляля").
Всё перелопачено. :)
Стоит заметить, что я жуткий противник плагинов, и если их юзать много, то с рерайтами будут проблемы, если не менять исходники этих самых плагинов (но тогда геморрой с обновлениями). Использую только самое необходимое, что не могу написать сам. :) WPSEO тому пример.
WapGraf: Это же решение можно организовать и на самом nginx. Никакого смысле дергать апач, пхп в данном варианте решения нет. Кроме этого половина модулей ВП делает тоже самое, но с другой реализацией.
ТС, к сожалению в вашем варианте нету ничего нового совершенно. Хотя конечно некоторые и его начнут использовать
kgtu5: чего й то, даже великий и ужасный (которого тут часто обливают грязью ) https://wordpress.org/wp-content/ отдает 403 ответ (а в реалиях ответ 200, в стандартном архиве нет .htaccess закрывающего папку), что уже подтверждает наличие вордпресса, аналогично можно пробежаться и по другим папкам/файлам
У меня отдаётся просто ответ средствами CMS: "страница не найдена, мож поиском попробуете воспользоваться?". На скриншоте обратите внимание на пути к тому же CSS -- там не будет признаков WP.☝
kgtu5: ТС как думаешь какой ответ получит бот при обращении допустим к /wp-content ? а к /wp-includes ? и т.д.
Страница не найдена. О_о
Ещё? :)
kgtu5: Обратились к спецфайлу получили куку в браузер/прописали свой ip в папку ips-alllowed - и там и там появился доступ в админку. Разница только в реализации...
Опять мне разницу объяснять? :) Я уже начинаю уставать. :)
1. Любой реальный юзер пройдёт к wp-admin.
2. Не катастрофично, но есть боты, которые такой способ схавают.
3. Проверка такая ЗНАЧИТЕЛЬНО затратнее, чем проверка на наличия определённого файла. Хотя и мала в целом -- в вариант с куками выдержит также немаленький напор ботов.
kgtu5: Ну уж и если придераться к стартпосту : пункт 1. $openit = fopen('ips-alllowed/' . $ip, 'w'); пункт 2. if (!-f $root_path/ips-allowed/$remote_addr) {
Да, каюсь, опечатки. Надо бы поправить. ;)
---------- Добавлено 18.02.2014 в 11:46 ----------
Rodnoi: ТС, вы какой-то агрессивный.
Нет, просто холерик и чересчур импульсивный. :)
Характер такой. И недостаток и достоинство в определённых моментах. :)
Rodnoi: Ничего "нетривиального" в решении нет. Все эти обсуждения
Обсуждений и кучи пустой болтовни море. Нетривиальность в том, что такого решения я нигде не видел. И оно отнюдь не похоже на решение с куками. По одной простейшей причине (пять повторяюсь) -- я не хочу, чтобы кто-то вообще видел админку. И здесь куки не подходят. Если вам оно не надо -- юзайте куки на здоровье. ;)
Rodnoi: 1. Парсятся cms по признакам (пути).
Да хоть упарсите мой сайт -- никаких признаков WP не найдёте. Сорри, но показать урл не могу, так как не привык светить свои сайты.
Чтобы понять как и чего -- погуглите тему для WP "Roots Theme" -- идею я взял оттуда. Никаких стандартных путей в исходном коде вы не найдёте. Даже типичных для WP классов нет. ;)
Rodnoi: Т.к. если цель - ваш клиент, то будут использоваться другие методы, поэтому довольно наивно все сводить к задаче "теперь никто не поймет, что это wordpress".
Моё решение только для отражения массового брута и закрытия от реальных зевак.
Естественно, я в курсе, что если кто-то захочет реально повалить сайт, то почти ничего не спасёт (уж об обсуждаемом решении и речи быть не может). Я всё понимаю.
Rodnoi: поэтому упираться, что здесь что-то очень нетривиальное перед решением той же задачи через allow/deny, ну это типа странно.
Да, совсем похожее. :D Тупой allow/deny -- это не решение проблемы. Это -- кривой костыль для инвалида.
Это точно также, как сравнение Лады Калины и Порше Кайен -- обе машины на 4-х колёсах и едут -- одинаково!
kgtu5: 1. ТС пока что твой вордпресс легко определим, даже не смотря на "невидимые" wp-admin и wp-login.php Хочешь скажу как ?
Почитай выше внимательно, почему мой WP не так легко определим. ;)
Дело совсем не только в wp-admin/login.
kgtu5: это каким же образом незнаючи логин и пароль
Я нигде не сказал, о том, что он пройдёт дальше авторизации. ;) Факт наличия этой самой авторизации даст понять, что перед нами WP.
kgtu5: server наше все...
Тьфу, естественно, что локейшены в блоках server надо прописывать. Прописную истину забыл в примере указать. Не отредактируешь уже первое сообщение...
kgtu5: тут можно поспорить, что больше нагрузит систему в целом - выдача запроса на авторизацию (уже загружено в оперативке и ждет выполнения) или создание новых файлов на жестком и обращение к ним, ибо брутфорсы не с одно ip идут - вспомнить хотя бы августовский брут, когда хостеры банили по 10-30к ip
Опять читаем через строчки и невнимательно? :)
Я, вот, старался, описывал, а вы даже прочитать внимательно один раз не можете. Обидно даже.
Таки ответьте мне, когда в моём примере (и сколько раз) создаются файлы с IP, и имеют ли к ним доступ и возможность создания сами боты? ;)
1к в минуту мой вариант отобьёт АБСОЛЮТНО легко и непринуждённо даже на VPS-ке за 5 баксов. И даже банить никого не надо. ;) Имитировал такую нагрузку на самом дешевом дроплете Digitalocean -- сайт вполне был отзывчив и работоспособен. 1к в минуту -- цифра немаленькая, не? :)
kgtu5: тогда особо смысла и разницы с такой конструкцией нет (или другой вариант -получение спецкуки)
Разницу с моим подходом смотри:
1. Нужно делать htpasswd.
2. Нужен лишний логин/пароль.
3. ЛЮБОЙ зайдёт в wp-admin и ему предоставят инфо, что "ДА, ЭТО WORDPRESS -- ДАЙ СВОЙ ЛОГИН/ПАРОЛЬ". Прямо-таки афиша с надписью: "(тр/x)а(х/к)ни меня!". :D
Это только на первый взгляд. ;)
---------- Добавлено 17.02.2014 в 22:10 ----------
kgtu5: нагрузки нгиксу от выдачи окна авторизации (и как следствие 401 ошибки) 0 целых 0 десятых
Нагрузка от проверки наличия файла только для локации определёной также стремиться к нулю. И она меньше, чем авторизация с последующей проверкой. ;)
---------- Добавлено 17.02.2014 в 22:13 ----------
kgtu5: кстати поделитесь секретом, как без модификации движка вы перекроили стандартные пути и папки ???
Зачем их перекраивать? ;) Чуток редиректов простейших и отказ от убогих плагинов. Относительные урлы.
Для относительного примера погуглите тему "WP Roots Theme". Идея оттуда взята.
---------- Добавлено 17.02.2014 в 22:13 ----------
kgtu5: пока что выглядит именно как
Пока что не услышал в ответ ничего такого (с аргументами верными), чтобы это было именно так. ;)
Пока что выглядит именно как "я не понял чо это, но автор -- сами_знаете_кто". :)
Ничего, я не девочка и не малолетка -- всё понимаю. ;)
Jovian, какаемо картинки - wp-contetnt сам ошибся? или такие редиректы/реврайты в нгиксе понагородил?
Тьфу, сам ошибся. Много опечаток, когда с ноута пишу, простите грешного.
А так, да, небольшая куча рерайтов в самом NGINX, запрещающих прямой доступ куда-либо к системным файлам/папкам, да плюс кучка хуков в WP, меняющих структуру начиная с урлов, и заканчивая классами и прочей дребиденью: кастомный меню-вокер, к примеру, отсутствие такой фигни в классах и коде, как "wp-image" и т.д. и т.п. Даже отдельная функция для убирания гребанного WPSEO комментария в хеде ("Этот сайт юзает плагин Joast.... траляля").
Всё перелопачено. :)
Стоит заметить, что я жуткий противник плагинов, и если их юзать много, то с рерайтами будут проблемы, если не менять исходники этих самых плагинов (но тогда геморрой с обновлениями). Использую только самое необходимое, что не могу написать сам. :) WPSEO тому пример.
Файл создает кто? ПХП. Дальше объяснять или сами в своей же реализации разберетесь?
Ну, и!? Когда и для чего файл создаётся средствами PHP?!
Как идёт обращение к админке?!
Если ты внимательно бы прочитал, то понял, какую ерунду тут пишешь. А если реально не понимаешь, то бежать от таких хостеров надо. Бежать без оглядки.
Но я уверен, что ты просто не прочитал внимательно и не вник, что там и зачем юзает PHP, и как потом работает NGINX. ;)
Вы просто все усложняете, и я не очень понимаю зачем, т.к. отлично знаю тот кейс. Но ваше дело, безусловно, если по фану =)
Я сторонник "если делаешь, то делай капитально" и полной обфускации. ;)
И, да, мне "по фану". :D
---------- Добавлено 18.02.2014 в 12:24 ----------
Какой смысл писать реализацию такого плана на php, если это же все можно проверить на фронтеде? Глупо.
Горчичник по тебе плачет, ибо читаешь невнимательно! ;)
ЕЩЁ РАЗ ЧИТАЙ первый пост.
Потрудись, пожа-а-а-а-алуйста. ;)
И не будешь так позорно потом выглядеть рассуждая про фронт и бэк. ;)
Это же решение можно организовать и на самом nginx. Никакого смысле дергать апач, пхп в данном варианте решения нет.
Кроме этого половина модулей ВП делает тоже самое, но с другой реализацией.
ТС, к сожалению в вашем варианте нету ничего нового совершенно. Хотя конечно некоторые и его начнут использовать
Чукча писатель, а не читатель?
Кто там и чего дёргает?!
чего й то, даже великий и ужасный (которого тут часто обливают грязью ) https://wordpress.org/wp-content/ отдает 403 ответ (а в реалиях ответ 200, в стандартном архиве нет .htaccess закрывающего папку), что уже подтверждает наличие вордпресса, аналогично можно пробежаться и по другим папкам/файлам
У меня отдаётся просто ответ средствами CMS: "страница не найдена, мож поиском попробуете воспользоваться?". На скриншоте обратите внимание на пути к тому же CSS -- там не будет признаков WP.☝
И это -- сайт на WP.
P.S. ладно, любой способ имеет место быть, главное чтобы цель была достигнута
Спасибо. ;)
Видимо, кроме меня больше никто не заморачивается полным закрытием админки и сокрытием всех следов CMS... Да, я маньяк. :D
ТС как думаешь какой ответ получит бот при обращении допустим к /wp-content ? а к /wp-includes ?
и т.д.
Страница не найдена. О_о
Ещё? :)
Обратились к спецфайлу получили куку в браузер/прописали свой ip в папку ips-alllowed - и там и там появился доступ в админку.
Разница только в реализации...
Имеешь в виду вот это?
Опять мне разницу объяснять? :) Я уже начинаю уставать. :)
1. Любой реальный юзер пройдёт к wp-admin.
2. Не катастрофично, но есть боты, которые такой способ схавают.
3. Проверка такая ЗНАЧИТЕЛЬНО затратнее, чем проверка на наличия определённого файла. Хотя и мала в целом -- в вариант с куками выдержит также немаленький напор ботов.
Ну уж и если придераться к стартпосту :
пункт 1. $openit = fopen('ips-alllowed/' . $ip, 'w');
пункт 2. if (!-f $root_path/ips-allowed/$remote_addr) {
Да, каюсь, опечатки. Надо бы поправить. ;)
---------- Добавлено 18.02.2014 в 11:46 ----------
ТС, вы какой-то агрессивный.
Нет, просто холерик и чересчур импульсивный. :)
Характер такой. И недостаток и достоинство в определённых моментах. :)
Ничего "нетривиального" в решении нет. Все эти обсуждения
Обсуждений и кучи пустой болтовни море. Нетривиальность в том, что такого решения я нигде не видел. И оно отнюдь не похоже на решение с куками. По одной простейшей причине (пять повторяюсь) -- я не хочу, чтобы кто-то вообще видел админку. И здесь куки не подходят. Если вам оно не надо -- юзайте куки на здоровье. ;)
1. Парсятся cms по признакам (пути).
Да хоть упарсите мой сайт -- никаких признаков WP не найдёте. Сорри, но показать урл не могу, так как не привык светить свои сайты.
Чтобы понять как и чего -- погуглите тему для WP "Roots Theme" -- идею я взял оттуда. Никаких стандартных путей в исходном коде вы не найдёте. Даже типичных для WP классов нет. ;)
Т.к. если цель - ваш клиент, то будут использоваться другие методы, поэтому довольно наивно все сводить к задаче "теперь никто не поймет, что это wordpress".
Моё решение только для отражения массового брута и закрытия от реальных зевак.
Естественно, я в курсе, что если кто-то захочет реально повалить сайт, то почти ничего не спасёт (уж об обсуждаемом решении и речи быть не может). Я всё понимаю.
поэтому упираться, что здесь что-то очень нетривиальное перед решением той же задачи через allow/deny, ну это типа странно.
Да, совсем похожее. :D Тупой allow/deny -- это не решение проблемы. Это -- кривой костыль для инвалида.
Это точно также, как сравнение Лады Калины и Порше Кайен -- обе машины на 4-х колёсах и едут -- одинаково!
принципиального отличия от варианта с получением спецкуки нет...
Да, конечно. Опять не читаем.
Повторю: хочешь скажу как?
Давай-давай, конечно! К чему лишние вопросы?
1. ТС пока что твой вордпресс легко определим, даже не смотря на "невидимые" wp-admin и wp-login.php
Хочешь скажу как ?
Почитай выше внимательно, почему мой WP не так легко определим. ;)
Дело совсем не только в wp-admin/login.
это каким же образом незнаючи логин и пароль
Я нигде не сказал, о том, что он пройдёт дальше авторизации. ;) Факт наличия этой самой авторизации даст понять, что перед нами WP.
server наше все...
Тьфу, естественно, что локейшены в блоках server надо прописывать. Прописную истину забыл в примере указать. Не отредактируешь уже первое сообщение...
тут можно поспорить, что больше нагрузит систему в целом - выдача запроса на авторизацию (уже загружено в оперативке и ждет выполнения) или создание новых файлов на жестком и обращение к ним, ибо брутфорсы не с одно ip идут - вспомнить хотя бы августовский брут, когда хостеры банили по 10-30к ip
Опять читаем через строчки и невнимательно? :)
Я, вот, старался, описывал, а вы даже прочитать внимательно один раз не можете. Обидно даже.
Таки ответьте мне, когда в моём примере (и сколько раз) создаются файлы с IP, и имеют ли к ним доступ и возможность создания сами боты? ;)
1к в минуту мой вариант отобьёт АБСОЛЮТНО легко и непринуждённо даже на VPS-ке за 5 баксов. И даже банить никого не надо. ;) Имитировал такую нагрузку на самом дешевом дроплете Digitalocean -- сайт вполне был отзывчив и работоспособен. 1к в минуту -- цифра немаленькая, не? :)
тогда особо смысла и разницы с такой конструкцией нет (или другой вариант -получение спецкуки)
Разницу с моим подходом смотри:
1. Нужно делать htpasswd.
2. Нужен лишний логин/пароль.
3. ЛЮБОЙ зайдёт в wp-admin и ему предоставят инфо, что "ДА, ЭТО WORDPRESS -- ДАЙ СВОЙ ЛОГИН/ПАРОЛЬ". Прямо-таки афиша с надписью: "(тр/x)а(х/к)ни меня!". :D
Это только на первый взгляд. ;)
---------- Добавлено 17.02.2014 в 22:10 ----------
нагрузки нгиксу от выдачи окна авторизации (и как следствие 401 ошибки) 0 целых 0 десятых
Нагрузка от проверки наличия файла только для локации определёной также стремиться к нулю. И она меньше, чем авторизация с последующей проверкой. ;)
---------- Добавлено 17.02.2014 в 22:13 ----------
кстати поделитесь секретом, как без модификации движка вы перекроили стандартные пути и папки ???
Зачем их перекраивать? ;) Чуток редиректов простейших и отказ от убогих плагинов. Относительные урлы.
Для относительного примера погуглите тему "WP Roots Theme". Идея оттуда взята.
---------- Добавлено 17.02.2014 в 22:13 ----------
пока что выглядит именно как
Пока что не услышал в ответ ничего такого (с аргументами верными), чтобы это было именно так. ;)
Пока что выглядит именно как "я не понял чо это, но автор -- сами_знаете_кто". :)
Ничего, я не девочка и не малолетка -- всё понимаю. ;)