IgorA100 90 Опубликовано: 17 апреля 2013 Рассказать Опубликовано: 17 апреля 2013 если поменять адрес регистрации Да, но это уже модификация и нужно постоянно носить обновления.... А хочется иметь штатно... Цитата Ссылка на сообщение Поделиться на других сайтах
prikindel 255 Опубликовано: 17 апреля 2013 Рассказать Опубликовано: 17 апреля 2013 неважно, главное что это работает если это будет штатно, то изменят алгоритм бота и он будет находить страницу с регистрацией а щас он тупо лезет на do=register Цитата Ссылка на сообщение Поделиться на других сайтах
IgorA100 90 Опубликовано: 17 апреля 2013 Рассказать Опубликовано: 17 апреля 2013 то изменят алгоритм бота и он будет находить страницу с регистрацией Я выше накидал примерный алгоритм регистрации который хочется реализовать штатно, что-бы отсеять ботов. Цитата Ссылка на сообщение Поделиться на других сайтах
x1313 0 Опубликовано: 17 апреля 2013 Рассказать Опубликовано: 17 апреля 2013 если поменять адрес регистрации, то все боты отсеятся, проверено уже несколько месяцев не нескольких сайтах с посещалкой до 60к в сутки. как менять адрес регистрации - подробно расписывал Zeos а можно ссылочку на это дело? Цитата Ссылка на сообщение Поделиться на других сайтах
a1ex 60 Опубликовано: 17 апреля 2013 Рассказать Опубликовано: 17 апреля 2013 то изменят алгоритм бота и он будет находить страницу с регистрацией Я выше накидал примерный алгоритм регистрации который хочется реализовать штатно, что-бы отсеять ботов. Что толку от JS алгоритма, если боты не используют браузер 3 Цитата Ссылка на сообщение Поделиться на других сайтах
prikindel 255 Опубликовано: 17 апреля 2013 Рассказать Опубликовано: 17 апреля 2013 вот ссылка: http://forum.dle-news.ru/index.php?showtopic=62184&hl=&fromsearch=1 еще раз повторюсь, работает просто на ура. Цитата Ссылка на сообщение Поделиться на других сайтах
alternativa 4 Опубликовано: 18 апреля 2013 Рассказать Опубликовано: 18 апреля 2013 Вот это "работает просто на ура" надо реализовать в новой версии как: "впишите название страницы регистрации", как пункт защиты в админке. И возможность менять адрес страницы когда захочется, что бы увиливать от просекания ботами таковой страницы. 2 Цитата Ссылка на сообщение Поделиться на других сайтах
prikindel 255 Опубликовано: 18 апреля 2013 Рассказать Опубликовано: 18 апреля 2013 alternativa, я против, потому что читайте выше почему Цитата Ссылка на сообщение Поделиться на других сайтах
IgorA100 90 Опубликовано: 18 апреля 2013 Рассказать Опубликовано: 18 апреля 2013 Что толку от JS алгоритма, если боты не используют браузер В этом вся и суть. Почитайте про алгоритм. Как раз через JS и создавать+передавать уникальный ID, что бот не сможет распознать и сделать. Цитата Ссылка на сообщение Поделиться на других сайтах
celsoft 6 072 Опубликовано: 18 апреля 2013 Рассказать Опубликовано: 18 апреля 2013 Как раз через JS и создавать+передавать уникальный ID, что бот не сможет распознать и сделать. Ну кто вам это сказал, что боты не могут это сделать? Защита на JS может быть эффективна только до тех пор пока бот не обучен ей. Т.е. до тех пор пока она уникальна, она эффективна, как только она будет в стандартном дистрибутиве, обучить бота под это не составляет никакого труда. Просто то что под ваш сайт будут переучивать ботов, вероятность крайне низка. Под стандартный дистрибутив ботов перепишут через 5 минут. 3 Цитата Ссылка на сообщение Поделиться на других сайтах
alternativa 4 Опубликовано: 19 апреля 2013 Рассказать Опубликовано: 19 апреля 2013 (изменено) я против, потому что читайте выше почему Да я прекрасно понял о чем речь, ибо я ставил эти изменения, и мне показалось крайне неудобно регулярно такие изменения вносить при обновлениях. если это будет штатно, то изменят алгоритм бота и он будет находить страницу с регистрацией а щас он тупо лезет на do=registerЯ имею ввиду, что не при каждом обновлении вносить изменения в коды файлов, а ужЕ внести их в дистрибутив и менять только (!) вот это: Открыть файл: /engine/data/config.php и в массив $config в самом низу добавить: 'register' => "my_reg", ################################################### 'register' => "my_reg", ); ?> Вместо слова "my_reg" используйте любое другое слово (оно должно быть уникальным для вашего сайта) Ведь мы же используем возможность менять название файла админки admin.php, почему же не можем так же менять под свое название файл регистрации (если вообще боты пользуются им при проникновении в БД, здесь еще разбираться надо...)? Изменено 19 апреля 2013 пользователем alternativa Цитата Ссылка на сообщение Поделиться на других сайтах
celsoft 6 072 Опубликовано: 19 апреля 2013 Рассказать Опубликовано: 19 апреля 2013 alternativa, Если это будет в дистрибутиве, то научить парсить ссылку на регистрацию непосредственно с сайта, не составить никакого труда. И тогда весь этот метод станет бессмысленным. Цитата Ссылка на сообщение Поделиться на других сайтах
master27 38 Опубликовано: 19 апреля 2013 Рассказать Опубликовано: 19 апреля 2013 Простите, я не разбираюсь в php, просто идея - привязать к имени домена (все же разные), ну префикс какой например (вместо "index.php?do=register", index.php?do=домен_register) и т.д. Цитата Ссылка на сообщение Поделиться на других сайтах
lifestar 18 Опубликовано: 19 апреля 2013 Рассказать Опубликовано: 19 апреля 2013 (изменено) если поменять адрес регистрации, то все боты отсеятся, проверено уже несколько месяцев не нескольких сайтах с посещалкой до 60к в сутки. как менять адрес регистрации - подробно расписывал Zeos При всём своём уважении к Zeos, то, что он предложил - полное дерьмо! Умопомрачительно много изменений! И все в ядре... Уже давно пора отучить себя вносить изменения в код DLE, иначе сами себе прибавляете работы при обновлении движка. В качестве альтернатичного решения, предложу следующий грязный хак: В файл шаблона registration.tpl в самый вверх пишем {include file="/_dle_ext/connector.php?act=registration"} Путь и имя файла на ваше усмотрение. У меня эта папка в корне с названием _dle_ext, для всяческих экстеншенов. Все изменения только там)) Файл connector.php это реально коннектор между моими классами и методами с DLE. Внутри этого файла switch переменной $act, которая приходит из шаблона. Так вот для вашего случая сойдёт и такой упрощённый код: if($act == 'registration' && (!isset($_GET['hash']) || $_GET['hash'] != '555')){ die; } Соответственно делаем ссылку на регистрацию такой: index.php?do=register&hash=555 При желании, можете генерировать hash динамически, скажем на основе данных посетителя. Почему хак грязный? Я не сторонник убивать страницу и показывать белый экран. Этот код я написал только что специально для решения вашей проблемы. Но у вас есть возможность сделать свой экшн, например редирект на страницу 404 или показать другой шаблон (для этого используйся прямо в файле connector.php переменную $this - это и есть класс $tpl (поскольку мы инклудимся напрямую из него) Вот и всё, пис! Изменено 19 апреля 2013 пользователем Александр Медведев 2 Цитата Ссылка на сообщение Поделиться на других сайтах
IgorA100 90 Опубликовано: 19 апреля 2013 Рассказать Опубликовано: 19 апреля 2013 предложу следующий грязный хак: Х.м. А ведь идея не плохая, и на вскидку должна работать. Спасибо! Цитата Ссылка на сообщение Поделиться на других сайтах
Wanderers 17 Опубликовано: 19 апреля 2013 Рассказать Опубликовано: 19 апреля 2013 Я не сторонник убивать страницу и показывать белый экран. Ну можно и die('stop spam...'); Спасибо, простенько и со вкусом. Цитата Ссылка на сообщение Поделиться на других сайтах
prikindel 255 Опубликовано: 20 апреля 2013 Рассказать Опубликовано: 20 апреля 2013 (изменено) alternativa, какие страницы проиндексированы поисковиками, о чем вы? страница регистрации не индексируется поисковиками, она закрыта в роботсе это раз а даже если она проиндексировалась, то какая разница, если выпадет из индекса? это бесполезная страница в плане оптимизации, это два. Изменено 20 апреля 2013 пользователем prikindel Цитата Ссылка на сообщение Поделиться на других сайтах
alternativa 4 Опубликовано: 22 апреля 2013 Рассказать Опубликовано: 22 апреля 2013 (изменено) Да как же? Если страницы проиндексированы как www.site.ru/stranitca1.html, то www.site.ru/bla-bla-bla/stranitca1.html - это ужЕ другой адрес? Или не так? Уважаемые. Я не силен в php, и могу только четкие инструкции исполнить. Вот это кто нибудь пошагово разжует? В качестве альтернативного решения, предложу следующий грязный хак: Например: создаем папку _dle_ext, там создаем файл connector.php - с содержимым if($act == 'registration' && (!isset($_GET['hash']) || $_GET['hash'] != '555')){ die; } далее делаем ссылку регистрации как index.php?do=register&hash=555 ... и т.д. Если поможет, то радости не будет предела. Изменено 22 апреля 2013 пользователем alternativa Цитата Ссылка на сообщение Поделиться на других сайтах
lifestar 18 Опубликовано: 22 апреля 2013 Рассказать Опубликовано: 22 апреля 2013 alternativa, то есть ты уже всё попробывал, не получается и ты пишешь сюда, так?) Цитата Ссылка на сообщение Поделиться на других сайтах
prikindel 255 Опубликовано: 22 апреля 2013 Рассказать Опубликовано: 22 апреля 2013 alternativa, не понял, зачем вы приводите этот пример, если речь идет сугубо о странице регистрации, где связь? Цитата Ссылка на сообщение Поделиться на других сайтах
alternativa 4 Опубликовано: 22 апреля 2013 Рассказать Опубликовано: 22 апреля 2013 alternativa, то есть ты уже всё попробывал, не получается и ты пишешь сюда, так?) да, я делал изменения по рекомендациям Zeos-а, и вроде получилось только в файл login.tpl тег {registration-link} работает, в других местах шаблона почему то не работает. И мне это не удобно. + я прикинул, что при каждом обновлении такую операцию придется каждый раз заново совершать, тоже, согласитесь, не очень удобно. alternativa, не понял, зачем вы приводите этот пример, если речь идет сугубо о странице регистрации, где связь? Прочитайте нашу переписку на 1-й странице (в самом конце) с IgorA100, вот что он предложил Ставьте DLE НЕ в корень сайта и проблема решится на 99% А вообще конечно совсем непонятно, как боты "пробивают" защиту регистрации...... На поддомен что ли? Нет. Например не так: www.site.ru А так: www.site.ru/бла-бла-бла/ Цитата Ссылка на сообщение Поделиться на других сайтах
lifestar 18 Опубликовано: 22 апреля 2013 Рассказать Опубликовано: 22 апреля 2013 Офигенный диалог! я: предлагаю следующий "грязный хак" alternativa: я не понял как это сделать я: а ты уже пробовал и не получилось? alternativa: конечно, я действовал по инструкции Zeos-а 3 Цитата Ссылка на сообщение Поделиться на других сайтах
IgorA100 90 Опубликовано: 22 апреля 2013 Рассказать Опубликовано: 22 апреля 2013 Да как же? То что я писал годится для новых сайтов, если он действующий - конечно-же не стоит переносить его в папку. Почему я привык ставить НЕ в корневую папку? Часто ставится на сайте еще и форум, может ставиться и тикетная система и еще куча разного. При этом если все ставить в корень - будет бардак Для Вашего случая сделайте так: http://forum.dle-news.ru/index.php?showtopic=62382&view=findpost&p=314656 Проверено, работает отлично! И правок в движок не надо вносить при обновлениях.Офигенный диалог! :D Цитата Ссылка на сообщение Поделиться на других сайтах
prikindel 255 Опубликовано: 22 апреля 2013 Рассказать Опубликовано: 22 апреля 2013 alternativa, теперь понял, что то я думал что речь идет о do=register тогда конечно, выносить в папку не вариант. можно, в принципе, настроить мод_рирайт, но все равно это плохой вариант Цитата Ссылка на сообщение Поделиться на других сайтах
IgorA100 90 Опубликовано: 25 апреля 2013 Рассказать Опубликовано: 25 апреля 2013 В качестве альтернатичного решения, предложу следующий грязный хак: Эх, а ведь не работает хак... При нажатии на кнопку подтверждения согласия с правилами на сайте идет переброс на страницу регистрации без доп параметра Цитата Ссылка на сообщение Поделиться на других сайтах
Рекомендованные сообщения
Присоединяйтесь к обсуждению
Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.