伪造链接地址的二种方法

在浏览器的涉及中,为了防止链接地址被伪造,浏览器一般会在状态栏显示地址信息,但可惜的是,显示的地址信息是静态的,也就是说,浏览器难以发现地址的动态变化,截图如下:

针对浏览器的这种特性,我们可以很容易伪造出与浏览器状态栏地址信息不同的链接,示例代码如下:

<a href="http://www.sina.com.cn" id="sina">新浪</a>

方法一:利用mouseup事件

通过组合使用mouseup、mouseout事件,利用mouseup与click之间的时间差,改变链接的href属性,从而能在链接触发点击时,导向到伪造的地址。

var a = document.getElementById('sina'),
        href = a.href;
// 注册事件 
a.addEventListener('mouseup', function(event) {
    //  修改为需要导向的地址
    this.href = 'http://blog.csdn.net/yiifaa';
})
//  抹除设置的属性
a.addEventListener('mouseout', function(event) {
    this.href = href;
})

这里需要强调的是,一定要使用mouseup事件,绝不能使用mouseenter事件,否则露馅。

方法二:截获点击事件

利用事件的冒泡特性,阻止默认事件的发生,即可实现地址的跳转。

var a = document.getElementById('sina');
a.addEventListener('click', function(event) {
    location.href = 'http://blog.csdn.net/yiifaa';
    event.preventDefault();
});
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值