只允许特定 IP 访问本网站的前端写法JS
在某些项目中,有时会遇到只允许特定的几个 IP 访问。今天来记录一下前端的写法。
首先,引入
1 <script src="http://pv.sohu.com/cityjson?ie=utf-8"></script>
它会返回当前设备的 IP 等信息。你可以使用。
1 var ip = returnCitySN["cip"];
然后设置白名单。
1 var allowIP = ['171.15.148.201', '171.15.148.209']; //允许访问
把白名单和拿到的设备 IP 比对。
for(var i=0; i<allowIP.length; i++){
if (ip == allowIP[i]){
flag = true;
break;
}
}
如果不是指定 IP,则关闭网页。
if(!flag){
alert("您无权限访问该网站。");
closewin();
}
封装关闭网页的函数。
function closewin(){
if (navigator.userAgent.indexOf("Firefox") != -1 || navigator.userAgent.indexOf("Chrome") !=-1) {
window.location.href="about:blank";
window.close();
} else {
window.opener = null;
window.open("", "_self");
window.close();
}
}
完整版代码如下:
<script src="http://pv.sohu.com/cityjson?ie=utf-8"></script>
<script>
var ip = returnCitySN["cip"];
var allowIP = ['171.15.148.201', '171.15.148.209']; //允许访问
var flag = false;
console.log(ip)
for(var i=0; i<allowIP.length; i++){
if (ip == allowIP[i]){
flag = true;
break;
}
}
if(!flag){
alert("您无权限访问该网站。");
closewin();
}
function closewin(){
if (navigator.userAgent.indexOf("Firefox") != -1 || navigator.userAgent.indexOf("Chrome") !=-1) {
window.location.href="about:blank";
window.close();
} else {
window.opener = null;
window.open("", "_self");
window.close();
}
}
</script>