PHP:定义一个常量来阻止直接访问


PHP: Defining a Constant to Prevent Direct Access

我想阻止直接访问我的install.php文件,除非用户已经完成了填写信息和提交表单的步骤。

install/index.php:

define("ACCESS", true);
// HTML form to take to install.php

install/install.php:

if (!defined("ACCESS")) {
    echo "You cannot access this page directly.";
    exit();
} else {
    // Run SQL Queries
    echo "Database installation successful.";
}

显然这行不通。我怎样才能让这个概念发挥作用?

其他问题:这方面的最佳实践是什么?我应该使用常数还是函数?

您可以这样做,但不是让用户直接访问install.php,而是从定义常量的index.php中访问include

通过这种方式,您可以通过让index.php在适当的时候加载脚本来控制他们何时查看该脚本,但由于您检查了定义的常量,他们仍然无法直接访问该脚本。