大致这样的代码:
<a href="http://abcdefg.com" target="_blank">点击跳转</a>
http://abcdefg.com
这个项目的同事document.referrer
进行了拦截判断(前后端均可拦截操作)from
推荐下面的解决方案三
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>from</title>
<!-- 解决方案一 禁内容referrer -->
<!-- <meta name="referrer" content="never"> -->
<!-- 解决方案二 不带着referrer -->
<!-- <meta name="referrer" content="no-referrer"> -->
</head>
<body>
<!-- 解决方案三 a标签加rel属性控制 -->
<a href="http://127.0.0.1:5502/referrer.html" target="_blank" rel="noopener noreferrer">点击跳转</a>
<!-- 解决方案四 换成window.open并注入js执行代码 -->
<!-- <button>点击跳转</button>
<script>
let btn = document.querySelector('button')
btn.onclick = () => {
window.open('javascript:window.name;', `
<script>location.replace("http://127.0.0.1:5502/referrer.html")<\/script>
`)
}
</script> -->
</body>
</html>
referrer
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>referrer</title>
</head>
<body>
<h2></h2>
<script>
let referrer = document.referrer
let h2 = document.querySelector('h2')
if (referrer) {
h2.innerHTML = '不允许从别的地方跳转过来访问'
} else {
h2.innerHTML = '欢迎直接访问'
}
</script>
</body>
</html>
可以用vscode的插件live serve跑一下两个html文件,效果更佳
网站声明:如果转载,请联系本站管理员。否则一切后果自行承担。
添加我为好友,拉您入交流群!
请使用微信扫一扫!