我已经选择了Angular,现在正在开发两个独立的应用程序,即前端,Angular应用程序和后端,Laravel应用程序。
截至目前,我的后端应用程序只是一个处理请求,数据库交互,逻辑,验证等的API端点。
然而,是什么阻止某人请求/api/users/1
并获取该数据?
目前还没有任何措施可以防止这种情况发生。
防止这种情况发生的最佳方法是什么?验证请求是通过应用程序发送的,而不是通过某个随机用户发送http://hurl.it之类的内容?
答案 0 :(得分:2)
您应首先评估需要保护的路由以及应该有权访问的路由。有时将它们向公众开放可能是好的。
一旦你发现了这一点,你就有了一些选择。我个人倾向于oAuth 2.0协议。有些人发现它过度杀人。还有WSSE,我个人觉得今天有更好的资源来解释oAuth的使用,可能更容易理解。
您可以浏览oAuth服务器库以获取laravel。其中之一是:https://github.com/lucadegasperi/oauth2-server-laravel
如果您的角应用与您的api位于不同的域,您可能还想启用CORS。 IE:api.example.com(持有api)。 example.com就是您的应用程序所在的位置。
对于CORS laravel也有一些包,其中之一是:https://github.com/barryvdh/laravel-cors