laravel - 使用 Laravel 的 CSRF 令牌 nuxt
问题描述
我基于 Nuxt.js 和 Laravel 构建了一个网站,现在我需要实现一个联系表单。
问题是我不确定如何使表单安全,因为没有任何人发布到我的端点可以发送消息。有没有办法将 csrf 令牌与我的 nuxt.js 表单合并?
我认为唯一的解决方案是使用验证码,但我想我会问是否有任何方法可以避免它?(或两者兼有)
解决方案
您无法阻止人类发送垃圾邮件(人们可以通过验证码)。
为了防止脚本/机器人,有多种解决方案,但并不完美。
首先,您可以使用端点上的节流中间件来限制端点调用。这将限制该端点的调用次数。这可能会影响有多少(真实)用户可以提交表单。
保护您的 api 的另一种方法是拥有应用程序密钥和应用程序密钥(请参阅 laravel 护照)。即使表单是公开的,所有 api 调用都应该被授权。意味着客户端在发出请求时应传递应用程序密钥和秘密。
使用 CORS 可以帮助您只允许来自特定域的调用。默认情况下,Laravel CORS 包将允许所有域。您只能将其限制为您的客户域。
希望能帮助到你。
推荐阅读
- javascript - 从外部 js api 文件构建 npm 模块
- php - SimpleXML-Load Child-试图获取属性
- sql - 当我有一个连接到 M2M 表的自外键表时创建面包屑
- javascript - 连接到 http://localhost:3000/api/contact 时出错
- jmeter - 在 jmeter 中出现错误“无法共享令牌。请创建新令牌”
- postgresql - 选择具有空值postgresql的列
- python - Python argparse默认值不起作用
- javascript - 使用 (keydown/keyup) 上的类更新 div 和输入
- teamcity - Team City:在另一个构建之前从一个构建中获取工件
- python - SQL 函数输出为列表 - Python