概述
1.背景
前端时间公司的测试产品的时候,曾经发现一个问题未登录鉴权的js,在知道其访问路径的情况下也可以访问,这违反了公司的安全要求,要求研发整改
2 思考
事实上,在web端,使用apache作为服务器,一般放在公开目录,所有用户都可以不鉴权就可以访问,要实现js鉴权访问,那么每次访问js必须访问到控制器,在控制器的方法里面写鉴权逻辑
3 方案
方案一
利用apache的.access文件重写规则,将需要的鉴权的js 重定向到一个指定的方法中进行鉴权
RewriteEngine on #开启mod_rewrite模块功能
RewriteRule .*.(js)$ http://www.111cn.net/ [L]
这种方案js每次访问都会请求两次,有点消耗性能
方案二
假设把需要进行鉴权的文件放到不公开的目录,对外不能直接访问,提供公共访问的接口来读取js,页面通过请求这个接口加载js的内容
这种方式可以解决方案一的缺点,但是这种方式改动的文件有点多,但是还存在一个问题,就是JS每次都是从服务端获取,浏览器客户端都不会缓存。解决这个问题,需要返回的javascript的请求头中添加一个属性
Cache-Control:max-age=36000
这样Javascript便可以缓存,加载更加迅速
最后
以上就是背后芒果为你收集整理的Web静态资源访问鉴权实现思路1.背景2 思考3 方案的全部内容,希望文章能够帮你解决Web静态资源访问鉴权实现思路1.背景2 思考3 方案所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复