2012-02-27 11 views
1

ColdfusionでクライアントのMACアドレスを見つける方法を探しています。ColdFusionでMACアドレスを見つける

これを行う方法はありますか? JDK 1.6でCF 9を使用していますが、これはJavaネットワーク層を使用することを可能にしますが、私はCFML層に近づくことを好みます。

答えて

1

を動作するはずは、Javaを介してクライアントのMACアドレスを取得することはできません、それは要求と共にどこにも渡されないからです。あなたがそれを望むなら、あなたはクライアントの側で走ったコードが必要になるでしょう。詳細については、ここをクリックしてください。how to get a client's MAC address from 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

私は、サーバーの要求を行っている最後のノードのMACアドレスを取得する方法があると思いますが、クライアントMACアドレスはHTTP要求で使用できません。 –

関連する問題