博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ecshop新版不能在模板文件.dwt和.lbi中直接添加php代码的解决方法
阅读量:6932 次
发布时间:2019-06-27

本文共 921 字,大约阅读时间需要 3 分钟。

ecshop新版不能在模板文件.dwt和.lbi中直接添加php代码了,为什么呢?

因为直接在模板中加入php函数和代码,没有经过过滤,容易造成安全隐患。程序源码安全是非常重要的。
不过如果有朋友希望能在模板文件中直接加入php代码,怎么办呢?
其实,只需要改动一个文件,即includes/cls_template.php
打开此文件,找到函数 function fetch_str($source)
在此函数中找到,大概在288行

if(preg_match_all('~(<\?(?:\w+|=)?|\?>|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.'%%%', '
'."\n", $source); } }

        

直接把这一段代码删除或注释。
登录一下后台更新缓存,你再在模板文件中插入php代码试试。

 

转载于:https://www.cnblogs.com/afish/p/3927292.html

你可能感兴趣的文章
2018跟着小虎玩着去软考--信息系统项目管理师小虎视频讲解----考友评论
查看>>
RMAN与EXP/IMP区别
查看>>
如何从零开始用Keras开发一个机器翻译系统
查看>>
监控服务器的开源软件网址整理
查看>>
1.[Think in Java笔记]自动包装器和装箱
查看>>
感谢折磨你的人[一]
查看>>
基于RHEL5的源码编译搭建LNMP架构
查看>>
Exchange 2003 迁移至 Exchange 2010 完全攻略(一)
查看>>
用联系的观点看问题——有感DataGridView多选删除问题的解决
查看>>
监控软件cacti添加主机
查看>>
LINUX 常见问题1000个详细解答
查看>>
清理可能废弃的AD用户和计算机账户
查看>>
Maven2整合集成Myeclipse开发环境
查看>>
秋色园QBlog技术原理解析:独创的多语言翻译机制(九)
查看>>
MySQL 5.7在RHEL/CentOS上的安装
查看>>
mysql AB复制搭建以及常见故障排查
查看>>
我对数据库范式的理解
查看>>
IPSEC 、GRE、PIX
查看>>
linux环境开发私房菜
查看>>
iptable和netfilter
查看>>