Установка reCAPTCHA v3, на проекте CRYSTAL v1.0
25 февраля
обн: 25 июля
Содержание:
Данная инструкция подразумевает, что у вас уже подключен домен и ssl-сертификат.
1. Подключение reCAPTCHA v3.
reCAPTCHA v3 будет срабатывать при регистрации пользователя, для её подключения необходимо раскомментировать код на проекте
CRYSTAL v1.0, между строками - ' -- reCAPTCHA v3' и
' -- /reCAPTCHA v3', как на примерах ниже:
// -- reCAPTCHA v3
import { useRecaptchaV3 } from "../../shared/hooks";
import {
RECAPTCHA_V3_PUBLIC_KEY
} from "../../shared/constants";
// -- /reCAPTCHA v3
{/* -- reCAPTCHA v3 */}
<div className={styles.recaptcha_protected_message}>
<p>
This site is protected by reCAPTCHA and the Google
<Link
to={"https://policies.google.com/privacy"}
target="_blank"
rel="noopener"
>
{" "}
Privacy Policy
</Link>{" "}
and
<Link
to={"https://policies.google.com/terms"}
target="_blank"
rel="noopener"
>
{" "}
Terms of Service
</Link>{" "}
apply.
</p>
</div>
{/* -- /reCAPTCHA v3 */}
* Файлы в которых нужно раскомментировать код:
\frontend\src\features\accessModal\AccessModal.jsx
\backend\src\modules\auth\auth.routes.js
2. Создание файла .env с публичным ключем reCAPTCHA v3.
Введите в терминал команду, и замените примерный текст на ваш публичный ключ reCAPTCHA v3:
cd /var/www/crystal/frontend/env && echo VITE_RECAPTCHA_V3_PUBLIC_KEY="ВашПубличныйКлючReCAPTCHAv3" > .env
Cоберите проект, командой:
cd /var/www/crystal/frontend && npm run build:prod:domain
3. Создание файла .env с секретным ключем reCAPTCHA v3.
Введите в терминал команду, и замените примерный текст, на ваш секретный ключ reCAPTCHA v3:
cd /var/www/crystal/backend/env && echo RECAPTCHA_V3_SECRET_KEY="ВашСекретныйКлючReCAPTCHAv3" >> .env
Перезагрузите процесс PM2, командой:
pm2 restart 0
4. Проверка работы reCAPTCHA v3.
Вы можете проверить, работает ли reCAPTCHA v3, для этого перейдите в файл 'recaptcha-v3.js', по пути -
'\backend\src\shared\utils\recaptcha-v3\recaptcha-v3.js', и измените строку - 'else if (body.score < 0.5)',
на 'else if (body.score < 1.5)'.
После обновления кода, откройте сайт
с проектом в браузере Chrome и нажмите 'f12', далее нажмите на вкладку - 'Сеть', сделайте пробную регистрацию, затем не
закрывая вкладку, нажмите во вкладке, появившийся пункт 'register', далее выберите вкладку - 'Ответ' в
появившемся меню, в ответе должна быть строка - 'Registration error, possibly a bot detected', это означает, что
reCAPTCHA v3 работает, так как, максимально допустимый бал - 0,9 и вы не сможете зарегистрироваться.
Измените строку обратно на - 'else if (body.score < 0.5)', и обновите проект, после чего, заново зарегистрируйтесь, регистрация должна пройти успешно.
Поделиться
BTC (Network BTC) - 1C2EWWeEXVhg93hJA9KovpkSd3Rn3BkcYm
Ethereum (Network ERC20) - 0x05037ecbd8bcd15631d780c95c3799861182e6b8
Прокомментировать в