• 本人原创可编译执行php脚本的php函数


    该思路究竟可以干什么呢?
    例如:
    可以在开发CMS的时候自定义标签,将标签的内容PHP代码存放到数据库内,在生成页面的时候将存放到数据库内的php代码读出,然后用该思路执行并获取执行后的结果替换标签。
    另外也可以将该思路延伸,用以作为网站在线程序编辑器来用,可以实现在线编辑可以编译执行的php;asp;jsp等任何文本文件。也可以作为在线数据库管理工具来用,只要填写对数据库操作的php代码即可操作管理数据库。最后,嘿嘿,如果在一个黑客的手中这段代码究竟能做出什么那就不是我该想的了。

    //如果要轉載本文請注明出處,免的出現版權紛爭,我不喜歡看到那種轉載了我的作品卻不注明出處的人 Seven{See7di#Gmail.com}
    用法:
    直接将如下代码保存为php文件,放入php运行环境中即可使用,在使用时在输入框内填写PHP代码,然后点击“提交”按钮,即可马上将您刚刚输入的PHP代码的执行结果反馈出来。

    <form method="post" action="?action=submit">
    <textarea rows=13 style="100%" name="code">
    $fso=Fopen('1.php','w');
    Fwrite($fso,"这是测试内容");
    Fclose($fso);

    For($i=14;$i<65;$i++){
    echo Chr($i)."{$i}|";
    }

    $fengjian="冯健";
    echo Chr(10).'<a href=\'http://www.7di.net\' target=\'_blank\'>官方网站地址是:www.7di.net,变量\$fengjian的值是'.$fengjian.'</a>';
    echo Chr(10)."<a href=\"?action=\">返回</a>";
    </textarea>
    <input type="submit" value="提交">
    </form>

    <?php
    /*
    标签解析引擎
    作用:将传入的PHP代码进行编译执行
    返回:执行之后的结果
    示例:Exe("echo \"a\";");*/
    Function Exe($Str){
    OB_start();
    IF(Empty($Str) Or !IsSet($Str)){Return Null;}
    //$Str=Str_Replace(Chr(92).Chr(92).Chr(34),Chr(14),$Str); //Chr(34)双引号
    //$Str=Str_Replace(Chr(92).Chr(92).Chr(39),Chr(19),$Str); //Chr(39)单引号
    $Str=Str_Replace(Chr(92).Chr(92),Chr(14),$Str); //Chr(34)双引号
    $Str=Str_Replace(Chr(92),"",$Str);       //替换掉\
    $Str=Str_Replace(Chr(14),Chr(92),$Str);
    //$Str=Str_Replace(Chr(14),Chr(92).Chr(34),$Str);
    //$Str=Str_Replace(Chr(19),Chr(92).Chr(39),$Str);
    Eval($Str);             //解析执行
    $Str=ob_get_contents();          //得到缓冲区内容
    OB_end_clean();            //结束并清理缓冲
    Return $Str;            //返回处理结果
    }

    IF($_GET["action"]=="submit"){
    $b=$_POST["code"];
    $f=Exe($b);
    Print_r ($f).Chr(10);
    }?>


  • 相关阅读:
    js实现element中可清空的输入框(1)
    vue中v-model的学习
    Oracle触发器和MySQL触发器的简单应用
    Java中的多线程你只要看这一篇就够了()
    HTML 随笔记之 刷新页面
    HTML CSS 随笔记之 cursor
    float到底是干什么的?
    Spring Boot 事物的快速应用
    java web 中文乱码
    LVM 创建实例
  • 原文地址:https://www.cnblogs.com/see7di/p/2239916.html
Copyright © 2020-2023  润新知