hCaptcha Pages Plugin 验证 hCaptcha 令牌。
npm i @cloudflare/pages-plugin-hcaptchayarn add @cloudflare/pages-plugin-hcaptchapnpm add @cloudflare/pages-plugin-hcaptchabun add @cloudflare/pages-plugin-hcaptchaimport 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!");
},
];此 Plugin 仅暴露单个路由。它将在挂载的任何位置可用。在上面的示例中,因为它挂载在 functions/register.ts 中,将验证对 /register 的请求。Plugin 使用单个对象参数挂载,具有以下属性。
secret ↗(必填)和 sitekey ↗(可选)均可在 hCaptcha 仪表板中找到。
response 和 remoteip 是可选字符串。response 是要验证的 hCaptcha 令牌(默认从 multipart/form-data 请求中提取 h-captcha-response)。remoteip 应为请求者的 IP 地址(默认为请求的 CF-Connecting-IP 标头)。
onError 是可选函数,接受 Pages Function context 对象并返回 Promise<Response>。默认情况下,将返回人类可读的错误 Response。
data.hCaptcha 将在后续 Pages Functions(包括 onError 函数)中填充 hCaptcha 响应对象 ↗。