如何防止未登录 Laravel session 的用户下载 AngularJS 页面?
我有一个后端使用 Laravel 的网站。还有一个 AngularJS 应用程序位于文件夹 public/myApp/index.html 中。 .htaccess 返回所有引用的文件 http://www.example.com/myApp/index.html返回 Angular 应用程序,所有对 js 和 css 的请求都在未经身份验证的情况下下载。
对于所有未通过 Larvel session 验证的用户,防止下载与我的 Angular 应用程序相关的所有 js、html 和 css 文件(即在/myApp 子目录中)的最佳方法是什么?
最佳答案
我经常遇到这个问题,并找到了一个易于实现且完全安全的解决方案。
你可以像这样在 Laravel 中通过 angularJs 定义一个路径来加载所有“安全”模板:
Route::get('/templates/secured/{name}', function ($name) {
if(Auth::check())
return view('templates.' . $name);
else
return '404';
});
如果你真的必须在授权后提供你的静态文件。 这是一个小黑客.... 您可以在 .php 文件中编写静态 JS 和 CSS 代码,并将它们存储在“templates/assets/”中
然后您可以使用与上述相同的方法。 您也不会牺牲太多速度。你所有的 css 和 js 语法着色和缩进都将在 php 文件中工作。
关于css - Laravel + Angular : Securing Angular Pages,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37716982/