Найти MAC-адрес в ColdFusion - PullRequest
       7

Найти MAC-адрес в ColdFusion

1 голос
/ 27 февраля 2012

Мы ищем способ найти MAC-адрес клиента в Coldfusion.

Есть ли способ сделать это? Мы используем CF 9 в JDK 1.6, который, как мне кажется, позволяет нам использовать сетевой уровень Java, но я бы предпочел приблизиться к уровню CFML.

Ответы [ 2 ]

1 голос
/ 27 февраля 2012

Вы не можете получить MAC-адрес клиента через Java, так как он нигде не передается с запросом.Если вы этого хотите, вам понадобится код, работающий на стороне клиента.См. Здесь для получения дополнительной информации: как получить MAC-адрес клиента от HttpServlet?

Вы можете получить MAC-адрес сервера, используя приведенный ниже код, как указано в ответе выше.

<cfset LocalHost = CreateObject( "java", "java.net.InetAddress" ).getLocalHost() />
<cfset Mac = CreateObject( "java", "java.net.NetworkInterface" ).getByInetAddress( LocalHost ).getHardWareAddress() />
<cfset MacAddress = '' />
<cfloop from="1" to="#ArrayLen( Mac )#" index="Pair">
    <!--- Convert it to Hex, and only use the right two AFTER the conversion--->
    <cfset NewPair = Right( FormatBaseN( Mac[ Pair ], 16 ), 2 ) />

    <!--- If it's only one letter/string, pad it --->
    <cfset NewPair = Len( NewPair ) EQ 1 ? '0' & NewPair : NewPair />

    <!--- Append NewPair --->    
    <cfset MacAddress &= UCase( NewPair ) />

    <!--- Add the dash --->
    <cfif ArrayLen( Mac ) NEQ Pair>
        <cfset MacAddress &= '-' />
    </cfif>
</cfloop>
<cfdump var="#MacAddress#" />
0 голосов
/ 27 февраля 2012

Я не делал этого лично, но вот ссылка на обсуждение на форуме, где они объясняют, как вы можете это сделать http://www.raymondcamden.com/forums/messages.cfm?threadid=39CC3269-19B9-E658-9DD1131DAB233CA8 в противном случае это также должно работать http://tutorial17.learncf.com/

...