Jovian

Рейтинг
78
Регистрация
21.08.2011
Himiko:
Всё можно решить в общем случае (без разницы, админка это или сайт целиком с любым набором файлов) и на уровне "только nginx". Без php, файлов и прочего.

Вот это я реально хотел бы увидеть! Дайте пример, пожалуйста!

Himiko:
ТС, к критике нужно относиться всё же проще.

Проще некуда. ;)

WapGraf:
Приглашаю вас летом ко мне в село на отдых. На все лето! Серьезно!

Забыл ответить на это. :)

Я нахожусь и живу в 10 метрах (реально) от места рыбалки своей любимой. ;)

Так что, простите, мне и у своего моря очень даже неплохо.

И, да, поэтому у меня только ADSL и 3G... Но я не жалуюсь. ;)

WapGraf:
непонимаю людей создающих темы без желания обсуждать свое творение и воспринимать критику.

Так если бы это была здравая критика -- одно дело.

А когда глупости -- простите и не понимайте дальше. ;)

WapGraf, разговор окончен, ибо все ресурсы моего терпения иссякли.

Вы уж простите. ;)

Не понимаете или вам что-то не нравится -- проходите мимо.

Люди, которые понимают, сделают правильные выводы. Именно для них и предназначалась тема.

WapGraf:
1. как говорил выше именно эту задачу можно решить на уровне nginx, без всего прочего.

Пример в студию.

WapGraf:
2. нелюблю такого. Потому что каждый день такое наблюдаю. Костыль на то, костыль на се, на пятое, десятое. По отдельности все идеальное, но в совокупности получается нечто ужасное. А после ежнедельно всплывают баги от конфликтов. Решения должны быть комплекными. Использование отдельных решений не только создает конфликты, зависимости которых сразу не видно, но и в итоге создает "лабиринты", "велосипеды" которые жестоко тормозят проект. Возьмите ту же соцсеть, почему она популярна? Потому что там все собрали, но не поставили ссылки на каждую часть отдельно, а создали единое решение, которое включает и "а" и "б" и "в".

ЕЩЁ РАЗ: никто не мешает доработать решение под себя. Причем тут ересь про всякие соцсети (это, кстати, решаемо элементарно -- я про логины) и прочее? Или вы хотите таблетку от всего и сразу? Может, вам ещё и карусель на PHP/JS запихнуть, чтобы уж сразу покрыть все ваши потребности? Или в одной теме сразу создать новую CMS?

Никакой конкретики от вас, а только "дайте мне другое, с фиолетовыми пуговицами".

WapGraf:
А разве в п.1 вы не написали что бот попадает на бэкенд и там кушает JS?

Возвращаемся всё к тому же самому: вы слепы и не понимаете даже, как элементарное работает.

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

Вы вообще не понимаете, зачем тут нужен PHP.

Вы не понимаете, что и когда делает фронт, а что делает бек.

---------- Добавлено 18.02.2014 в 19:20 ----------

WapGraf:
При плохой связи, например в глухом селе и gprs, это решение вас доконает из-за постоянной смены IP-адреса.

Вас скорее доканает вообще что-либо делать при такой связи -- не то, чтобы в админку лезть.

Что ещё выдумаете?

Плохой коннект на Луне?🤪

---------- Добавлено 18.02.2014 в 19:22 ----------

WapGraf:
В nginx у вас проверяется только наличие файла. Если его нет, ошибка.

Если его нет -- ты бот.

WapGraf, скажу просто: хорошо, что я не ваш клиент. Бедные ваши клиенты.

Вы элементарного не понимаете -- что решается на уровне NGINX и для чего здесь PHP.

Совсем не понимаете.

Надеюсь, таки кто-нибудь вам здесь объяснит, как и что работает. У меня уже нет ни сил, ни желания, ибо как об стенку горохом.

virtuozo:
Что касается вашего способа, он не подойдет 90 процентам пользователей, ведь, насколько я понял, требуется доступа к настройкам сервера?

Лично мне вполне достаточно htaccess с allow/deny, и не понимаю чем это способ плох.

Мой пост не для этих пользователей и не для вас -- можете проходить мимо. ;)

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

