Arhar Опубликовано 23 Февраля 2007 Жалоба Поделиться Опубликовано 23 Февраля 2007 Название: Защита от ботов: вопросы при регистрации v3Добавил: ArharДобавлен: 23 Фев 2007Обновлен: 27 Апр 2007Категория: IP.Board 2.3.x Существованием своим этот мод обязан автору мода Активация путем ответа на вопросы.Говорим спасибо Sannis.А также отдельное спасибо Song и Garret за помощь в разработке 3 и 2 версии соответственно. v3Добавляется еще одна обязательная секция при регистрации, а также при ответе или создании темы у гостя, если это разрешено в разделе, в которой админ сам сможет сформулировать свои уникальные вопросы.Будет выбран один вопрос случайным образом, ответ на который будет обязательным условием для регистрации нового пользователя или ответа/темы гостя.Таким образом, чем больше у вас вопросов, тем более защищен форум. Для успешной работы необходимо придумать хотя бы один вопрос и ответ на него. Нажмите здесь, чтобы скачать файл lontex и aksl отреагировали на это 2 Ссылка на комментарий Поделиться на других сайтах Прочее
BrokenMirror Опубликовано 23 Февраля 2007 Жалоба Поделиться Опубликовано 23 Февраля 2007 Супер мод... Я использую его так: "Введите числами восемьтысячдевятсоттридцатьдва" Соответственно ответ - 8932... А как сделать, чтобы если человек не увидел выкидывалась подсказка, типа: "Раз ты такой тупой, я скажу тебе ответ - 8932"??? Ссылка на комментарий Поделиться на других сайтах Прочее
Hugo Weaving Опубликовано 23 Февраля 2007 Жалоба Поделиться Опубликовано 23 Февраля 2007 BrokenMirror,а ты заранее пиши сверху Ссылка на комментарий Поделиться на других сайтах Прочее
Arhar Опубликовано 23 Февраля 2007 Автор Жалоба Поделиться Опубликовано 23 Февраля 2007 не, так нельзя сделать, потому что можно бота настроить на получение таким образом ответов и повторную регистрацию вводя их, при этом мод теряет значение Ссылка на комментарий Поделиться на других сайтах Прочее
jersy Опубликовано 23 Февраля 2007 Жалоба Поделиться Опубликовано 23 Февраля 2007 а как выполнить запрос у меня вот такая бадяга как решить делал как и написно mySQL query error: SELECT id, question FROM ibf_questions ORDER BY id SQL error: Table '1gb_livni.ibf_questions' doesn't existSQL error code: Date: 23.2.2007, 20:25 Ссылка на комментарий Поделиться на других сайтах Прочее
Arhar Опубликовано 23 Февраля 2007 Автор Жалоба Поделиться Опубликовано 23 Февраля 2007 выполнить запрос нужно обязательно в разделе Утилита SQL в админке carloscastaneda отреагировал на это 1 Ссылка на комментарий Поделиться на других сайтах Прочее
jersy Опубликовано 23 Февраля 2007 Жалоба Поделиться Опубликовано 23 Февраля 2007 спасибо заработало обплденная прога спасибо автору а можно ли как нибудь сделать что бы вопросы чередовались а не выводились все сразу? Ссылка на комментарий Поделиться на других сайтах Прочее
EasyBot Опубликовано 23 Февраля 2007 Жалоба Поделиться Опубликовано 23 Февраля 2007 Можно убрать учитывание регистра, добавив strtolower Ссылка на комментарий Поделиться на других сайтах Прочее
Arhar Опубликовано 24 Февраля 2007 Автор Жалоба Поделиться Опубликовано 24 Февраля 2007 да, такое возможно, но я не хочу делать, пусть так как есть, можно же задать в вопросе обязательным написать с первой большой буквы насчет чередования, типа случайный выбор?подумаю над таким вариантом Ссылка на комментарий Поделиться на других сайтах Прочее
Kamikadze1 Опубликовано 24 Февраля 2007 Жалоба Поделиться Опубликовано 24 Февраля 2007 Народ, делал всё по инструкци и вот что получилось... http://rap-team.ru/1.JPGможет я что не понял... плиииз помогите где вопросты то прописывать ??? Ссылка на комментарий Поделиться на других сайтах Прочее
Arhar Опубликовано 24 Февраля 2007 Автор Жалоба Поделиться Опубликовано 24 Февраля 2007 все правильно, работаетнадо обязательно один вопрос-ответ создать в админке - сразу слева внизу будет "Модуль вопросов" Ссылка на комментарий Поделиться на других сайтах Прочее
Kamikadze1 Опубликовано 24 Февраля 2007 Жалоба Поделиться Опубликовано 24 Февраля 2007 Спасибо за помощь Ссылка на комментарий Поделиться на других сайтах Прочее
Камушкин Опубликовано 24 Февраля 2007 Жалоба Поделиться Опубликовано 24 Февраля 2007 все правильно, работаетнадо обязательно один вопрос-ответ создать в админке - сразу слева внизу будет "Модуль вопросов"простите за тупость а как это добавить? вопрос-ответ? Ссылка на комментарий Поделиться на других сайтах Прочее
Arhar Опубликовано 24 Февраля 2007 Автор Жалоба Поделиться Опубликовано 24 Февраля 2007 ну по идее должна быть такая картинка:http://img237.imageshack.us/img237/7419/questionsxw5.jpgтам вроде все понятно Ссылка на комментарий Поделиться на других сайтах Прочее
Камушкин Опубликовано 24 Февраля 2007 Жалоба Поделиться Опубликовано 24 Февраля 2007 я почему то не соображу где это в безопасности?поиск настроек сказал...Сообщение Invision Power BoardНа ваш запрос 'текущие вопросы' ничего не найдено. Ссылка на комментарий Поделиться на других сайтах Прочее
Arhar Опубликовано 24 Февраля 2007 Автор Жалоба Поделиться Опубликовано 24 Февраля 2007 Защита от ботов: вопросы при регистрации КАКОЙ ПОИСК НАСТРОЕК, это в админке - сразу слева внизу будет "Модуль вопросов" Для случаного выборанайти $this->ipsclass->DB->simple_construct( array( 'select' => 'id, question', 'from' => 'questions', 'order' => 'id' ) ); $this->ipsclass->DB->simple_exec();заменить на $this->ipsclass->DB->query("SELECT MAX(id) as new_id FROM ibf_questions"); $qrow = $this->ipsclass->DB->fetch_row(); $qidmax = $qrow['new_id']; $qid = rand(1,$qidmax); $this->ipsclass->DB->simple_construct( array( 'select' => 'id, question', 'from' => 'questions', 'where' => 'id='.$qid, 'order' => 'id' ) ); $this->ipsclass->DB->simple_exec();и удалить кусок кода <tr> <td width=\"100%\" colspan=\"2\">Для успешной регистрации необходимо ответить на ".$this->ipsclass->vars['questions_num']." вопрос(ов)</td> </tr>языковую переменную, где говорится про недостаточное количество ответов на вопросы переписать на свой вкус, что-то типа "неправильный ответ на защитный вопрос" в мод изменения вносить не буду, так как преимущество нескольких вопросов мне кажется важным, так как можно поставить обязательным один правильный ответ, а вопроса задать два, один на русском, другой на английском Ссылка на комментарий Поделиться на других сайтах Прочее
Камушкин Опубликовано 24 Февраля 2007 Жалоба Поделиться Опубликовано 24 Февраля 2007 я все сделал по инструкции но где вопросы вписать не пойму..простите за тупость..праздник был) Ссылка на комментарий Поделиться на других сайтах Прочее
Arhar Опубликовано 24 Февраля 2007 Автор Жалоба Поделиться Опубликовано 24 Февраля 2007 КАКОЙ ПОИСК НАСТРОЕК, это в админке - сразу слева внизу будет "Модуль вопросов" Ссылка на комментарий Поделиться на других сайтах Прочее
Sannis Опубликовано 24 Февраля 2007 Жалоба Поделиться Опубликовано 24 Февраля 2007 (изменено) Для случайного выбора заменить на $this->ipsclass->DB->query("SELECT MAX(id) as new_id FROM ibf_questions"); $qrow = $this->ipsclass->DB->fetch_row(); $qidmax = $qrow['new_id']; $qid = rand(1,$qidmax); $this->ipsclass->DB->simple_construct( array( 'select' => 'id, question', 'from' => 'questions', 'where' => 'id='.$qid, 'order' => 'id' ) ); $this->ipsclass->DB->simple_exec();Предупреждение админам: не удаляйте вопросы! Иначе лажа может получиться. Если нужно, то редактируйте уже имеющиеся. ИМХО. Моё решение проблемы: $this->ipsclass->DB->query("SELECT MAX(id) as new_id FROM ibf_questions"); $qrow = $this->ipsclass->DB->fetch_row(); $qidmax = $qrow['new_id']; do{ $qid = rand(1,$qidmax); $this->ipsclass->DB->simple_construct( array( 'select' => 'id, question', 'from' => 'questions', 'where' => 'id='.$qid, 'order' => 'id' ) ); $this->ipsclass->DB->simple_exec(); }while(!$this->ipsclass->DB->get_num_rows()); Изменено 24 Февраля 2007 пользователем Sannis Ссылка на комментарий Поделиться на других сайтах Прочее
WARfromTEARS Опубликовано 25 Февраля 2007 Жалоба Поделиться Опубликовано 25 Февраля 2007 мод работает...но как - то образно....сами вопросы есть и рега работает...но когда я его поставил, то убрал одно поле из регистрации, которое стояло до мода....так захожу к себе на форум....а там уже 8 ботов и 8 тем....че за нафиг? Ссылка на комментарий Поделиться на других сайтах Прочее
Arhar Опубликовано 25 Февраля 2007 Автор Жалоба Поделиться Опубликовано 25 Февраля 2007 да, насчет повторения пока не будет получен результат это правильно а какой вопрос задается?50 + 25 = ? (ответ цифрой)???так это же вполне возможно обойти, тем более сейчас есть ботоделатели, которые математические примеры читаюти какое поле убрал? Ссылка на комментарий Поделиться на других сайтах Прочее
WARfromTEARS Опубликовано 25 Февраля 2007 Жалоба Поделиться Опубликовано 25 Февраля 2007 Было просто поле возраст пользователя....которое было обязательно к заполнению....когда оно было ботов вообще не было.....вот поставил твой мод, поле убрал...боты появились((( пример вопроса какой должен быть? т.е. как я понял примеры нельзя? Ссылка на комментарий Поделиться на других сайтах Прочее
Arhar Опубликовано 26 Февраля 2007 Автор Жалоба Поделиться Опубликовано 26 Февраля 2007 мне в голову пришла идея улучшения мода, ждите версию 2 Ссылка на комментарий Поделиться на других сайтах Прочее
wmrest Опубликовано 26 Февраля 2007 Жалоба Поделиться Опубликовано 26 Февраля 2007 здравствуйте. поставил Ваш мод, следуя инструкции.Заметил следующее.. если при регистрации оставить поля ввода вопросов пустыми.. регистрация проходит. Может я что-то пропустил при установке ? помогите разобраться. http://forum.wmeisk.ru Ссылка на комментарий Поделиться на других сайтах Прочее
Arhar Опубликовано 26 Февраля 2007 Автор Жалоба Поделиться Опубликовано 26 Февраля 2007 удалите мод целиком, включая таблицу с вопросамисейчас я опубликую вторую версию обновил архивдля перехода с 1 версии на 2 полностью удалите все изменения и таблицу, которую создали, после чего выполните инструкцию на 2 версию еще может быть важна такая поправка, если регистрация проходит все равно, даже при пустом поле - найтиif(!$this->correct_answer($n))заменить наif($this->correct_answer($n)==false) с этого момента поправка уже есть в архиве (18:03 26.02.07) Ссылка на комментарий Поделиться на других сайтах Прочее
Рекомендуемые сообщения