如何解决DedeCMS 57SP1 plusdownloadphp url重定向漏洞
1、最经常的原因就是这个栏目没有生成
2、这个栏目所属的模板不存在,就是你没改成自己的模板
3、如果是关于我们页面,一般都是做成单页。设置成封面模板,内容直接放到栏目内容下面,如图:
你进入你的程序后台管理,然后在 系统设置-系统基本参数 这里设置下你的网站根目录,然后再重新生成下主页
你的站点根网址应该是 http://myweimallcom/goldencarps 这个
修改downloadphp(网站根目录/plus/downloadphp)
将header("location:$link");
替换为
if(stristr($link,$cfg_basehost))
{
header("location:$link");
}
else
{
header("location:$cfg_basehost");
}
对link参数做判断,对不是同域名的跳转给予提示,将非本站域名跳转到网站首页,以免出现钓鱼欺诈行为。而scanv也不会再提示低危风险漏洞了。
有的Dede默认生成首页后,首页的链接后面会多出一个indexhtml,官方说法这样有利于网站优化。出于不让首页权重分散考虑,同时也是美观考虑,dede首页的indexhtml还是得去掉好。
下面就给大家分享一下如何去掉织梦首页的indexhtml
方法一:
使用htaccess文件目前使用的是这个办法,试验成功。
方法如下:
在根目录的htaccess里加入以下代码:
DirectoryIndex indexhtml indexphp indexhtm
方法二:
在主机里面设置默认首页顺序:把indexhtml提到最前面。
因主机不同,设置方法也不同,大多数空间都是在空间商会员后台可以改动。例如:万网。
方法三:也是最简单行之有效的办法。
找到根目录下的indexphp文件,找到如下内容
//自动生成HTML版
if(isset($_GET['upcache']) || !file_exists('indexhtml'))
{
require_once (dirname(__FILE__) "/include/commonincphp");
require_once DEDEINC"/arcpartviewclassphp";
$GLOBALS['_arclistEnv'] = 'index';
$row = $dsql->GetOne("Select From `dede_homepageset`");
$row['templet'] = MfTemplet($row['templet']);
$pv = new PartView();
$pv->SetTemplet($cfg_basedir $cfg_templets_dir "/" $row['templet']);
$row['showmod'] = isset($row['showmod']) $row['showmod'] : 0;
if ($row['showmod'] == 1)
{
$pv->SaveToHtml(dirname(__FILE__)'/indexhtml');
include(dirname(__FILE__)'/indexhtml');
exit();
} else {
$pv->Display();
exit();
}
}
else
{
header('HTTP/11 301 Moved Permanently');
header('Location:indexhtml');
}
>
把上面一大段替换成下面的这段代码
if(!file_exists(dirname(__FILE__)'/data/commonincphp'))
{
header('Location:install/indexphp');
exit();
}
require_once (dirname(__FILE__) "/include/commonincphp");
require_once DEDEINC"/arcpartviewclassphp";
$GLOBALS['_arclistEnv'] = 'index';
$row = $dsql->GetOne("Select From `dede_homepageset`");
$row['templet'] = MfTemplet($row['templet']);
$pv = new PartView();
$pv->SetTemplet($cfg_basedir $cfg_templets_dir "/" $row['templet']);
$pv->Display();
>
关于dedecms织梦程序首页如何去除indexhtml有以下三种解决方法
一、静态访问也分3种解决方法
1、IIS
打开IIS点击文档,里面将indexhtml置于indexphp上面,这有什么作用呢其实这样设置就是在网站同时有indexphp和indexhtml的情况下,先访问index,html这样就不会出现跳转的情况
2、Apache
apache里面DirectoryIndex来控制文件检索优先级的
DirectoryIndex indexhtml indexphp indexhtm
和iis一样,将indexhtml往前放
3、虚拟主机
把网站默认首页indexhtml放到indexphp前面,这样它自动读到indexhtml就不会跳转了
二、直接动态浏览
网站动态访问的情况下,程序会删除根目录下面的Indexhtml
,那么会执行include(dirname(__FILE__)。‘/indexhtml’);这段代码,把首页引用而非跳转。
三、把dedecms的indexphp更为以下内容
GetOne("Select From `#@__homepageset`"); $row['templet'] =
MfTemplet($row['templet']); $pv = new PartView();
$pv->SetTemplet($cfg_basedir $cfg_templets_dir "/" $row['templet']);
$pv->SaveToHtml(dirname(__FILE__)'/indexhtml');
include(dirname(__FILE__)'/indexhtml'); exit(); >
//自动生成HTML版
require_once (dirname(__FILE__) "/include/commonincphp");
require_once DEDEINC"/arcpartviewclassphp";
$GLOBALS['_arclistEnv'] = 'index';
$row = $dsql->GetOne("Select From `#@__homepageset`");
$row['templet'] = MfTemplet($row['templet']);
$pv = new PartView();
$pv->SetTemplet($cfg_basedir $cfg_templets_dir "/"
$row['templet']);
$pv->SaveToHtml(dirname(__FILE__)'/indexhtml');
include(dirname(__FILE__)'/indexhtml');
exit();
>
其实主要就是把那段301定向代码删除
header(‘HTTP/11 301 Moved Permanently’);
header(‘Location:indexhtml’);
哈哈我终于去掉移动站了
打开主页模版indexhtm,找到head头部元素里面带有/m/indexphp
大概是这么长
<meta http-equiv="mobile-agent" content="format=xhtml;url=/m/indexphp">
<script type="text/javascript">if(windowlocationtoString()indexOf('pref=padindex') != -1){}else{if(/AppleWebKitMobile/itest(navigatoruserAgent) || (/MIDP|SymbianOS|NOKIA|SAMSUNG|LG|NEC|TCL|Alcatel|BIRD|DBTEL|Dopod|PHILIPS|HAIER|LENOVO|MOT-|Nokia|SonyEricsson|SIE-|Amoi|ZTE/test(navigatoruserAgent))){if(windowlocationhrefindexOf("mobile")<0){try{if(/Android|Windows Phone|webOS|iPhone|iPod|BlackBerry/itest(navigatoruserAgent)){windowlocationhref="indexphp";}else if(/iPad/itest(navigatoruserAgent)){}else{}}catch(e){}}}}</script>
删掉他。
0条评论