有没有大佬能解读一下这段php在线等急急急

REMOTE_ADDR如果用户使用了代理得到的是代理IP,所以增加判断用户是否启用了代理,如果使用了通过HTTP_X-Forwarded-For获取用户的真实IP地址,设置REMOTE_ADDR服务器变量为用户的真实ip地址

 

就是获取访问用户的真实ip地址

 

然后$sandbox变量存储sandbox/及使用md5(orange+用户ip)的值

mkdir就是从当前运行的php文件所在目录下创建$sandbox路径,chdir将 PHP 的当前目录改为$sandbox的路径,为后续的exec执行外部程序指定目录用

 

然后判断是否POST提交了url这个键名称的内容,未提交使用PHP内置的(highlight_file)语法高亮器所定义的颜色,打印输出当前运行的php(__FILE__)文件语法高亮版本的代码。

 

提交了则判断是否为合法的网址,合法的话parse_url 解析 URL,返回其组成部分,判断host主机名是否为127.0.0.1,是的话获取提交网址返回的内容,内容小于等于4个字符的话调用exec执行返回的程序($code存的的外部程序名称)

 

总的来说就是访问这个php脚本时,在每个访客的ip地址所在目录(md5过)内执行本机返回的程序

if 判断客户端IP地址是否存在(透过代理服务器取得客户端的真实 IP 地址){

        explode() 函数把字符串打散为数组。

       获取数组的0个元素

}

输出远程地址

函数计算字符串的 MD5 散列。

@mkdir. 代表执行mkdir时不会返回或弹出错误提示

chdir() 函数改变当前的目录。

if  判断(预定义的 $_POST 变量用于收集来自 method="post" 的表单中的值。)

      

    if(   filter_var() 函数通过指定的过滤器过滤变量。如果成功,则返回已过滤的数据,如果失败,则返回 false。)

                  parse_url()函数——解析URL,返回其组成部分

                 if( preg_match() 函数可以根据正则表达式对字符串进行搜索匹配,)

                         file_get_contents() 函数把整个文件读入一个字符串中

                           if(函数返回字符串  的长度:){

                                                        exec()函数用来执行一个外部程序

                               else   打印字符串

 

 

highlight_file() 函数对文件进行语法高亮显示。