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