php中禁止非法调用和硬路径引入文件的方法

本文介绍如何在PHP中防止公共文件被非法调用,并使用硬路径引入文件以提高效率。通过定义常量和使用特定函数实现这些目标。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

php中禁止非法调用和硬路径引入文件的方法

在php中有一些公共的文件为了方便,我们会做一个公共文件,让不用的文件共同调用。为了禁止公共文件被非常单独调用,
可以在文件上做一个常量,禁止非常调用:
在公共文件上定义一个常量如下

 define('custom_string',true);

在要调用的文件里也加上一个判断来调用公共文件:

     if (!defined('custom_string')) {
            exit('非法调用');
        }

一般地,要调用文件可以用include,include_once,require, require_once去调用了,但是从速度角度考虑,可以用硬路径去引入文件。
在php中用魔法常量__FILE__可以获取文件的路径    ,用dirname(__FILE__);可以得到根目录地址,
如引入header.php文件,可以用下面的方法引入:

require dirname(__FILE__).'/filename.php';

但是有时候经常调用这个dirnam可能会不方便,可以把空上路径转化为一个常量,方便去调用。

php里的substr()函数可以截取出文件的根目录。可以这么把这个路径定义成一个常量:

define('SITE_PATH',substr(dirname(__FILE__),0,-n));

用负数可以让文件截取的时候从后面开始截取,n为公共文件存放的路径字符数量。比如公共文件存放相对路径为abc/includes/filename.php,则n的abc/includes的字符长度数:12。定义为常量之后可以直接用常量去引入路径:

require SITE_PATH.'filename.php';

转载于:https://www.cnblogs.com/xs-yqz/p/4335832.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值