只允许特定IP访问本网站的前端写法

在开发的过程中,有时会遇到只允许特定的几个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();
}

封装关闭网页的函数。

 1 function closewin(){
 2     if (navigator.userAgent.indexOf("Firefox") != -1 || navigator.userAgent.indexOf("Chrome") !=-1) {
 3         window.location.href="about:blank";
 4         window.close();
 5     } else {
 6         window.opener = null;
 7         window.open("", "_self");
 8         window.close();
 9     }
10 }

完整版代码如下:

 1 <script src="http://pv.sohu.com/cityjson?ie=utf-8"></script>
 2 <script>
 3     var ip = returnCitySN["cip"];
 4     var allowIP = ['171.15.148.201', '171.15.148.209']; //允许访问
 5     var flag = false;
 6 
 7     console.log(ip)
 8     for(var i=0; i<allowIP.length; i++){
 9         if (ip == allowIP[i]){
10             flag = true;
11             break;
12         }
13     }
14     if(!flag){
15         alert("您无权限访问该网站。");
16         closewin();
17     }
18 
19     function closewin(){
20         if (navigator.userAgent.indexOf("Firefox") != -1 || navigator.userAgent.indexOf("Chrome") !=-1) {
21             window.location.href="about:blank";
22             window.close();
23         } else {
24             window.opener = null;
25             window.open("", "_self");
26             window.close();
27         }
28     }
29 
30 </script>

 

posted @ 2018-12-24 16:43  子闲  阅读(3374)  评论(0编辑  收藏  举报