En

Установка reCAPTCHA v3, на проекте CRYSTAL v1.0

Данная инструкция подразумевает, что у вас уже подключен домен и ssl-сертификат.

1. Подключение reCAPTCHA v3

⚠️ Примечание по безопасности

В данной инструкции и в других пунктах документации, используется команда sudo -i, для перехода в режим суперпользователя (root). Это сделано для ускорения процесса и сокращения команд.

В production-среде, постоянная работа из-под root, не рекомендуется, так как это нарушает принцип наименьших привилегий и существенно снижает безопасность сервера.

Включите sudo:

sudo -i

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)', и обновите проект, после чего, заново зарегистрируйтесь, регистрация должна пройти успешно.

CRYSTAL тестируется в

BrowserStack

Поделиться

Копировать

USDT (TRON (TRC20)): TTvJdwtL3VAZKSHbYi8B2eQEQDxbHUD4Ka

POL (Polygon PoS): 0x97377684b9a589eca92e2c6c8430e6dcf2bae8c2

ETH (Base Mainnet): 0x97377684b9a589eca92e2c6c8430e6dcf2bae8c2

ETH (ERC20): 0x97377684b9a589eca92e2c6c8430e6dcf2bae8c2

BTC (BTC): 12GkhJZWrdn23PUerGerN7nSZXHwWGm59U

Похожие посты

Этот сайт использует файлы cookies. Нажимая кнопку 'Принять' или продолжая пользоваться сайтом, вы соглашаетесь на использование файлов cookies.