利用go.php文件做站内跳转提示,有安全提醒,还可以防止被恶意利用
in php源码各种技术 with 0 comment

利用go.php文件做站内跳转提示,有安全提醒,还可以防止被恶意利用

in php源码各种技术 with 0 comment

或是出于优化 SEO,或是出于加强网站体验,很多博客都给文章中的外部链接加上了个二次跳转,本博客也不例外。

比如说我在这插入一个 百度 的超链接,你点击访问后先会被跳转到本博客的跳转页面,一段动画后才会真的转至百度的首页。

看似合情合理,实则暗藏一个小漏洞!

情境分析

举个栗子,假设有个不怀好意的坏蛋,要传播一个不怀好意的网站 www.baidu.com (这里用百度做示范好了。。),通常这类网站一发到 QQ 里 QQ 就会有一个大大的红色叹号以示危险:

2017-02-28_131952_77.png

如果利用像本站的跳转功能,就能轻易地将链接“洗白”,也就是我们常说的防红链接

https://www.tiezi.xyz/go.php?url=www.baidu.com

要是有不明真相的小白点击了,在本站的“跳转”下最终访问的就会是恶意的链接网址,无辜的链接跳转功能瞬间成了“帮凶”。

解决办法

给跳转文件加一个判断,如果是在本站内直接访问目标网址,则进行无感跳转(直接跳转);如果不是在本站内访问的目标网站,则弹出提示。

在线体验

https://www.tiezi.xyz/go.php?url=www.xiaomanyao.org 点击体验下,是不是直接就跳转了?

现在你复制上面的链接到网址栏打开看看,或者发给qq好友试试看。

是不是弹出跳转提示?

UC截图20180608125653.png

源码下载

https://git.coding.net/keziyun/go.php.git

https://gitee.com/keziyun/go.php

版权说明

本作品是由 mengkun 开发完成的,发表在:孟坤博客 ,本文仅是为了记录,同时把代码开源在coding和gitee仓库,以供大家学习。

Responses