我是靠谱客的博主 背后芒果,最近开发中收集的这篇文章主要介绍Web静态资源访问鉴权实现思路1.背景2 思考3 方案,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

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 方案所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(59)

评论列表共有 0 条评论

立即
投稿
返回
顶部