И не подумайте, что я хотел вас обидеть.

---------- Добавлено 18.02.2014 в 16:09 ----------

virtuozo:
Я таких людей не понимаю (не вас, а которые требуют такого - закрыть CMS)
Это, по-моему, уже чистая незамутненная паранойя. Если админка будет недоступна, что еще нужно?
Если хочешь, чтобы никто не узнал, на какой CMS работает свой сайт - пиши самопис! Маразм!

Обфускация -- ещё один уровень пассивной защиты от юзеров/идиотов и огромная стена для тупых (стандартных) ботов. Если есть возможность это использовать, то почему бы и нет?

Называть это маразмом, по меньшей мере, неразумно.

---------- Добавлено 18.02.2014 в 16:13 ----------

gkir:
но крон настроить надобно, т.к. новый день = новый IP.

Ну, почему же сразу новый IP? Вполне может быть и старый, если коннект к Интернету не терялся (у роутера, к примеру).

И даже если каждый день + 1 IP, то это всего 365 файлов -- пшик и только. ;)

Вероятность бота или юзера, которым повезло иметь ваш прошлый IP, среди такой маленькой выборки, крайне мала. Можно ей пренебречь.

Хотя, настроить крон на недельную очистку -- как два пальца *. ;)

---------- Добавлено 18.02.2014 в 16:25 ----------

Кстати, для удобства можно дополнить PHP.

Поставить в нём редирект на wp-admin.

И ходить в админку по адресу файла PHP.

Каждый раз будет либо создаваться новый файл с IP вашим, либо, если он уже есть, просто ничего не делаться.

Итог один -- вы сразу будете попадать в админку.

Это удобно, в первую очередь, тогда, когда на вашем сайте доступ в админку должно иметь много разного народа.

Этому народу надо будет просто сообщить новую страницу входа и всё.

gkir:
а вот тут тоже проблема... это будет список из одного адреса, и я не предлагаю обсуждать вариант, если админов несколько и они одновременно захотят что-то править, но если в процессе работы сменился айпишник на модеме? тебя сразу выкинет из админки и попытки сохранить сделанное/написанное/исправленное не завенчаются успехом

Тут нет никакой проблемы. И ещё раз: внимательно читайте первый пост -- я расписал, как работает PHP код весьма подробно. ;)

Нет проблемы потому, что PHP создаёт файл с именем равным IP обратившемуся к этому PHP. Хоть 1000 IP можно создать -- никто и никому мешать не будет. Учитывая, что файлы создаются пустыми, можно не беспокоиться за место и скорость. По крону можно чистить папку раз в неделю/месяц/год/никогда -- как вам угодно!

И хоть миллион будет файлов -- на скорости NGINX это никак не отразится, ибо идёт проверка "в лоб": есть ли файл с именем IP=IP_обратившегося в папке. Элементарно и быстро.

---------- Добавлено 18.02.2014 в 15:27 ----------

