| RU | EN | DE | IT | ES | FR | feedback |
Я знаю что это никому не нужно :(, но если вы попали сюда и читаете это, значит вам это необходимо, наверное...
Вы здеь найдете мою версию самой непробивной капчи в мире. Почему мою версию? Та потому что есть (ДОЛЖНЫ БЫТЬ! я специаьно не интересовался) много сайтов, на которых много чего есть. В том числе и похожих капч для защиты от всякого спамерского дерьмеца.
ВАЖНО: Если вы думаете, хотите просто что-то скопировать и куда-то вставить и шобы всё работало, то флаг вам в руки, и не флаг, и не в руки. Идите вна отсюда.
Технические требования: Если вам нужна капча для регистрации, добавления записей в гостевую или добавления комментариев, значит у вас уже имеется всё необходимое на хостинге. А также очень желательно иметь хоть какое-нибудь представление о программировании и шо-нибудь знать про MySQL Workbench или phpMyAdmin.
Что нужно: php7.x или php5.x с некоторыми расширениями (mysqli, mbstring). Если в процессе тестирования что-то вспомню, допишу.
Почему это самая наилучшая капча в мире? Потому что на этапе внедрения/подключения капчи, вы сами создаете задание (задаете вопрос) и вписываете правильный ответ. Если у вас сайт посвящен анимэ - впишите вопрос на который смогут ответить верно только фанаты анимэ, у вас велосайт - спрашивайте пользователей по поводу велосипедной тематики.
Сложности: Думаю что основная сложность будет в интеграции и красивости капчи. Сложность интеграции: Если на вашем сайте капча-ответ пользователя где-то используется, то в таком случае не всё так просто. О дизайне: я не дизайнер, капча будет некрасивой серой полоской. Если умеете, можете на свой вкус настроить расположение и цвет элементов. Только имена элементов не меняйте, а то капча сломается.
Как использовать: Сначала впишите свои данные в php-скрипт Kap4a.php: логин и пароль админа, имя базы данных:
private $dbip = '127.0.0.1'; private $dbUser = 'db_admin123'; private $dbPsw = 'admuin_psw'; private $dbName = 'secretdb';
После этого вам нужно создать табличку с вариантами капч. Делается это в mysql-приблуде, например в MySQL Workbench или phpMyAdmin. ПЕРЕД ТЕМ КАК ЛЕЗТЬ В БД, СДЕЛАЙТЕ БАКАП БД! УБЕДИТЕСЬ ЧТО ТАБЛИЦЫ С ИМЕНЕМ cap НЕСУЩЕСТВУЕТ В ВАШЕЙ БД.
CREATE TABLE `cap` ( `capid` int unsigned NOT NULL AUTO_INCREMENT, `vopr_cap` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL, `otv_cap` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL, PRIMARY KEY (`capid`) ) ENGINE=InnoDB AUTO_INCREMENT=0 DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_bin ROW_FORMAT=COMPACT;
Если возникли ошибки из-за utf8mb3_bin, попробуйте сменить на utf8mb2_bin или на utf8mb_bin
Вставляем капча-вопросы и ответы в таблицу. ВАЖНО: варианты ответов добавляйте, разделяя их одним пробелом.
INSERT INTO `cap` VALUES (1,'0*(153-54/817+53636)','ноль нуль'), (2,'4*4/4','чотири четыре'), (3,'19 плюс 11','тридцять тридцать'), (4,'ваш_вопрос','ваш_ответ');
Если капча показывается и проверяется на одной и той же странице, то в самое начало страницы\скрипта добавьте:
<?php require 'Kap4a.php'; $kap=new Kap4a(); $kap->check_kap4a($_POST['hiddcap'], $_POST['cap']); ?>
А в месте показа капчи, вставьте следующие строки:
<?php $kap = new Kap4a(); $kap->show_kap4a(); ?>
ааа, чуть не забыл: файл\скрипт Kap4a.php нужно загрузить на сервер в корень сайта