ECshop中defined('IN_ECS')的实现原理

在PHP中经常看到如下代码 if (!defined(IN_ECS)) { die(Hacking attempt); } 实现的原因以及原理如下: ecshop里的有些.php页是不需要用户通过url直接访问的,用来被其它页调用的,例如/includes/init.php,就不需要直接访问,通过url访问你的网址/includes/
在PHP中经常看到如下代码
 
if (!defined('IN_ECS'))  
{  
    die('Hacking attempt');  
}  
实现的原因以及原理如下:
    ecshop里的有些.php页是不需要用户通过url直接访问的,用来被其它页调用的,例如/includes/init.php,就不需要直接访问,通过url访问你的网址/includes/init.php是无意义的,所以我们在可以直接方问的php里加上define('IN_ECS', true);
例如在index.php中有如下代码,一开头就设置IN_ECS的值为true然后才去加载init.php这样init.php文件中IN_ECS的值就为true,这时候引入cls_mysql.php也可以引入,因为此时IN_ECS的值也是为true
 
define('IN_ECS', true);  
  
require(dirname(__FILE__) . '/includes/init.php');  
在页面直接访问
 
出现这样的结果
 
在不能直接访问的php里加上
if (!defined('IN_ECS'))
{
    die('Hacking attempt');
}
这样当直接访问init.php里就会显不
Hacking attempt
 
从页起到禁止访问的目的,而其它页面在调用init.php时是正常的
这样做更安全
这也是一种设计思想,防止其它文件不正常调用或者防止前台直接访问文件。

 
本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

这里所说的留言板页面,是指独立的ecshop那个留言板栏目(message.php),而不是指商品详情页面底部的用户评论区,通过这个方法,用户可以引用商品的信息,进行商品的讨论和留言。那么在这里留言板里如何才能将商品的缩略图显示出来呢,现在来说一说具体的方
做 ecshop模版 网站的时候,测试数据,发现点击订购、加入按钮都没反应,网上搜索,有些人说是修改了common.js,我将原始版本复原也没反映。后来重新安装ecshop,仔细研究发现,原来头部文件page_header.lbi被完全修改后,就点击没反应。 javascript:addToCa
ecshop 最高管理员登陆后台设置一个商品对应每个会员的价格,比如 普通vip 会员为 100元,黄金VIP为 80 元,没有登陆的普通会员则为 110元等,当每个等级会员登陆之后会显示自己所对应的价格,这样的修改对于用户体验很好,也是电商中不可缺少的一个功能,下
AB 模板王 为您整理,在Ecshop商品列表页显示每个商品的品牌的修改方法 1、首先修改 category.php 文件 将 $sql = SELECT g.goods_id, g.goods_name, g.goods_name_style, g.market_price, g.is_new, g.is_best, g.is_hot, g.shop_price AS org_price, . 修
ecshop 默认的是不支持免登录就可以进行购物的,但免登录进行购物又是一个需求,刚建立起来的独立商城并没有京东或淘宝哪么高大上,一些消费者并不愿意去注意一个 小的独立商城网店,所以有时候为了省时间就直接进行免登录购物了,这个在 ecshop 后台是可以
ecshop有一个商品的比较功能,在你点击商品旁边的比较链接就可以把商品加入到比较的框架中,很多时候,我们都需要对比较页面的样式进行修改,一是我们的页面更美观。 关于修改比较页面样式的方法: 比较页面的样式没有在在css中,而是在compare.js这个更目录