为保护您的应用程序而采取的安全措施。
ARCJET_KEY
环境变量时,安全功能会自动启用。web
和app
应用都配置了Arcjet,在@repo/security
有一个包含Shield WAF规则的中心客户端。每个应用然后扩展这个客户端以添加额外的规则:
web
应用,机器人检测和Arcjet Shield WAF都在中间件中配置,以阻止爬虫和其他机器人,但仍允许搜索引擎、预览链接生成器和监控服务。默认情况下,这将在每个请求上运行,静态资源除外。
app
应用,中心客户端在认证路由布局apps/app/app/(authenticated)/layout.tsx
中扩展了机器人检测功能,以阻止除预览链接生成器外的所有机器人。这仅会在认证路由上运行。为了额外的保护,您可能还想在apps/app/app/(unauthenticated)/layout.tsx
路由上配置Arcjet,但Clerk默认在其登录路由处理程序中包含机器人检测和速率限制。
当规则被触发时,请求将被阻止并返回错误。您可以在代码中自定义错误消息,重定向到其他页面,或以其他方式处理错误。