Laravel 的 CSRF 令牌 nuxt
CSRF token nuxt with Laravel
我基于 Nuxt.js 和 Laravel 构建了一个网站,现在我需要实现一个联系表。
问题是我不确定如何确保表单安全,因为任何发布到我的端点的人都无法发送消息。有什么办法可以将 csrf 令牌与我的 nuxt.js 表单结合起来吗?
我认为唯一的解决办法是有一个验证码,但我想我会问是否有任何方法可以避免它? (或两者都有)
你无法阻止人类发送垃圾邮件(人们可以通过验证码)。
为了防止scripts/robots有多种解决方案,但并不完美。
首先,您可以在端点上使用节流中间件来限制端点调用。这将限制对该端点的调用次数。这可能会影响有多少(真实)用户可以提交表单。
保护您的 api 的另一种方法是拥有应用秘密和应用密钥(参见 laravel 护照)。即使表格是 public 所有 api 调用也应该被授权。意味着客户端在发出请求时应该传递应用程序密钥和秘密。
使用 CORS 可以帮助您只允许来自特定域的调用。默认情况下 Laravel CORS 包将允许所有域。您可以将其限制在您的客户域内。
希望对您有所帮助。
我基于 Nuxt.js 和 Laravel 构建了一个网站,现在我需要实现一个联系表。
问题是我不确定如何确保表单安全,因为任何发布到我的端点的人都无法发送消息。有什么办法可以将 csrf 令牌与我的 nuxt.js 表单结合起来吗?
我认为唯一的解决办法是有一个验证码,但我想我会问是否有任何方法可以避免它? (或两者都有)
你无法阻止人类发送垃圾邮件(人们可以通过验证码)。
为了防止scripts/robots有多种解决方案,但并不完美。
首先,您可以在端点上使用节流中间件来限制端点调用。这将限制对该端点的调用次数。这可能会影响有多少(真实)用户可以提交表单。
保护您的 api 的另一种方法是拥有应用秘密和应用密钥(参见 laravel 护照)。即使表格是 public 所有 api 调用也应该被授权。意味着客户端在发出请求时应该传递应用程序密钥和秘密。
使用 CORS 可以帮助您只允许来自特定域的调用。默认情况下 Laravel CORS 包将允许所有域。您可以将其限制在您的客户域内。
希望对您有所帮助。