JavaScript獲取IP地址的方法
阿新 • • 發佈:2018-11-12
最近公司新加了一個需求,根據使用者登入的IP地址判斷是否重複登入,重複登入就進行逼退,那麼怎麼獲取到瀏覽器的IP地址呢?最後發現搜狐提供了一個JS介面,可以通過它獲取到客戶端的IP。
介面地址如下:
http://pv.sohu.com/cityjson?ie=utf-8
在瀏覽器輸入,返回了這些資訊:
返回了一個returnCitySN變數,這是一個json物件。裡面儲存了ip,id和城市名字。
查詢程式碼如下:
1 <script src="http://pv.sohu.com/cityjson?ie=utf-8"></script> 2<script type="text/javascript"> 3 document.write(returnCitySN["cip"]+','+returnCitySN["cname"]) 4 </script>
這樣我們寫出IP地址和城市名稱,我們判斷是否重複登入就只需判斷IP地址是否相同。
介面程式碼如下:
$(function() { //IP地址異地判斷 var UserPhoneNum = getCookie("UserPhoneNum"); var ipinfo = {"UserPhoneNum": '86//' + UserPhoneNum, "IP": returnCitySN["cip"] } $.ajax({ url: "https://www.xxxxxxxxx.cn/xxxxxx/checklogin/", data: ipinfo, type: "get", success: function(data) { if(JSON.parse(data).state === 200) { } else { window.location.href= 'login.html'; alert("您的賬號已在別處登入,請退出再進行登入!") } }, error: function() { alert("登入失效"); } }); })
我們把IP地址取到,在登入的時候我們通過介面引數上傳給後臺進行儲存,然後通過上面這個介面判斷瀏覽器IP是否和登入時IP一致,不一致就彈框提示並返回登入介面;