【问题标题】:How to make sure it's my frontend making the api calls如何确保它是我的前端进行 api 调用
【发布时间】:2017-02-20 13:30:35
【问题描述】:

我的后端和前端是完全分开的。一个使用 Laravel 5.3,另一个使用 VueJS 2。

我的前端不需要对用户进行身份验证(公共网站)。但是,我的后端应该能够识别 API 调用是从我的前端发送的,而不是从其他客户端/前端发送的。

我知道如何手动执行此操作,但我想知道是否可以使用 Dingo 包开箱即用地执行此操作,并且主机名或任何 API 调用被批准的方式都不能被欺骗别人的?

【问题讨论】:

  • 也许通过中间件检查请求路径?
  • 好吧,你不能相信 referer 标头,所以听起来需要向请求中添加某种类型的密钥。
  • @lagbox 请求中的密钥很容易被用户看到,因为一切都是通过 API 完成的。
  • 请求路径是否完全防伪? @巴图
  • 您说您知道如何手动执行此操作,您能解释一下您将如何执行吗?

标签: laravel vue.js laravel-5.3 vue-resource dingo-api


【解决方案1】:

您可以向所有表单添加自定义元素,例如 csrf_field()。如果你有那个元素......那么它来自你。

编辑:或 json web 令牌,但这需要更多的工作。

【讨论】:

  • 你要知道我的前端和后端是完全分离的,只依赖于API。因此,如果我想获取任何类型的令牌,客户端可以简单地在控制台中看到该请求。
猜你喜欢
  • 2017-05-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-08-12
  • 2019-09-26
  • 1970-01-01
相关资源
最近更新 更多