Disy Опубликовано 8 октября, 2019 Жалоба Поделиться Опубликовано 8 октября, 2019 Всем привет, подскажите пожалуйста кто знает, где настраивается и как привязать капчу к своим некоторым модулям, она то только при регистрации, а вот например у меня есть функция ввода номера телефона и его подтверждение SMSкой, без капчи там никак (боты могут весь баланс затратить у смс :D) За ранее спасибо! Ссылка на комментарий Поделиться на другие сайты Поделиться
Mario Опубликовано 8 октября, 2019 Жалоба Поделиться Опубликовано 8 октября, 2019 Капча, которая в вии от ботов никак не спасет, только от юзеров, которые цифры не знают. Ставь невидимую рекапчу и всё, в документации написано, чем обернуть, останется лишь сделать вывод ошибке при неудаче Ссылка на комментарий Поделиться на другие сайты Поделиться
KirKMS Опубликовано 8 октября, 2019 Жалоба Поделиться Опубликовано 8 октября, 2019 Вывести каптчу не трудно, на страницах. Например кнопка отправить <a href="/" onClick="keycode.send(); return false;"><div>Каптча</div></a> Дальше добавляешь в Profile.js например код. //Типо каптча var keycode = { send: function(){ var rndval = new Date().getTime(); Box.Show('sec_code', 280, 'Введите код с картинки:', '<div style="padding:20px;text-align:center"><div class="cursor_pointer" onClick="keycode.updateCode(); return false"><div id="sec_code"><img src="/antibot/antibot.php?rndval=' + rndval + '" alt="" title="Показать другой код" width="120" height="50" /></div></div><div id="code_loading"><input type="text" id="val_sec_code" class="inpst" maxlength="6" style="margin-top:10px;width:110px" /></div></div>', lang_box_canсel, 'Отправить', 'keycode.checkCode(); return false;'); $('#val_sec_code').focus(); }, updateCode:function(){ var rndval = new Date().getTime(); $('#sec_code').html('<img src="/antibot/antibot.php?rndval=' + rndval + '" alt="" title="Показать другой код" width="120" height="50" />'); }, checkCode:function(){ var val_sec_code = $("#val_sec_code").val(); $('#code_loading').html('<img src="'+template_dir+'/images/loading_mini.gif" style="margin-top:21px" />'); $.get('/antibot/sec_code.php?user_code='+val_sec_code, function(data){ if(data == 'ok'){ keycode.finish(val_sec_code); } else { keycode.updateCode(); $('#code_loading').html('<input type="text" id="val_sec_code" class="inpst" maxlength="6" style="margin-top:10px;width:110px" />'); $('#val_sec_code').val(''); $('#val_sec_code').focus(); } }); }, finish: function(){ Box.Close('sec_code'); Box.Info('ok_im', 'Каптча', 'Ну типо всё ок.', 300, 3000); }, } При нажатие на кнопку.Вылезет окно проверки. Если ввести не верно,то окно не уйдёт, если верно, то можно выполнить любой POST AND GET Запрос, или всё что душе угодно. Так-же можно вывести и на страницах каптчу.Т.е сразу и без окна. Код выше, сделал на примере регистрации за 10минут Ссылка на комментарий Поделиться на другие сайты Поделиться
KirKMS Опубликовано 8 октября, 2019 Жалоба Поделиться Опубликовано 8 октября, 2019 А вот и php подкатило //Код безопасности $session_sec_code = $_SESSION['sec_code']; $sec_code = $_POST['sec_code']; //Если код введные юзером совпадает, то пропускаем, иначе выводим ошибку if($sec_code == $session_sec_code){ echo 'Всё ок'; }else echo 'Пшел на* отсюда'; Если надо, то обращайся Ссылка на комментарий Поделиться на другие сайты Поделиться
Mario Опубликовано 8 октября, 2019 Жалоба Поделиться Опубликовано 8 октября, 2019 11 минут назад, Kir KMS сказал: А вот и php подкатило //Код безопасности $session_sec_code = $_SESSION['sec_code']; $sec_code = $_POST['sec_code']; //Если код введные юзером совпадает, то пропускаем, иначе выводим ошибку if($sec_code == $session_sec_code){ echo 'Всё ок'; }else echo 'Пшел на* отсюда'; Если надо, то обращайся Прогресс не идёт, видимо с 2012 так никто, кроме меня, и не понял, что в этой проверке не так) Ссылка на комментарий Поделиться на другие сайты Поделиться
kphp Опубликовано 8 октября, 2019 Жалоба Поделиться Опубликовано 8 октября, 2019 17 минут назад, Mario сказал: Прогресс не идёт, видимо с 2012 так никто, кроме меня, и не понял, что в этой проверке не так) //Код безопасности $session_sec_code = $_SESSION['sec_code']; $sec_code = $_POST['sec_code']; //Если код введные юзером совпадает, то пропускаем, иначе выводим ошибку if(($sec_code == $session_sec_code) AND (strlen($session_sec_code) > 4) ){ у меня сделано так что не так в этой проверке ? Ссылка на комментарий Поделиться на другие сайты Поделиться
Mario Опубликовано 8 октября, 2019 Жалоба Поделиться Опубликовано 8 октября, 2019 3 минуты назад, kphp сказал: //Код безопасности $session_sec_code = $_SESSION['sec_code']; $sec_code = $_POST['sec_code']; //Если код введные юзером совпадает, то пропускаем, иначе выводим ошибку if(($sec_code == $session_sec_code) AND (strlen($session_sec_code) > 4) ){ у меня сделано так что не так в этой проверке ? Она обходиться (та, что скинули выше, я бота делал и даже опознавать картинку не нужно было), даже делать ничего не нужно, POST параметр не отправлять и будет совпадение if(ничего = ничего). У тебя в сборке нормально, стоит проверка на то что бы "ничего" не пускало 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
KirKMS Опубликовано 8 октября, 2019 Жалоба Поделиться Опубликовано 8 октября, 2019 58 минут назад, Mario сказал: Прогресс не идёт, видимо с 2012 так никто, кроме меня, и не понял, что в этой проверке не так) if($sec_code == $session_sec_code){ Не сразу прочитал весь ответ.Но один фиг. Я в курсе что проверка огонь просто Ссылка на комментарий Поделиться на другие сайты Поделиться
KirKMS Опубликовано 8 октября, 2019 Жалоба Поделиться Опубликовано 8 октября, 2019 @kphp Если есть желание, я могу тебе переписать каптчу, на нормальную. Ссылка на комментарий Поделиться на другие сайты Поделиться
Disy Опубликовано 8 октября, 2019 Автор Жалоба Поделиться Опубликовано 8 октября, 2019 5 минут назад, Kir KMS сказал: @kphp Если есть желание, я могу тебе переписать каптчу, на нормальную. Ну смотри всё сделал по твоему примеру выше, а капчу не выдает, на кнопку функцию установил такую: keycode.send(); return false; Ссылка на комментарий Поделиться на другие сайты Поделиться
KirKMS Опубликовано 8 октября, 2019 Жалоба Поделиться Опубликовано 8 октября, 2019 1 минуту назад, Disy сказал: Ну смотри всё сделал по твоему примеру выше, а капчу не выдает, на кнопку функцию установил такую: keycode.send(); return false; У тебя есть скайп или тимвивер.Если есть, то кидай в Лс.Помогу Ссылка на комментарий Поделиться на другие сайты Поделиться
Disy Опубликовано 8 октября, 2019 Автор Жалоба Поделиться Опубликовано 8 октября, 2019 сек Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения