';
$reval = false;
if(empty($rootDir)) $rootDir = DEDEROOT;
if (TestWriteable($d))
{
@file_put_contents($d.'/'.$filename, $testStr);
$remoteUrl = $siteuRL.'/'.str_replace($rootDir, '', str_replace("\\", '/',realpath($d))).'/'.$filename;
$tempStr = @PostHost($remoteUrl);
$reval = (md5($d) == trim($tempStr))? true : false;
unlink($d.'/'.$filename);
return $reval;
} else
{
return -1;
}
}
}
if(!function_exists('PostHost'))
{
function PostHost($host,$data='',$method='GET',$showagent=null,$port=null,$timeout=30){
$parse = @parse_url($host);
if (empty($parse)) return false;
if ((int)$port>0) {
$parse['port'] = $port;
} elseif (!@$parse['port']) {
$parse['port'] = '80';
}
$parse['host'] = str_replace(array('http://','https://'),array('','ssl://'),"$parse[scheme]://").$parse['host'];
if (!$fp=@fsockopen($parse['host'],$parse['port'],$errnum,$errstr,$timeout)) {
return false;
}
$method = strtoupper($method);
$wlength = $wdata = $responseText = '';
$parse['path'] = str_replace(array('\\','//'),'/',@$parse['path'])."?".@$parse['query'];
if ($method=='GET') {
$separator = @$parse['query'] ? '&' : '';
substr($data,0,1)=='&' && $data = substr($data,1);
$parse['path'] .= $separator.$data;
} elseif ($method=='POST') {
$wlength = "Content-length: ".strlen($data)."\r\n";
$wdata = $data;
}
$write = "$method $parse[path] HTTP/1.0\r\nHost: $parse[host]\r\nContent-type: application/x-www-form-urlencoded\r\n{$wlength}Connection: close\r\n\r\n$wdata";
@fwrite($fp,$write);
while ($data = @fread($fp, 4096)) {
$responseText .= $data;
}
@fclose($fp);
empty($showagent) && $responseText = trim(stristr($responseText,"\r\n\r\n"),"\r\n");
return $responseText;
}
}
if(!function_exists('TestAdminPWD'))
{
//返回结果,-1:没有更改默认管理员名称 -2:没有更改默认管理员用户名和密码 0:没有发现默认账号
function TestAdminPWD()
{
global $dsql;
// 查询栏目表确定栏目所在的目录
$sql = "SELECT usertype,userid,pwd FROM #@__admin WHERE `userid`='admin'";
$row = $dsql->GetOne($sql);
if(is_array($row))
{
if($row['pwd'] == 'f297a57a5a743894a0e4')
{
return -2;
} else {
return -1;
}
} else {
return 0;
}
}
}
if(!function_exists('IsWritable'))
{
// 检测是否可写
function IsWritable($pathfile) {
$isDir = substr($pathfile,-1)=='/' ? true : false;
if ($isDir) {
if (is_dir($pathfile)) {
mt_srand((double)microtime()*1000000);
$pathfile = $pathfile.'dede_'.uniqid(mt_rand()).'.tmp';
} elseif (@mkdir($pathfile)) {
return IsWritable($pathfile);
} else {
return false;
}
}
@chmod($pathfile,0777);
$fp = @fopen($pathfile,'ab');
if ($fp===false) return false;
fclose($fp);
$isDir && @unlink($pathfile);
return true;
}
}
// 检测权限
$safeMsg = array();
//if(TestExecuteable(DEDEROOT.'/data',$cfg_basehost) || TestExecuteable(DEDEROOT.'/uploads',$cfg_basehost))
//{
// $helpurl = "http://help.dedecms.com/install-use/server/2011/1109/2124.html";
// $safeMsg[] = '目前data、uploads有执行.php权限,非常危险,需要立即取消目录的执行权限!
//
// 查看如何取消';
//}
$dirname = str_replace('index_body.php', '', strtolower($_SERVER['PHP_SELF']));
if(preg_match("#[\\|/]dede[\\|/]#", $dirname))
{
$safeMsg[] = '默认管理目录为dede,需要立即将它更名;';
}
if(IsWritable(DEDEDATA.'/common.inc.php'))
{
$safeMsg[] = '强烈建议data/common.inc.php文件属性设置为644(Linux/Unix)或只读(NT);';
}
$rs = TestAdminPWD();
if($rs < 0)
{
$linkurl = "马上修改";
switch ($rs)
{
case -1:
$msg = "没有更改默认管理员名称admin,建议您修改为其他管理账号!{$linkurl}";
break;
case -2:
$msg = "没有更改默认的管理员名称和密码,强烈建议您进行更改!{$linkurl}";
break;
}
$safeMsg[] = $msg;
}
//if(PostHost($cfg_basehost.'/data/admin/ver.txt') === @file_get_contents(DEDEDATA.'/admin/ver.txt'))
//{
// $helpurl = 'http://help.dedecms.com/install-use/apply/2011/1110/2129.html';
// $safeMsg[] = '强烈建议将data目录搬移到Web根目录以外;查看如何搬迁';
//}
?>
0)
{
?>
. |