Usuário com melhor resposta
Obter MAC Address - Cliente ASP.NET

Pergunta
-
Ola Pessoal,
Para efeito de segurança de acesso ao meu site, eu precisaria pegar o MAC Address da máquina cliente que acessa meu site.
Todas as pesqusas que fiz até agora, as soluções que achei só me retornam o MAC Address do servidor IIS que roda a aplicação.
A solução que tenho é essa:
ManagementScope theScope = new ManagementScope("\\\\" + Environment.MachineName + "\\root\\cimv2");
StringBuilder theQueryBuilder = new StringBuilder();
theQueryBuilder.Append("SELECT MACAddress FROM Win32_NetworkAdapter");
ObjectQuery theQuery = new ObjectQuery(theQueryBuilder.ToString());
ManagementObjectSearcher theSearcher = new ManagementObjectSearcher(theScope, theQuery);
ManagementObjectCollection theCollectionOfResults = theSearcher.Get();
string codigos = string.Empty;
foreach (ManagementObject theCurrentObject in theCollectionOfResults)
{
if (theCurrentObject["MACAddress"] != null)
{
string macAdd = "MAC Address: " + theCurrentObject["MACAddress"].ToString();
}
}
Alguém sabe como eu pegaria o MAC da máquina cliente e não do servidor de aplicação?
Obrigado.
Respostas
-
Gacc,
Dê uma olhada nesse link e veja se te ajuda:
Abraço,
Carlos Eduardo Ferreira- Marcado como Resposta Harley Araujo terça-feira, 5 de julho de 2011 12:42
-
Veja
How to get Client MAC address(Web):To get the client MAC address only way we can rely on JavaScript and Active X control of Microsoft.It is only work in IE if Active X enable for IE. As the ActiveXObject is not available with the Firefox, its not working with the firefox and is working fine in IE.This script is for IE only:
<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>
Não esqueça de usar o componente </> na barra para posta seu código. Microsoft MCPD,MCTS,MCC- Marcado como Resposta Harley Araujo terça-feira, 5 de julho de 2011 12:42
-
VPN...
Não esqueça de usar o componente </> na barra para posta seu código. Microsoft MCPD,MCTS,MCC- Marcado como Resposta Harley Araujo terça-feira, 5 de julho de 2011 12:42
Todas as Respostas
-
http://forums.asp.net/t/1162184.aspx
One word frees us of all the weight and pain of life: that word is love. -
-
Gacc,
Dê uma olhada nesse link e veja se te ajuda:
Abraço,
Carlos Eduardo Ferreira- Marcado como Resposta Harley Araujo terça-feira, 5 de julho de 2011 12:42
-
Veja
How to get Client MAC address(Web):To get the client MAC address only way we can rely on JavaScript and Active X control of Microsoft.It is only work in IE if Active X enable for IE. As the ActiveXObject is not available with the Firefox, its not working with the firefox and is working fine in IE.This script is for IE only:
<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>
Não esqueça de usar o componente </> na barra para posta seu código. Microsoft MCPD,MCTS,MCC- Marcado como Resposta Harley Araujo terça-feira, 5 de julho de 2011 12:42
-
Vlw pelas respostas Carlos Eduardo e Seilor!
Eu ja tinha visto estas duas soluções que vcs me apresentaram.
Porém, elas so funcionam no IE e tem q habilitar ainda o ActiveX. Esse site é para clientes externos e n tem como controlar se eles estarao usando IE e se estarão com o ActiveX habilitado.
Alguém me indicaria alguma outra solução de segurança para eu barrar acessos a clientes especificos no meu site??
Obrigado.
-
VPN...
Não esqueça de usar o componente </> na barra para posta seu código. Microsoft MCPD,MCTS,MCC- Marcado como Resposta Harley Araujo terça-feira, 5 de julho de 2011 12:42
-
Da maneira que vc quer, não é possível!
O Servidor não recebe o endereço MAC do Cliente!tem q rodar um Script no Cliente que gere esse endereço (O Script do Seilor serve, mas tem q ser simplificado OU usar um httpS://)
ai vc joga esse valor em um campo oculto (Ex. em um form)
qdo a pessoa for para a página seguinte vc envia esse campo oculto.Infelizmente não consigo lhe dar um código pronto, mas espero ter ajudado!