Vă mulțumim pentru susținere

Adresele MAC din JavaScript

Știu că putem obține adresa MAC a unui utilizator prin IE (obiecte ActiveX).

Există o modalitate de a obține adresa MAC a unui utilizator folosind JavaScript?

0
adăugat editat

6 răspunsuri

Nu puteți să nu obțineți adresa MAC în JavaScript, mai ales pentru că adresa MAC identifică în mod unic computerul care rulează, astfel încât acesta ar fi o vulnerabilitate de securitate.

Acum, dacă tot ceea ce aveți nevoie este un identificator unic, vă sugerez să creați unul folosind un algoritm criptografic și să îl stocați într-un modul cookie.

Dacă într-adevăr aveți nevoie să cunoașteți adresa MAC a computerului și sunteți în curs de dezvoltare pentru aplicații interne, vă sugerăm să utilizați o componentă externă pentru a face acest lucru: ActiveX pentru IE, XPCOM pentru Firefox (instalat ca extensie).

0
adăugat
Nu, de fapt, sugeram să creați unul.
adăugat autor Vincent Robert
@Michael Wikipedia enumeră mai multe implementări UUID
adăugat autor Vincent Robert
cum vreți să creați un identificator unic? cum folosiți un algoritm criptografic pentru a garanta că vreodată utilizatorul care rulează pe mașina lor obține un ID unic?
adăugat autor Michael

Răspunsul rapid și simplu este nr.

Javascript este un limbaj destul de înalt și nu are acces la astfel de informații.

0
adăugat
Am avut o scurtă privire în jurul Google și toate paginile pe care le-am citit erau doar soluții IE care s-au bazat pe utilizarea obiectelor ActiveX. Dacă ați putea posta un link arătând altfel ...
adăugat autor GateKiller
atunci ce zici de toate rezultatele căutării Google care furnizează coduri eșantion pentru a obține adresa MAC
adăugat autor Moon
Chiar nu cred că a fi un "limbaj de nivel înalt" are ceva de a face cu adresele MAC, deoarece orice limbaj de programare de pe server vă permite să obțineți accesul la tabela ARP, chiar indirect (de exemplu printr-un subproces). Cred că "limbajul clientului" ar funcționa mai bine ...
adăugat autor kirbyfan64sos
Nu există niciun motiv pentru care un limbaj de nivel înalt nu ar avea acces la informații hardware de nivel scăzut. În acest caz, acest lucru nu se întâmplă deoarece ar fi o problemă de securitate.
adăugat autor nsn

Nu. Motivul pentru care ActiveX o poate face este că ActiveX este o mică aplicație care rulează pe mașina clientului.

Mi-aș imagina că accesul la astfel de informații prin intermediul JavaScript ar fi o vulnerabilitate de securitate.

0
adăugat

Dacă aceasta este pentru o aplicație intranet și toți clienții folosesc DHCP, puteți interoga serverul DHCP pentru adresa MAC pentru o anumită adresă IP.

0
adăugat
Cum pot face acest lucru?
adăugat autor Bardo91

Sunt de acord cu toate răspunsurile anterioare că ar fi o vulnerabilitate de confidențialitate / securitate dacă ați putea face acest lucru direct de la Javascript. Există două lucruri la care mă pot gândi:

  • Utilizarea Java (cu un applet semnat)
  • Folosind Javascript semnat, care în FF (și Mozilla în general) primește privilegii mai mari decât JS normal (dar este destul de complicat să se configureze)
0
adăugat

căutam aceeași problemă și am dat peste codul următor.

Cum se obține adresa MAC a clientului (Web):

Pentru a obține adresa clientului MAC numai în modul în care ne putem baza pe controlul JavaScript și Active X al Microsoft. Este activat numai în IE dacă Active X active pentru IE. Deoarece ActiveXObject nu este disponibil cu Firefox, nu funcționează cu firefox și funcționează bine în IE.

Acest script este numai pentru IE:



0
adăugat