防止非法调用就是防止别人直接访问 PHP 文件,比如有些文件只是配置文件或者会输出一些内容,当别人直接访问时,就会看到这些内容,所以我们要阻止这种情况发生。
在这里举个例子,加入我有两个 PHP 文件,a.php 和 b.php。我要在 a.php 中引入 b.php,而要阻止用户直接访问 b 文件。
a.php 代码:
<?php
define('TITLE', '她和她的猫博客');
require './b.php';
?>
上面的代码中,第二行使用了 define() 函数来定义一个名为 ‘TITLE’ 的常量,第三行引入了 b.php。
define() 用法:
define('常量的名称', '常量的值');
b.php代码:
<?php
if (defined('TITLE')) {
echo TITLE;
} else {
exit('非法访问!');
}
?>
第二行用了 defined() 函数来判断用户是否定义了 ‘TITLE’ 常量,当从 a.php 中引入 b.php 的时候,也就定义了‘TITLE’常量,defined() 函数返回 true,当用户直接访问 b.php 时,就会返回 false;
注:exit()函数是停止PHP脚本运行,输出括号里面的内容,不再运行后续代码。
这是一篇过去很久的文章,其中的信息可能已经有所发展或是发生改变。