我建立了一个基于Nuxt.js和Laravel的网站,我现在需要实现一个联系表格。
问题在于,我不确定如何使表单安全,因为发布到我的终端的任何人都不能发送消息。有没有办法将csrf令牌与我的nuxt.js表单合并?
我认为唯一的解决方案是使用验证码,但我想我会问是否有办法避免它? (或两者都有)
答案 0 :(得分:0)
你无法阻止人类垃圾邮件(人们可以通过验证码)。
为防止脚本/机器人,有多种解决方案,但并不完美。
首先,您可以使用端点上的限制中间件限制端点调用。这将限制该端点的调用次数。这可能会影响有多少(真实)用户提交表单。
另一种保护api的方法是使用app secret和app key(请参阅laravel passport)。即使表格是公开的,所有api电话都应该被授权。表示客户在提出请求时应传递app密钥和密码。
使用CORS可以帮助您仅允许来自特定域的呼叫。默认情况下,Laravel CORS包将允许所有域。您只能将其限制为您的客户域。
希望它有所帮助。