Laravel 的 CSRF 令牌 nuxt

CSRF token nuxt with Laravel

我基于 Nuxt.js 和 Laravel 构建了一个网站,现在我需要实现一个联系表。

问题是我不确定如何确保表单安全,因为任何发布到我的端点的人都无法发送消息。有什么办法可以将 csrf 令牌与我的 nuxt.js 表单结合起来吗?

我认为唯一的解决办法是有一个验证码,但我想我会问是否有任何方法可以避免它? (或两者都有)

你无法阻止人类发送垃圾邮件(人们可以通过验证码)。

为了防止scripts/robots有多种解决方案,但并不完美。

首先,您可以在端点上使用节流中间件来限制端点调用。这将限制对该端点的调用次数。这可能会影响有多少(真实)用户可以提交表单。

保护您的 api 的另一种方法是拥有应用秘密和应用密钥(参见 laravel 护照)。即使表格是 public 所有 api 调用也应该被授权。意味着客户端在发出请求时应该传递应用程序密钥和秘密。

使用 CORS 可以帮助您只允许来自特定域的调用。默认情况下 Laravel CORS 包将允许所有域。您可以将其限制在您的客户域内。

希望对您有所帮助。