使用 Turnstile 的步骤:
首先,你需要创建一个 cloudflaree 帐户并获得你的站点密钥和密钥。然后,嵌入 Turnstile JavaScript API 脚本:
<script src=https://challenges.cloudflare.com/turnstile/v0/api.js async defer></script>
你可以通过扫描HTML中的cf-turnstile类元素来使用隐式渲染:
<form action="/login" method="POST">
<div class="cf-turnstile" data-sitekey="yourSiteKey"></div>
<input type=submit>
</form>
用户回答质询后,cf-turnstile-response令牌将被插入元素。你可以验证这个令牌来确认它的有效性,不论是在服务器端还是云端(例如使用一个简单的Worker):
async function handleRequest() {
//...接收令牌
let formData = new FormData();
formData.append('secret', turnstileISecretKey);
formData.append('response', receivedToken);
await fetch('https://challenges.cloudflare.com/turnstile/v0/siteverify', {
body: formData,
method: 'POST'
});
//...
}
你也可以通过JavaScript显式调用Turnstile质询。响应令牌只能被兑换一次。
你可以创建"操作",用自定义标签来区分不同页面(例如登录、注销、创建帐户)。
部署后,你可以查看分析报告,了解部署位置和用户如何解决质询。
网友回复
如何编写一个chrome插件实现多线程高速下载大文件?
cdn版本的vue在网页中出现typeerror错误无法找到错误代码位置怎么办?
pywebview能否使用webrtc远程控制共享桌面和摄像头?
pywebview6.0如何让窗体接受拖拽文件获取真实的文件路径?
如何在linux系统中同时能安装运行apk的安卓应用?
python有没有离线验证码识别ocr库?
各家的ai图生视频及文生视频的api价格谁最便宜?
openai、gemini、qwen3-vl、Doubao-Seed-1.6在ui截图视觉定位这款哪家更强更准?
如何在linux上创建一个沙箱隔离的目录让python使用?
pywebview如何使用浏览器自带语音识别与webspeech 的api?