带Laravel的CSRF令牌nuxt

带Laravel的CSRF令牌nuxt,laravel,nuxt.js,Laravel,Nuxt.js,我建立了一个基于Nuxt.js和Laravel的网站,现在我需要实现一个联系表单 问题是,我不知道如何确保表单的安全性,因为没有任何人可以向我的端点发送消息。有没有办法将csrf令牌与我的nuxt.js表单合并 我认为唯一的解决办法是有验证码,但我想我会问,是否有任何方法可以避免它?(或两者兼有)你无法阻止人类的垃圾邮件(人们可以通过验证码) 为了防止脚本/机器人,有多种解决方案,但并不完美 首先,可以在端点上使用节流中间件限制端点调用。这将限制该端点的调用数。这可能会影响有多少(真实)用户可以

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

问题是,我不知道如何确保表单的安全性,因为没有任何人可以向我的端点发送消息。有没有办法将csrf令牌与我的nuxt.js表单合并


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

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

为了防止脚本/机器人,有多种解决方案,但并不完美

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

另一种保护api的方法是使用应用程序密钥和应用程序密钥(请参阅laravel passport)。即使表单是公共的,所有api调用都应该经过授权。这意味着客户端在发出请求时应传递应用程序密钥和密码

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


希望能有所帮助。

表单是如何通过ajax发送的?即使使用CSRF,任何人都可以发送post请求(有效),他们只需要获得您在用户点击
/
时赠送的令牌即可。