掘金「跳转外链风险提示」实现思考

前言

网页的安全性优化是一个越来越被开发者重视的问题(例如配置 SSL 证书实现网站的 https 访问,通过插件对 XSS 攻击进行预防等),今天我们就来分析 掘金 是如何实现网站跳转外部链接时“拦截”并通知的功能。

一、业务场景

掘金 的文章或者沸点中打开一个链接时,如果为 外部链接 (非本站的链接)时,则会先跳转至一个风险提示的页面,告知用户即将打开的新页面 出现任何问题概不负责 非本站提供,注意账号财产安全。其实就是一个免责的声明。(以下将用一篇文章中的某个外部链接做演示。因为这个网站的加载动画非常好康

掘金跳转外链效果图.gif

其中最主要的提示页面如下图:

掘金风险提示页.png

二、代码分析

1. 链接元素

我们需要对其代码(可见的)进行分析,首先关注点击跳转的元素。打开控制台 检查元素 查看此链接元素有什么特殊的地方。

链接元素.png

通过上图我们可以直观看出链接前被拼接了掘金内部链接 https://link.juejin.cn/?target= ,而 = 后的网址才是真实网址。

2. 风险提示

然后我们再来看下风险提示页。

掘金风险提示页.png

风险提示 页,只需将 URL 上的 target 参数取出并显示在页面中即可。(URL传参常见于各类搜索页面)

3. 链接处理

当然还有关键的一环是,这个链接是何时被处理成这样的。先来看看是不是在编辑文章时处理的。

编辑文章.png

从上图可知,编辑文章时链接并未实时做处理。我们知道掘金的文章草稿是实时保存的,那么我们来看下请求中发送的数据是否做了处理。

查看编辑文章时的请求.gif

  • 6
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值