문제

내가 알고 있는 우리가 얻을 수 있습의 MAC 주소를 통해 사용자 IE(ActiveX 개체).

이 있을 얻을 수 있는 방법이 사용자의 MAC 주소를 사용하여 JavaScript?

도움이 되었습니까?

해결책

가 동의 모든 이전에 답하는 것이 개인 정보 보호 정책/보안 취약점을 경우 당신은 할 수 없이 자바 스크립트에서 직접.두 가지 일을 생각할 수 있:

  • Java 를 사용하여(서명된 애플릿)
  • 를 사용하여 서명한 자바 스크립트에서 FF(Mozilla 일반적으로)가져보다 높은 권한의 정상적인 JS(그러나 그것은 상당히 복잡한 설정)

다른 팁

빠르고 간단한 대답이 아니다.

자바 스크립트는 매우 높은 수준의 언어에 대한 액세스 권한은 없습니다 이런 종류의 정보입니다.

지 않을 얻을 수 없습니다 MAC 주소,자바 스크립트로 주로하기 때문에 MAC 주소를 고유하게 식별하는 실행하는 컴퓨터 그래서 그것은 것 보안에 취약합니다.

면 지금 당신이 필요로하는 모든 독특한 식별자,나는 당신이 하나를 만들 자신이 일부를 사용하여 암호화 알고리즘에 저장한 쿠키입니다.

당신이 정말로 알아야의 MAC 주소는 컴퓨터 개발에 대한 내용,다음 사용할 것을 제안한 외부 구성 요소는 그렇게 하도록 요청합니다.ActiveX IE,XPCOM for Firefox(으로 설치 확장).

Nope.이유는 ActiveX 할 수 있기 때문에 그것이 ActiveX 는 작은 응용 프로그램에서 실행되는 클라이언트의 기계입니다.

내가 상상 정보에 액세스하는 자바 스크립트를 통해 될 것이라는 보안에 취약합니다.

이 경우 인트라넷 응용 프로그램의 모든 클라이언트는 DHCP 를 사용하여 쿼리할 수 있습 DHCP 서버를 위한 MAC 주소를 지정한 IP 주소입니다.

내가 찾고 있었 같은 문제에 발견하고 다음과 같은 코드입니다.

을 얻는 방법을 클라이언트 MAC 주소(Web):

을 얻을 클라이언트 MAC 주소는 유일한 방법은 우리가 의지할 수 있는 자바스크립트 및 Active X 컨트롤 Microsoft.그것은 단지 작업에서 IE 경우 Active X 설정한다.로 activexobject 의 사용할 수 없습니다 Firefox,작동 하지 않으로 파이어폭스에서 잘 작동하는 IE.

이 스크립트는 IE 만:

<script language="javascript" type="text/javascript">
    function showMacAddress() {
        var obj = new ActiveXObject("WbemScripting.SWbemLocator");
        var s = obj.ConnectServer(".");
        var properties = s.ExecQuery("SELECT * FROM Win32_NetworkAdapterConfiguration");
        var e = new Enumerator(properties);
        var output;
        output = '<table border="0" cellPadding="5px" cellSpacing="1px" bgColor="#CCCCCC">';
        output = output + '<tr bgColor="#EAEAEA"><td>Caption</td><td>MACAddress</td></tr>';
        while (!e.atEnd()) {
            e.moveNext();
            var p = e.item();
            if (!p) continue;
            output = output + '<tr bgColor="#FFFFFF">';
            output = output + '<td>' + p.Caption; +'</td>';
            output = output + '<td>' + p.MACAddress + '</td>';
            output = output + '</tr>';
        }
        output = output + '</table>';
        document.getElementById("box").innerHTML = output;
    }
</script>
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top