浩瀚の星空
管理员
管理员
  • 发帖数452
  • 铜币2362两
  • 威望801点
  • 贡献96点
  • 注册日期2014-09-22
  • 最后登录2017-11-24
  • 社区居民
  • 最爱沙发
阅读:10697回复:9

[漏洞补丁]9.x模版编辑时选择自定HTML模块,输入PHP可执行问题

楼主#
更多 发布于:2015-03-27 19:51
系统提示:关于phpwind产品的学习与交流已经迁移到阿里云论坛,请访问这里:https://bbs.aliyun.com/fourms.php?m=bbs&cateid=403
前台模版编辑时,如选择自定HTML模块时,输入php,js语句时将被执行,如下图
图片:bug.PNG


这本来是方便二次开发使用,但管理员在授权不慎时容易给他人可趁之机写入非法php语句,就解决方法如下:
1、如你需要此功能,那么除管理员外,不要给别人赋予模版编辑权限,设置路径是:“用户组管理--管理组--管理权限--门户权限”,设成“无作权限”即可
2、如果你不需要此功能,请按如下方法修改代码:
找到src/application/design/controller/PropertyController.php
找到
public function doaddAction() {在这个方法里找到
if ($property['limit'] > 200) $this->showError('DESIGN:maxlimit.error');在这句上头添加一句:
isset($property['html']) && $property['html'] = $this->_getDesignService()->filterTemplate($property['html']);完整方法如下:
public function doaddAction() { $struct = $this->getInput('struct','post'); $pageid = $this->getInput('pageid','post'); $model = $this->getInput('model','post'); if (!$model || $pageid <1) $this->showError('operate.fail'); Wekit::load('design.PwDesignPermissions'); $permissions = $this->_getPermissionsService()->getPermissionsForPage($this->loginUser->uid, $pageid); if ($permissions < PwDesignPermissions::IS_DESIGN ) $this->showError("DESIGN:permissions.fail"); Wind::import('SRV:design.bo.PwDesignModelBo'); $bo = new PwDesignModelBo($model); if (!$bo->isModel()) $this->showError('operate.fail'); $name = trim($this->getInput('module_name','post')); if (empty($name)) $this->showError('DESIGN:module.name.empty'); $cache = $this->getInput('cache','post'); $property = $this->getInput('property','post'); isset($property['html']) && $property['html'] = $this->_getDesignService()->filterTemplate($property['html']); if ($property['limit'] > 200) $this->showError('DESIGN:maxlimit.error'); $cls = sprintf('PwDesign%sDataService', ucwords($model)); Wind::import('SRV:design.srv.model.'.$model.'.'.$cls); $service = new $cls(); $ds = $this->_getModuleDs(); Wind::import('SRV:design.dm.PwDesignModuleDm'); $dm = new PwDesignModuleDm(); $dm->setPageId($pageid) ->setStruct($struct) ->setFlag($model) ->setName($name) ->setCache($cache) ->setModuleType(PwDesignModule::TYPE_DRAG) ->setIsused(1); $resource = $ds->addModule($dm); if ($resource instanceof PwError) $this->showError($resource->getError()); $dm = new PwDesignModuleDm($resource); if (method_exists($service, 'decorateSaveProperty')) { $property = $service->decorateSaveProperty($property, $resource); if ($property instanceof PwError ) $this->showError($property->getError()); } $dm->setProperty($property); if ($property['html_tpl']) $dm->setModuleTpl($property['html_tpl']); $r = $ds->updateModule($dm); if ($r instanceof PwError) $this->showError($r->getError()); Wind::import('SRV:design.srv.data.PwAutoData'); $srv = new PwAutoData($resource); $srv->addAutoData(); $this->setOutput($resource, 'data'); $this->showMessage("operate.success"); }
元芳
总版主
总版主
  • 发帖数13516
  • 铜币65025两
  • 威望47110点
  • 贡献57217点
  • 注册日期2007-02-01
  • 最后登录2017-12-14
  • 终身成就奖
  • 诚信商户
  • 资深侠客
  • 资深版主
  • 社区运营大师
  • 模范会员奖
  • phpwind功勋
  • 热心助人奖
  • 原创先锋奖
  • 最佳建议奖
  • 特殊贡献奖
  • 宣传大使奖
  • 优秀版主奖
  • 民间侠客
  • 社区居民
  • 忠实会员
  • 最爱沙发
  • 社区明星
沙发#
发布于:2015-03-27 21:56
系统提示:关于phpwind产品的学习与交流已经迁移到阿里云论坛,请访问这里:https://bbs.aliyun.com/fourms.php?m=bbs&cateid=403
其实大家注意平时帐号安全就行~
sdwf3000
PW moblie内测组
PW moblie内测组
  • 发帖数2052
  • 铜币3032两
  • 威望853点
  • 贡献0点
  • 注册日期2009-01-08
  • 最后登录2015-12-25
  • 最爱沙发
  • 社区明星
  • 忠实会员
  • 社区居民
板凳#
发布于:2015-03-28 07:55
系统提示:关于phpwind产品的学习与交流已经迁移到阿里云论坛,请访问这里:https://bbs.aliyun.com/fourms.php?m=bbs&cateid=403
学习了,谢谢
壹老板
PW moblie内测组
PW moblie内测组
  • 发帖数257
  • 铜币983两
  • 威望91点
  • 贡献0点
  • 注册日期2014-12-28
  • 最后登录2015-12-24
3楼#
发布于:2015-03-30 09:18
系统提示:关于phpwind产品的学习与交流已经迁移到阿里云论坛,请访问这里:https://bbs.aliyun.com/fourms.php?m=bbs&cateid=403
是解决这个问题的不?http://www.phpwind.net/read/3419342
企鹅帝帝
新手上路
新手上路
  • 发帖数42
  • 铜币92两
  • 威望2点
  • 贡献0点
  • 注册日期2015-01-30
  • 最后登录2016-08-01
  • 社区居民
4楼#
发布于:2015-05-30 22:53
系统提示:关于phpwind产品的学习与交流已经迁移到阿里云论坛,请访问这里:https://bbs.aliyun.com/fourms.php?m=bbs&cateid=403
这样的话可以 弄广告了吗
lyhuilin
初来乍到
初来乍到
  • 发帖数11
  • 铜币11两
  • 威望0点
  • 贡献0点
  • 注册日期2013-01-20
  • 最后登录2015-06-13
5楼#
发布于:2015-06-09 22:56
系统提示:关于phpwind产品的学习与交流已经迁移到阿里云论坛,请访问这里:https://bbs.aliyun.com/fourms.php?m=bbs&cateid=403
其实我想问的是,为啥网站下载地址那里只让买授权,却不让下载???
baozi555
一星会员
一星会员
  • 发帖数186
  • 铜币578两
  • 威望15点
  • 贡献0点
  • 注册日期2012-03-16
  • 最后登录2015-06-28
6楼#
发布于:2015-06-09 23:03
系统提示:关于phpwind产品的学习与交流已经迁移到阿里云论坛,请访问这里:https://bbs.aliyun.com/fourms.php?m=bbs&cateid=403
看看先
阿冰啊
二星会员
二星会员
  • 发帖数537
  • 铜币105两
  • 威望7点
  • 贡献0点
  • 注册日期2006-07-15
  • 最后登录2015-07-09
7楼#
发布于:2015-06-13 10:59
系统提示:关于phpwind产品的学习与交流已经迁移到阿里云论坛,请访问这里:https://bbs.aliyun.com/fourms.php?m=bbs&cateid=403
是啊.
t2dk
初来乍到
初来乍到
  • 发帖数5
  • 铜币183两
  • 威望0点
  • 贡献0点
  • 注册日期2007-05-02
  • 最后登录2017-02-28
8楼#
发布于:2016-10-14 13:23
系统提示:关于phpwind产品的学习与交流已经迁移到阿里云论坛,请访问这里:https://bbs.aliyun.com/fourms.php?m=bbs&cateid=403
收藏备用
shelley1
二星会员
二星会员
  • 发帖数399
  • 铜币136两
  • 威望-13点
  • 贡献0点
  • 注册日期2009-04-20
  • 最后登录2016-10-31
9楼#
发布于:2016-10-27 21:35
系统提示:关于phpwind产品的学习与交流已经迁移到阿里云论坛,请访问这里:https://bbs.aliyun.com/fourms.php?m=bbs&cateid=403
我都下载过的,自己藏着。嘿嘿
游客

返回顶部