← Cloudflare Pages / pages / functions / plugins
hCaptcha
hCaptcha Pages Plugin проверяет токены hCaptcha.
Установка
npm i @cloudflare/pages-plugin-hcaptchaИспользование
import hCaptchaPlugin from "@cloudflare/pages-plugin-hcaptcha";
export const onRequestPost: PagesFunction[] = [
hCaptchaPlugin({
secret: "0x0000000000000000000000000000000000000000",
sitekey: "10000000-ffff-ffff-ffff-000000000001",
}),
async (context) => {
// Request has been validated as coming from a human
const formData = await context.request.formData();
// Store user credentials
return new Response("Successfully registered!");
},
];Этот плагин открывает только один маршрут. Он будет доступен там, куда подключен. В примере выше, поскольку он подключен в functions/register.ts, он будет проверять запросы к /register. Plugin подключается с помощью одного параметра объекта со следующими свойствами.
secret ↗ (обязательно) и sitekey ↗ (необязательно) можно найти в панели управления hCaptcha.
response и remoteip являются необязательными строками. response токен hCaptcha для проверки (по умолчанию извлекается h-captcha-response из multipart/form-data запрос). remoteip должен быть IP-адресом отправителя запроса (по умолчанию используется CF-Connecting-IP заголовок запроса).
onError это необязательная функция, которая принимает объект контекста Pages Function и возвращает Promise для Response. По умолчанию будет возвращена ошибка в удобочитаемом виде Response.
data.hCaptcha будет заполнен в последующих Pages Functions (в том числе для onError функцию) с объект ответа hCaptcha ↗.