0

我想获取客户端机器的mac地址,以便用户无法从其他计算机登录。我是 PPAPI 的新手,并尝试使用 C 中的以下代码来获取 mac 地址。它需要 PPAPI lib 不包含的 conio.h 头文件。我也在外部添加了这个文件,但没有帮助。任何想法

{
/* Copyright (c) 2013 The Chromium Authors. All rights reserved.
* Use of this source code is governed by a BSD-style license that can be
* found in the LICENSE file.
*/

#include <stdio.h>
#include <string.h>
#include <stdlib.h>

#include "ppapi_simple/ps_main.h"

#ifdef SEL_LDR
#define example_main main
#endif

int example_main(int argc, char* argv[]) {
  /* Use ppb_messaging to send "Hello World" to JavaScript. */
    FILE *fp;
    printf("Hello before system.\n");
    system ("ipconfig/all>D://macid.txt");
printf("Hello before file open.\n");
fp=fopen("D://macid.txt","r");
printf("Hello before if.\n");
if(fp!=NULL)  
    {  
        printf("Hello before while.\n");
        char line[128];  
        while(fgets(line,sizeof line,fp)!=NULL)  
        {  
            printf("Hello in while.\n");
            char *nwln=strchr(line,'\n');  
            char *ptr;  
            if(nwln!=NULL)  
            *nwln='\0';  
            ptr=strstr(line,"Physical Address");  
            if(ptr!=NULL)  
            {  
                printf("Hello in iff.\n");
                printf("hello : %s\n",ptr);  
                break;  
            }  
        }  
    }  

printf("Hello World STDOUTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT.\n");
printf("Hello Deepesh Jain.\n");

/* Use ppb_console send "Hello World" to the JavaScript Console. */
fprintf(stderr, "Hello World STDERR.\n");
return 0;
}

/*
* Register the function to call once the Instance Object is initialized.
* see: pappi_simple/ps_main.h
*
* This is not needed when building the sel_ldr version of this example
* which does not link against ppapi_simple.
*/
#ifndef SEL_LDR
PPAPI_SIMPLE_REGISTER_MAIN(example_main)
#endif

}
4

1 回答 1

1

您是要为 Web 应用程序还是为扩展程序执行此操作?一般来说,PPAPI 和 NaCl 不提供比传统 Web 平台更多的 API,因此如果您要使用 Web 应用程序,那么您将无法访问 MAC 地址。在扩展中,您可能可以访问更多 API,例如最近添加的主机名。

网络平台确实有其他机制来识别用户,例如 cookie,但这些都在用户的控制之下,并且可能会被驱逐。

于 2014-11-04T16:50:30.457 回答