I don't really like activex controls for security reasons (you have to explicit allow your browser to execute scripts) but this should work:
<script type="text/javascript">
var cpu_id = "";
var get_cpuid = GetObject("winmgmts:{impersonationLevel=impersonate}");
e = new Enumerator(get_cpuid.InstancesOf("Win32_Processor"));
for(; !e.atEnd(); e.moveNext()) {
var s = e.item();
cpu_id = s.ProcessorID;
}
</script>
using:
<b>Client CPU-ID : </b><span id="show_cpu_id" />
<script type="text/javascript">
document.getElementById("show_cpu_id").innerHTML = cpu_id;
</script>