帝国cms增加hash验证后,原插件的兼容性处理方法

php爱好者 2017-5-7 1202

[p=null, 2, left]很多帝国cms7.0或更早的插件无法应用在7.2上,原因是帝国cms在7.2版本的后台中增加了hash验证,以此来获得更好的安全性,防止外部请求,这就是我们大家都知道的刺猬模式和金刚模式,插件必须进行修改才可使用,今天cms大学小编和大家分享一下修改方法。[/p]
[p=null, 2, left]1、安装程序升级(修改安装程序中的数据库部分,以应对数据表字段的变化)。[/p][p=null, 2, left]menuclass表增加了groupids字段,此字段默认值设为空即可。[/p][p=null, 2, left]menu表增加了addhash 字段,建议将此字段值设为1。[/p][p=null, 2, left]2、hash过滤。[/p][p=null, 2, left]不传递参数的页面文件在验证登录之后加载函数 $ecms_hashur=hReturnEcmsHashStrAll();[/p][p=null, 2, left]传递参数的页面加载hCheckEcmsRHash();[/p][p=null, 2, left]3、表单过滤[/p][p=null, 2, left]在表单中加载 $hashhrefr['form'] 或 $hashhrefr['eform'] [/p][p=null, 2, left]4、页面链接[/p][p=null, 2, left]传递hash参数使用 $hashhrefr['ehref'] 或 $hashhrefr['whehref'] , $hashhrefr['href']或 $hashhrefr['whhref'][/p][p=null, 2, left]加wh的返回"?"[/p][p=null, 2, left]加不e的传递两个参数,用于向数据库提交参数的情况[/p][p=null, 2, left]5、返回链接[/p][p=null, 2, left]函数执行完成,返回地址后面加 hReturnEcmsHashStrHref 和 hReturnEcmsHashStrHref2 前者返回href变量,后者返回ehref变量,参数0和1分别表示"?"的无和有[/p]
最新回复 (3)
返回
发新帖