gpt4 book ai didi

php - PHP include() 的限制

转载 作者:可可西里 更新时间:2023-10-31 23:59:46 26 4
gpt4 key购买 nike

我将一些 XHTML 从 PHP 中分离出来,方法是将 XHTML 放入一个单独的文件中,然后在 PHP 脚本中使用 PHP 的 include() 函数。

这工作得很好,但是,如果用户知道地址,他们仍然可以直接访问 .html 文件。他们真的不能用它做很多事情,但我宁愿它不显示。

我在过去看到一些脚本使用某种形式的引荐来源检查,这是我要添加一些基本(注意我说的是“基本”)限制以防止它被直接访问查看?

谢谢!

澄清:我忘了说我想在 PHP 中执行此操作,因此没有网络服务器配置(将文件移出文档根目录,配置网络服务器以禁止访问等)。我认为这里最合乎逻辑的选择是使用 define() 常量检查,正如我在帖子中概述的那样,这确实是我在其他我忘记的脚本中看到的。我意识到这可能不是最好的解决方案,但考虑到可以访问的 html 文件没有特别的值(value),define() 常量应该足够了。

最佳答案

如果您当前将所有文件(如 index.php)放在 /something/public_html/ 中,您需要将文件移动到 /something/。这样用户就无法访问文件。

/public_html/ 称为您的文档根目录。该文件夹映射到 example.com,网站基本上从那里开始。如果您将文件移动到网站起始位置上方,则没有人可以通过浏览器访问这些文件。

正如 Ignacio 所说,如果打开安全模式,这将不适用于 include

其他方法是在文件顶部放置一些内容

if(!defined("RUNNING_SCRIPT"))
die("No Direct Access Allowed");

然后在你的PHP文件中放置

 define("RUNNING_SCRIPT", true);

如果 RUNNING_SCRIPT 没有定义,这意味着他们正在直接访问它,它会阻止页面加载。这仅在 PHP 在 .html 文件上运行时有效。

您还可以使用 .htaccess 文件来禁止访问该文件夹。

关于php - PHP include() 的限制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2069309/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com