鍍金池/ 問(wèn)答/Linux  HTML/ 項(xiàng)目部署在基于linux的凝思系統(tǒng)上,js 怎么獲取訪問(wèn)的本機(jī)ip從而限制登錄?

項(xiàng)目部署在基于linux的凝思系統(tǒng)上,js 怎么獲取訪問(wèn)的本機(jī)ip從而限制登錄?

現(xiàn)在項(xiàng)目部凝思系統(tǒng)上部署,要求是根據(jù)不同的IP限制登錄;在網(wǎng)上找到一段代碼,在window下可以生效,凝思下測(cè)試無(wú)用

獲取IP代碼如下:
function getYourIP(){

        var RTCPeerConnection = window.RTCPeerConnection || window.webkitRTCPeerConnection || window.mozRTCPeerConnection;
        if (RTCPeerConnection) (function () {
            var rtc = new RTCPeerConnection({iceServers:[]});
            if (1 || window.mozRTCPeerConnection) {     
                rtc.createDataChannel('', {reliable:false});
            };
            
            rtc.onicecandidate = function (evt) {
                if (evt.candidate) grepSDP("a="+evt.candidate.candidate);
            };
            rtc.createOffer(function (offerDesc) {
                grepSDP(offerDesc.sdp);
                rtc.setLocalDescription(offerDesc);
            }, function (e) { console.warn("offer failed", e); });
            
            
            var addrs = Object.create(null);
            addrs["0.0.0.0"] = false;
            function updateDisplay(newAddr) {
                if (newAddr in addrs) return;
                else addrs[newAddr] = true;
                var displayAddrs = Object.keys(addrs).filter(function (k) { return addrs[k]; });
                for(var i = 0; i < displayAddrs.length; i++){
                    if(displayAddrs[i].length > 16){
                        displayAddrs.splice(i, 1);
                        i--;
                    }
                };                    
                console.info('您的IP: ', displayAddrs[0]);
            }
            
            function grepSDP(sdp) {
                var hosts = [];
                sdp.split('\r\n').forEach(function (line, index, arr) { 
                   if (~line.indexOf("a=candidate")) {    
                        var parts = line.split(' '),       
                            addr = parts[4],
                            type = parts[7];
                        if (type === 'host') updateDisplay(addr);
                    } else if (~line.indexOf("c=")) {       
                        var parts = line.split(' '),
                            addr = parts[2];
                        updateDisplay(addr);
                    }
                });
            }
        })();
        else{                
            console.warn('請(qǐng)使用主流瀏覽器:chrome,firefox,opera,safari');                
        }
    }

window下如圖:圖片描述

凝思系統(tǒng)如下圖:
圖片描述

請(qǐng)教,要怎么解決?

回答
編輯回答
單眼皮

升級(jí)你的凝思系統(tǒng) Firefox 版本

2018年5月2日 13:07