记一次前后端关于Cookie调试的问题

记一次前后端关于Cookie调试的问题


背景

前端web页面在刷新页面之后,无法再从Cookie中获取的token信息,进而导致后续跟用户权限和操作相关的接口前端都会调用失败。


问题定位

1. 前端

最开始主要是在测试时偶然的刷新了web页面,接口各种调用失败,可以很明显的从浏览器调试工具的Network里面的请求中少了token的参数,而且在刷新页面后必然复现,于是直接在自己负责的接口当中添加了通过Cookie获取token的参数(虽然这就是最正确的方式,但是在最开始并没有在意),部分接口的问题解决,但是其他接口仍然有问题。

2. 后端

之后猜测是否是因为容器的问题,虽然本地运行正常。抱着试一试的态度,将前端项目由jetty启动改为由tomcat启动,问题并没有解决,于是陷入僵局,于是问题回到前端为什么无法操作Cookie。


解决

顺着刚刚的线索在百度了一番(程序员为什么一定要用google,手动doge),找到了httpOnly这个配置,这个配置的描述翻译过来就是当设置为httpOnly后,Cookie的内容会对客户端的脚本隐藏,而浏览器可以随意的操作,删除修改保存。于是在源码中写入Cookie的类中发现了setHttpOnly这个flag的配置。

然后仔细找了找httpOnly这个标识的位置,主要是为了安全,因为Cookie最开始是由客户端自己生成,所以会包含用户自己本地的部分信息,但是现在大部分token或者sessionId有服务器来管理,对token泄漏的风险因服务器的各类验证策略的加强而不再那么严重。


总结

前端js操作由于其特性,所以很多情况下其实还是由后端占主导地位,所以当前端无法进行部分操作时,应该从后端返回的报文中看看是不是因为不合理的配置或者标识导致的。

延伸

期间查询了vue项目的启动方式,vue开发主要配合node.js使用,虽然也可以直接使用node.js运行项目可能会有一些安全风险,如项目的权限是node.js的启动权限,可能会被渗透攻击,js脚本会直接暴露给用户,会暴露系统缺陷;第二就是部署上的问题,需要将源码直接放到服务器上,可以在服务器中直接修改,会因为认为原因导致服务器上的版本和发布版本不一样。

tomcat和jetty启动vue项目的方式:

先使用node.js的build进行编译,进入项目目录后执行命令npm run-scripts build,编译结束后会在目录中生成一个dist目录,将dist目录中的内容全都转移到tomcat的webapps中的新建目录下也可以直接将dist目录直接复制过去,启动tomcat或者jetty后,直接通过host:port/<dirName>就可以访问自己的vue工程了。

当vue启动空白页问题:

1.config下index.js中的assetsPublicPath从'/'改为'./'

2.工程目录下index.xml文件中script标签中的src属性从绝对路径改为相对路径:

<script src="./static/<app js path>" type="text/javascript"></script>
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 215,794评论 6 498
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,050评论 3 391
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 161,587评论 0 351
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,861评论 1 290
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,901评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,898评论 1 295
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,832评论 3 416
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,617评论 0 271
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,077评论 1 308
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,349评论 2 331
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,483评论 1 345
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,199评论 5 341
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,824评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,442评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,632评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,474评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,393评论 2 352

推荐阅读更多精彩内容