gkir:
"полную" версию защиты от Jovian`a

То, что выложено, уже закроет админку для ботов и разгрузит сервер.

Именно это и было представлено.

А как закрыть весь WP -- много писать и объяснять. Я, конечно, немного альтруист, но не настолько. :) Итак уже немало идей написал и примеров, от чего можно оттолкнуться. При этом, многие люди даже внимательно первый пост не могут прочитать...

kgtu5:
тогда чтобы стартпост не был половинчатым, остальные реврайты/редиректы в студию, ибо сказал что боты не поймут про вордпресс, а в коде только /wp-admin и wp-login.php "спрятал"...

Нет уж, простите, я в преподы и бесплатные работники не нанимался. ;)

Тем более, что никто спасибо даже не хочет сказать.

Ну, не надо, так не надо.

Однако, простейшее закрытие wp-content делается так:

location ~ ^/wp-content { return 404; }

И не забывайте правильный порядок location использовать -- это очень важно. ;)

---------- Добавлено 18.02.2014 в 14:15 ----------

gkir:
[спорно] 2. Снизить нагрузку на сервер -- отдавать 404 средствами NGINX, а не CMS, не пропуская к PHP.

Чего тут спорного? :) Ни один бот не пройдёт дальше NGINX, при этом php вообще им не трогается. И это (проверка на наличие файла) быстрее, чем проверка куков.

gkir:
по мне так, если в п.3 хочется скрыть использование CMS, то тогда это сделать очень сложно, даже для пользователей, т.к. любой маломальский плагин пробивается по базе или в хедере видно где расположен css.

Решаемо:

1. Не юзать тупые плагины, которые не дают использовать свой CSS/JS. Я всегда делаю так, чтобы грузилось максимум 2 CSS и 2 JS (один основной, а другой страница-зависимый). Делать по-другому -- дурной тон. Если я вижу в хеде сайта запрос сразу на 5 CSS-сок, то для меня этот сайт сразу становится ГС-ом. :) Ну, да, перфекционист я.

2. Почти все загрузки решаемы вородпрессовскими хуками и простейшими рерайтами NGINX.

Так что, не вижу тут проблем. Но это для меня. А для других, да -- большая проблема может быть. Ведь 99.9% юзеров WP совсем не разбираются в PHP и самом WP...

gkir:
Jovian, ты можешь собрать все изменения и снова выложить код в одном сообщении?

Изменений совсем чуток -- достаточно просто почитать тему (4 страницы -- это на 10 минут).

Тот, кто не умеет читать, пускай идёт лесом.

---------- Добавлено 18.02.2014 в 14:18 ----------

gkir:
по поводу нагрузки (п.2) я ничего сказать не могу, но, по логике вещей, закрытие через NGINX всё же менее ресурсоёмкое, чем проходя через NGINX отбивать ботов или пользователей средствами PHP.

Для отбивания ботов тут не используется PHP.

PHP тут используется лишь для внесения вашего IP в white-list и только.

Этой банальности не смог понять WapGraf -- представитель хостинга... Печалька.

WapGraf:
Jovian, к чему весь мой текст? Вероятно вы еще не видели что боты сейчас брутят не только админку ВП, но и аккаунты пользователей, причем также массово. У этих ботов конечно другая цель, но вы пользователей также заставите заходить на дополнительные странички? Это будет смерть для сайта и ваша реализация этого не учитывает.

1. Простейший модификация с редиректом поможет и в случае с аккаунтами пользователей. Урл страницы отдавать средствами JS, используя хитрую функцию компоновки, да ещё и задействуя jQuery -- из 10000000 ботов пробьётся только один -- тот, который полностью кушает и исполняет даже сложный JS. Элементарно. Однако не это здесь важно, а следующих два пункта.

2. Обсуждаем мы тут защиту именно админки. Не больше. Причем тут пользователи и остальное? Админам/модерам/постерам дать/посетить нужный урл -- ерунда.

3. Вы так и не поняли, что боты отшиваются средствами только NGINX и не доходят до бэкэнда.

---------- Добавлено 18.02.2014 в 13:22 ----------

kgtu5:
Jovian, не с WapGraf'ом, сам воюй

Ну вот, ты же мог бы объяснить, ибо понимаешь. А то человек меня совсем не хочет слушать.

kgtu5:
на мой вопрос пока так и не ответил: какой ответ получает любой обратившийся к /wp-content, /wp-includes или например к /wp-includes/bookmark.php при твоих текущих настройках впс ????

404, конечно.

Ты не знаешь, как это сделать элементарно в NGINX? :)

Не забывай, что закрывая во фронте доступ туда, бэку (php) он всегда будет открыт. ;) Поэтому тупо отдавая 404 (или что душе угодно), весь сайт будет работать нормально, но юзеры не зайдут в WP-***

Можно вообще просто редирект на главную сделать. Причем со всех популярных страниц админок -- фиг поймешь, что за CMS реально используется. ;) Или закосить под ложную CMS, отдавая 403 на определённый урл -- пущай долбяться и думают, что у вас, к примеру, Битрикс. :D Один фиг NGINX футболить будет, не напрягая бэк. ;)

Кто-нибудь, спасите меня! :) Объясните WapGraf'у, что там и зачем. А то он в трёх соснах потерялся. :)

kgtu5, поможешь? Ты ведь понимаешь. ;)

Всего: 730