Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/30.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angular 保护后端API的最佳方法-角度_Angular_Laravel_Api_Security - Fatal编程技术网

Angular 保护后端API的最佳方法-角度

Angular 保护后端API的最佳方法-角度,angular,laravel,api,security,Angular,Laravel,Api,Security,目前,我正在开发一个angular应用程序,它使用Laravel后端完成所有与服务器相关的任务。我在大多数情况下使用了laravel中的API路由,这些路由由承载令牌保护。对于每个API调用,浏览器都会调用Apache服务器,该服务器使用反向代理将请求重定向到API主机(位于另一个端口)。然后,中间件检查令牌及其有效性。此外,API已经实现了SSL 但是,我仍然担心多个API调用攻击。用户可以从浏览器中的请求检查中获取JWT令牌,然后在令牌过期之前使用脚本发出多个请求。API还具有速率限制。 确

目前,我正在开发一个angular应用程序,它使用Laravel后端完成所有与服务器相关的任务。我在大多数情况下使用了laravel中的API路由,这些路由由承载令牌保护。对于每个API调用,浏览器都会调用Apache服务器,该服务器使用反向代理将请求重定向到API主机(位于另一个端口)。然后,中间件检查令牌及其有效性。此外,API已经实现了SSL

但是,我仍然担心多个API调用攻击。用户可以从浏览器中的请求检查中获取JWT令牌,然后在令牌过期之前使用脚本发出多个请求。API还具有速率限制。

确保这一点的最佳方式是什么?Laravel在使用默认刀片模板引擎时,默认情况下使用CSRF令牌来确保这一点。这将是正确的方法?

CSRF(跨站点请求伪造)应保护您免受其他站点对url执行恶意活动的影响,前提是用户已登录到您的站点,并且您正在管理Cookie中的令牌。但是你所说的情况是,如果你的用户非常聪明,他从cookie中拿走了你的jwt令牌。然后他也可以很好地复制你的xsrf令牌。您想要的答案是:-

正确的跨源策略(CORS),因此他的脚本无法命中您的api。

此外,浏览器还可以阻止用户在单个域上并行发出过多的并发请求。最多允许一次有6个调用转到服务器,6个调用之后,其他调用保持挂起状态,直到一些api返回响应

在正确设置CORS后,您应该完成。

其他与性能相关的参数,如在何处限制或扩展性能,取决于您的选择和应用程序