INTEGRITY Документация

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.