在開發的過程中,有時會遇到只允許特定的幾個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>