PHP怎么获取系统信息和服务器详细信息

PHP怎么获取系统信息和服务器详细信息,第1张

获取系统类型及版本号: php_uname() (例:Windows NT COMPUTER 51 build 2600)

只获取系统类型: php_uname('s') (或:PHP_OS,例:Windows NT)

只获取系统版本号: php_uname('r') (例:51)

获取PHP运行方式: php_sapi_name() (PHP run mode:apache2handler)

获取前进程用户名: Get_Current_User()

获取PHP版本: PHP_VERSION

获取Zend版本: Zend_Version()

获取PHP安装路径: DEFAULT_INCLUDE_PATH

获取当前文件绝对路径: __FILE__

获取>

标识一个客户端:

首先服务端就排除了,因为可以用多个用户登录。

然后看客户端有什么办法,只能是采用客户端存储的方式

1、cookie 这个你排除了,可能是因为清除cookie比较容易 *** 作。但这也是一种办法。

2、客户端的dom存储,这个有一定的局限,只有新的浏览器支持。而且同样可以删除。

3、插件方式,这个需要客户安装,一般不可能,但可以利用比较流行的安装率比较高的插件,例如flash,采用flash的本地存储记录。同样可以删除。

综上,不可能完全的防止,但可以采用几种技术的结合,这样可以增加重复发布的难度。

但是还是那句话,是否重复发表信息是由用户决定的。如果用户认为重复发布的成本高于了解除这个限制的成本,那么也就降低了用户重复发布的几率。

这个没有完美的解决方案,只能是尽力。

function getIp()

{

if ($_SERVER[">

import

socket

s

=

socketsocket(socketaf_inet,

socketsock_stream)

sbind(('127001',

8888))

slisten(1)

conn,

addr

=

saccept()

print

conn,

addr

#

('127001',

2134)

#addr

第一个为客户端ip,第二个为端口,上面的程序是tcp服务,udp类似。

权限足够的情况下,可以输出cpu信息php调用:$a = exec('cat /proc/stat');php有个执行方式是用``包裹字符串,同样可以在系统上直接执行同样需要足够的权限。

<php       

    class GetMacAddr{

            var $return_array = array(); // 返回带有MAC地址的字串数组

            var $mac_addr;

            function GetMacAddr($os_type){

                    switch(strtolower($os_type)){   

                            case "linux":$this->forLinux();break;

                            default:$this->forWindows();break;

                    }   

                    $temp_array = array();   

                    foreach ( $this->return_array as $value ){   

                            if ( preg_match( "/[0-9a-f][0-9a-f][:-]""[0-9a-f][0-9a-f][:-]""[0-9a-f][0-9a-f][:-]""[0-9a-f][0-9a-f][:-]""[0-9a-f][0-9a-f][:-]""[0-9a-f][0-9a-f]/i", $value, $temp_array ) ) {   

                                    $this->mac_addr = $temp_array[0];   

                                    break;   

                            }   

                    }   

                    unset($temp_array);   

                    return $this->mac_addr;   

            }  

            function forWindows()   {   

                    @exec("ipconfig /all", $this->return_array);   

                    if ( $this->return_array )   

                            return $this->return_array;   

                    else{   

                            $ipconfig = $_SERVER["WINDIR"]"\system32\ipconfigexe";   

                            if ( is_file($ipconfig) )   

                                    @exec($ipconfig" /all", $this->return_array);   

                            else  

                                    @exec($_SERVER["WINDIR"]"\system\ipconfigexe /all", $this->return_array);   

                            return $this->return_array;   

                    }   

            }   

      }   

   //---实例化类

    $mac = new GetMacAddr(PHP_OS);   

    echo $mac->mac_addr;   

    echo "<br />";   

    echo md5($mac->mac_addr);        

    > 

以上代码是获取mac地址的代码,在网上抄的,但实测有效,括号,我x,我第一次知道原来php也可以执行命令行。。。

 

至于如何限制,应该是去截取mac的一部分经行if判断就可以了,你先尝试一下

以上就是关于PHP怎么获取系统信息和服务器详细信息全部的内容,包括:PHP怎么获取系统信息和服务器详细信息、如何获取PHP客户端及服务器端IP了、php 如何获取客户端唯一标识等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9716050.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-01
下一篇 2023-05-01

发表评论

登录后才能评论

评论列表(0条)

保存