ecshop模板支持php,ecshop模板不支持引入PHP语句的解决方法

ECSHOP二次开发中有时为了开发的方便,会把一些PHP的程序直接加入到模板文件中去,以便于快捷调试,官方考虑到安全问题,特别将模板中引入的PHP程序进入过滤处理,导致PHP这种快捷调试无法继续往下进行,那么如何来处理这个问题呢,请继续往下读。

首页找到includes目录下的cls_template.php程序文件,并打开,查找约293行function fetch_str($source)函数方法,找到如下代码:

$source = str_replace($sp_match[1][$curr_sp],\’%%%SMARTYSP\’.$curr_sp.\’%%%\’,$source);

替换为下面一段代码,不需要替换处理可直接删除或在前面加上//注释掉。

//$source = str_replace($sp_match[1][$curr_sp],\’%%%SMARTYSP\’.$curr_sp.\’%%%\’,$source);

这里还可以使用另外一种方法,考虑到安全因素,不极力推荐使用,找到下面一段代码:

if(preg_match_all(\’~(|language\\s*=\\s*[\\\”\\\’]?php[\\\”\\\’]?)~is\’, $source, $sp_match))

{

$sp_match[1] = array_unique($sp_match[1]);

for ($curr_sp = 0, $for_max2 = count($sp_match[1]); $curr_sp < $for_max2; $curr_sp++)

{

$source = str_replace($sp_match[1][$curr_sp],\’%%%SMARTYSP\’.$curr_sp.\’%%%\’,$source);

}

for ($curr_sp = 0, $for_max2 = count($sp_match[1]); $curr_sp < $for_max2; $curr_sp++)

{

$source= str_replace(\’%%%SMARTYSP\’.$curr_sp.\’%%%\’, \'<?php echo \\\’\’.str_replace(\”\’\”, \”\\\’\”, $sp_match[1]&n...

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值