rel="noopener"
对于这着重于网站安全的对这个属性再熟悉不过了,不过很多新手,初级站长在维护网站的时候,还是不清除怎么回事的;
为什么要使用rel='noopener'?
看代码 a.html
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>Document</title> </head> <body> <a href="b.html" target="_blank">da</a> </body> </html>
页面——b.html
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>Document</title> </head> <body> <SCRIPT>window.opener.location.href ="http://google.com"</SCRIPT> </body> </html>
其中在a.html中有个超链接,点击后打开新的tab页,神奇的发现原tab页已经变成了谷歌页面。原因是使用
target=_blank
打开新的窗口时,赋予了新的窗口一些权限可以操作原tab页,其中window.location
就是一个。不使用 rel=noopener
就是让用户暴露在钓鱼攻击上。为了防止
在a标签下添加rel="noopener noreferrer"来防止钓鱼网站,因为它获取的window.opener的值为nullwindow.opener
被滥用,在使用targrt=_blank
时需要加上rel=noopener
<a href="www.baidu.com" target="_blank" rel="noopener" >
连接是网站缺一不可的部分,同时也是造成安全隐患的第一要素,虽然只有一个细节属性,但关键时刻能避免网站被挂马,特别是新站长,建议可以多查查建站周边