Бесплатно использовать библиотеку Recaptcha V2 для CodeIgniter 4.
Эта репостория уже переходит на https://github.com/phpdevsr/recaptcha-codeigniter4
Recaptcha - это бесплатный сервис, который защищает ваш сайт от спама и злоупотреблений. Он использует передовый анализ рисков, чтобы раздать людям и ботам. С новым API значительное количество ваших действительных пользователей людей пройдут задачу Recaptcha без необходимости решать CAPTCHA (см. Блог для более подробной информации). Recaptcha поставляется в форме виджета, который вы можете легко добавить в свой блог, форум, регистрационную форму и т. Д.
Смотрите детали.
Чтобы использовать Recaptcha, вам нужно подписаться на пару клавиш API для вашего сайта. Ключевая пара состоит из ключа сайта и секрета. Ключ сайта используется для отображения виджета на вашем сайте. Секрет разрешает связь между вашим бэкэнд приложения и сервером Recaptcha для проверки ответа пользователя. Секрет должен быть в безопасности в целях безопасности.
Установите с помощью композитора
$ composer require hexageek1337/recaptcha-codeigniter4Ручная установка с клоном GIT
$ git clone https://github.com/hexageek1337/reCAPTCHA-Codeigniter
$ cd reCAPTCHA-Codeigniter-main
$ cp app/Config/Settings.php your_application_folder/Config/
$ cp app/Libraries/Recaptcha.php your_application_folder/Libraries/ Установите ключ и секрет вашего сайта в файле app/Config/Settings.php
public $ recaptcha_site_key = '' ;
public $ recaptcha_secret_key = '' ;
public $ recaptcha_lang = ' id ' ; echo $ this -> recaptcha -> getWidget ();выход:
< div class =" g-recaptcha " data-sitekey =" xxxxx " data-theme =" light " data-type =" image " data-size =" normal " loading =" lazy " > </ div >Изменить тему по умолчанию по параметрам массива Pass
echo $ this -> recaptcha -> getWidget ( array ( ' data-theme ' => ' dark ' ));Изменить тип по умолчанию по параметрам массива Pass
echo $ this -> recaptcha -> getWidget ( array ( ' data-theme ' => ' dark ' , ' data-type ' => ' audio ' )); echo $ this -> recaptcha -> getScriptTag ();выход:
< script type =" text/javascript " src =" https://www.google.com/recaptcha/api.js?render=onload&hl=id " defer > </ script >Изменить значение рендеринга с помощью параметра массива Pass
echo $ this -> recaptcha -> getScriptTag ( array ( ' render ' => ' explicit ' ));Изменить язык по умолчанию по параметрам массива Pass
echo $ this -> recaptcha -> getScriptTag ( array ( ' render ' => ' explicit ' , ' hl ' => ' zh-TW ' )); Вызовы API Recaptcha SiteVerify, чтобы проверить, передает ли пользователь параметр post g-recaptcha-response .
$ captcha = $ this -> request -> getPost ( ' g-recaptcha-response ' );
$ response = $ this -> recaptcha -> verifyResponse ( $ captcha );Проверьте успех или провал
if ( isset ( $ response [ ' success ' ]) and $ response [ ' success ' ] === true ) {
echo " You got it! " ;
}