来源:自学PHP网 时间:2015-04-15 15:00 作者: 阅读:次
[导读] FengCms Beta 1 20管理这样判断冒是那里不对啊。详细说明:用switch做判断,真的搞不懂程序猿是怎么想的啊,这里的step变量可以控制,导致重装程序。switch($_GET[step]){ case 1: 安装许可协议...
|
FengCms Beta 1.20 用switch做判断,真的搞不懂程序猿是怎么想的啊,这里的step变量可以控制,导致重装程序。
switch($_GET['step']){
case '1': //安装许可协议
include ABS_PATH."/step/step1.php";
break;
case '2': //检查安装环境是否满足要求
$PHP_GD = '';
if(extension_loaded('gd')) {
if(function_exists('imagepng')) $PHP_GD .= 'png';
if(function_exists('imagejpeg')) $PHP_GD .= ' jpg';
if(function_exists('imagegif')) $PHP_GD .= ' gif';
}
$PHP_JSON = '0';
if(extension_loaded('json')) {
if(function_exists('json_decode') && function_exists('json_encode')) $PHP_JSON = '1';
}
//新加fsockopen 函数判断,此函数影响安装后会员注册及登录操作。
if(function_exists('fsockopen')) {
$PHP_FSOCKOPEN = '1';
}
$PHP_DNS = preg_match("/^[0-9.]{7,15}$/", @gethostbyname('www.baidu.cn')) ? 1 : 0;
//是否满足FengCms安装需求
$is_right = (phpversion() >= '5.2.0' && extension_loaded('mysql') && $PHP_JSON && $PHP_GD && $PHP_FSOCKOPEN) ? 1 : 0;
//配置文件是否存在和可写
$is_config = (is_readable($config_file) && is_writable($config_file)) ? 1 : 0;
//上传目录是否可写
$is_upload = (dir_writeable(ROOT_PATH."/upload")) ? 1 : 0;
//模块导出目录是否可写
$is_module = (dir_writeable(ROOT_PATH."/upload/module")) ? 1 : 0;
//前台缓存目录是否可写
$is_cache = (dir_writeable(ROOT_PATH."/app/cache")) ? 1 : 0;
include ABS_PATH."/step/step2.php";
break;
case '3': //填写数据库信息
include ABS_PATH."/step/step3.php";
break;
case '4': //正在安装
$conn=@mysql_connect($_GET['host'],$_GET['user'],$_GET['password']);
if(!$conn){
echo '<script type="text/javascript">alert("链接主机失败,请检查主机地址、用户名和密码是否正确!");history.go(-1);</script>';
exit();
}elseif(intval(mysql_get_server_info($conn))<5){
echo '<script type="text/javascript">alert("您的MYSQL版本为'. mysql_get_server_info($conn).',版本太低,不能安装FengCms!");history.go(-1);</script>';
exit();
}else{
if(!mysql_select_db($_GET['dbname'],$conn)){ //如果数据库不存在,我们就进行创建。
if (!mysql_query("CREATE DATABASE ". $_GET['dbname'] ." default character set utf8;",$conn))
{
echo '<script type="text/javascript">alert("数据库不存在,创建不成功");history.go(-1);</script>';
}else{
if(!mysql_select_db($_GET['dbname'],$conn)){
echo '<script type="text/javascript">alert("链接数据库失败,请检查数据库是否正确!");history.go(-1);</script>';
}else{
include "data.php";
}
}
}else{
include "data.php";
}
}
break;
case '5': //安装完成
include ABS_PATH."/step/step5.php";
break;
case '6': //删除安装目录
if(rmdirs(ROOT_PATH.'/install') or rmdir(ROOT_PATH.'/install')){
echo '<script type="text/javascript">alert("删除成功!");close();</script>';
exit();
}else{
echo '<script type="text/javascript">alert("删除失败,请手工删除网站根目录下install目录!");close();</script>';
exit();
}
break;
}
http://test.com/FengCms%20Beta%201.20/install/index.php?host=localhost&user=root&password=****&dbname=fengcms&prefix=f_&url_type=1&step=4
修复方案:修改判断语句~提醒用户删除可以改成强制。 |
自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习
京ICP备14009008号-1@版权所有www.zixuephp.com
网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com