我想确保人们不能在URL中键入PHP脚本的名称并运行它.这样做的最佳方法是什么?
我可以在文件中设置一个包含此文件的变量,然后在包含的文件中检查该变量,但有更简单的方法吗?
nic*_*ckf 12
在我讨论的一些开源应用程序中,包括Joomla和PHPBB,它们在main包含文件中声明了一个常量,然后验证每个包含中是否存在常量:
// index.php
require_once 'includes.php';
// includes.php
define('IN_MY_PROJECT', true);
include 'myInc.php';
// myInc.php
defined('IN_MY_PROJECT') || die("No direct access, plsktnxbai");
Run Code Online (Sandbox Code Playgroud)
您可以检查URI并查看是否使用`调用该文件
$_SERVER['SCRIPT_FILENAME']
Run Code Online (Sandbox Code Playgroud)
或者你可以将文件移到公共文件夹之外,这是一个更好的解决方案.