拿骑士的演示站做测试。 http://demo.74cms.com/admin 使用 测试 123456 登陆后台。 点击工具页面。 找到百度开放平台。。 点击配置 如下图: 修改索引文档名称为 index.php 修改文档保存目录为 / 如下图: 保存。。 点击资源文档。 即可操作删除文件。 如下
http://demo.74cms.com/admin
使用 测试 123456
登陆后台。
点击工具页面。
找到百度开放平台。。
点击配置
如下图:

修改索引文档名称为 index.php
修改文档保存目录为 /
如下图:

保存。。
点击资源文档。
即可操作删除文件。
如下图:

代码分析:
admin_baiduxml.php foreach($flist as $key => $file) { if (file_exists($xmldir.$file)) { $flistd[$key]['file_type'] = $file==$xmlset['indexname']?'<span style="color:#FF6600">索引文档</span>':'资源文档'; $flistd[$key]['file_size'] = round(filesize($xmldir.$file)/1024/1024,2); $flistd[$key]['file_time'] = filemtime($xmldir.$file); $flistd[$key]['file_url'] = $_CFG['site_domain'].$_CFG['site_dir'].$trimxmldir.$file; $flistd[$key]['file_name'] = $file; //这里只要是我们配置里设置什么名字,就会显示什么。不管之前是否存在,是否是系统文件。 } }
继续看删除。也没有做任何判断。
elseif($act == 'del') { $xmlset=get_cache('baiduxml'); $xmldir = '../'.$xmlset['xmldir']; $file_name=$_POST['file_name']; //没做任何判断,我们可以提交任意文件名字进行删除。。。只要是post过去的文件名都可以删。。 if (empty($file_name)) { adminmsg("请选择文档!",1); } if (!is_array($file_name)) $file_name=array($file_name); foreach($file_name as $f ) { @unlink($xmldir.$f); } adminmsg("删除成功!",2); }
修复方法。
代码分析里面有了。程序猿应该看的懂。。
代码分析里面有了。程序猿应该看的懂。。