Documentation index
- ReadMe
- Things To Know
-
- New Style Rotation
Рекапча удобный вариант обойтись без обычной капчи для проверки чита
Rак сделать:
1. Идем на https://developers.google.com/recaptcha, регаемся и получаем Recaptcha V3 Site key Recaptcha V3 Secret key
2. вписываем эти значения в Rotation - Settings - Social и там же переключаем “Use Captcha on Comments?”
Суть рекапчи в том, что в любой форме добавляется JS код от гугла для проверки чита, и поле куда гугл пишет результат проверки
Пример для страницы комментариев. Добавляем в head следующий код
<head> <title> <!--GALLERY_SLUG--> with reCAPTCHA</title> <script src="https://www.google.com/recaptcha/api.js?render=<!--TUBE_RECAPTCHA_SITE_KEY-->"></script> <script> function CheckRecaptcha() { grecaptcha.ready(function() { grecaptcha.execute('<!--TUBE_RECAPTCHA_SITE_KEY-->', {action: 'report_form'}).then(function(token) { document.add_comment.recaptcha.value = token; document.add_comment.submit(); }); }); } </script>
тут надо обратить внимание на <!–TUBE_RECAPTCHA_SITE_KEY–>, это ваш Recaptcha V3 Site key (те НЕ секретный код)
и сама форма комментария
<? if ('<!--ERROR-->' != 'OK') echo "error: <!--ERROR-->"; ?> <FORM name="add_comment" method="POST"> <input type="hidden" name="action" value="add_comment"> <input type="hidden" name="recaptcha" id="recaptcha" value=""> Вот сюда гугл запишет ответ <label>Name:</label> <input class="s_input" type="text" name='username' id='username' value="<?=$user['username']?>"> <br> <textarea class="s_text" class="ph2" name='comment' id='comment' rows=5 cols=35 value="Leave Your Comments Here"></textarea> <input type=button value='Send comment' onClick=CheckRecaptcha()> тут надо обратить внимание что это не submit, а именно button, те форма сабмитится после того как гугл заапрувил ее. </form>
Есть интересный вариант проверки качества трафа с использованием речапчи от гугла. Суть в том, что гугл пишет какой % трафа он считает нормальным, не ботовым.
На любой странице, но в 99% это конечно будет индекс и страница категории добавляем код
<script src="https://code.jquery.com/jquery-3.4.1.min.js"></script> <script src="https://www.google.com/recaptcha/api.js?render=<!--TUBE_RECAPTCHA_SITE_KEY-->"></script> <script> req_flag = false; recaptcha_code = ''; if ('<!--RECAPTCHA_MAX_RATE-->') { if (Math.random() > '<!--RECAPTCHA_MAX_RATE-->') req_flag = true; } grecaptcha.ready(function() { grecaptcha.execute('<!--TUBE_RECAPTCHA_SITE_KEY-->', {action: 'index_page'}).then(function(token) { recaptcha_code = token; }); }); $(document).ready(function(){ $('.gallery_link').each(function() { $(this).click(function(){ if (req_flag || recaptcha_code === '') return; req_flag = true; $.post('/', { 'action': 'check_recaptcha', 'recaptcha_code': recaptcha_code, }, function (data) { } ); }); }); }); </script>
на линках на галеры или категории добавляем class='gallery_link' как в примере ниже
<thumb num=1-10> <a class='gallery_link' href='/gallery/<!--GALLERY_SLUG-->/index.html'> <!--GALLERY_ID--> </a> <br> </thumb>
можно конечно gallery_link заменить на что угодно, смысл в том что в JS мы вешаем событие по определению чита на эти линки $('.gallery_link').each(function() {
4. в админке идем в Settings - layouts - и включаем колонку Google Recaptcha
Все, теперь можно видеть процент хорошего трафа в Trade - колонка recaptcha
PS тут надо обратить внимание что бесплатно у гугла только 1300 в час поэтому проверяются не все хиты, а выборчно (RECAPTCHA_MAX_RATE), если вы готовы доплатить гуглу за проверку - пишите в суппорт, доделаем версию без ограничения.