防止非法调用就是防止别人直接访问 PHP 文件,比如有些文件只是配置文件或者会输出一些内容,当别人直接访问时,就会看到这些内容,所以我们要阻止这种情况发生。

在这里举个例子,加入我有两个 PHP 文件,a.php 和 b.php。我要在 a.php 中引入 b.php,而要阻止用户直接访问 b 文件。

a.php 代码:

1
2
3
4
<?php
define('HXH', '何湘辉博客')
require './b.php';
?>

上面的代码中,第二行使用了 define() 函数来定义一个名为 ‘HXH’ 的常量,第三行引入了 b.php。

define() 用法:

1
define(‘常量的名称’, ‘常量的值’);

b.php代码:

1
2
3
4
5
6
7
<?php
if (defined('HXH')) {
echo HXH;
} else {
exit('非法访问!');
}
?>

第二行用了 defined() 函数来判断用户是否定义了 ‘HXH’ 常量,当从 a.php 中引入 b.php 的时候,也就定义了‘HXH’常量,defined() 函数返回 true,当用户直接访问 b.php 时,就会返回 false;

注:exit()函数是停止PHP脚本运行,输出括号里面的内容,不再运行后续代码。

这是一篇过去很久的文章,其中的信息可能已经有所发展或是发生改变。