gpt4 book ai didi

php - 保护目录中 1000 多个 html 文件,无需全部编辑

转载 作者:行者123 更新时间:2023-11-29 08:21:41 25 4
gpt4 key购买 nike

我正在尝试创建我的网站,以便您必须登录才能查看某些文件。我登录并使用 mySQL 数据库运行,一切工作正常,除了我不想手动编辑所有 1000 多个 html 文件来检查用户是否登录。我尝试过使用 htaccess,但是弹出窗口太丑了,我无法忍受。

现在的问题是,我可以在不手动修改所有文件的情况下对网站上的一堆文件进行密码保护,还是可以使“htaccess 登录表单”看起来不错。谢谢。

最佳答案

您可以将所有 HTML 文件放在 Webroot 之外的目录中,然后通过 URL 重写或传递给单个 PHP 脚本的基本查询字符串变量来引用它们。

例如:

<?php
// Get the file from ?whichfile=(...)
$whichfile = $_GET['whichfile'];

// Put your logic here to verify that the user is logged in / has a valid session ID, etc.
// You should also put some checks on the value that is passed through "whichfile"
// to prevent users from accessing things they shouldn't.

// Edit: example to prevent this:
// $whichfile = "../../../../etc/passwd";

$fname = pathinfo($whichfile, PATHINFO_FILENAME);
$ext = pathinfo($whichfile, PATHINFO_EXTENSION);
$fname .= ($ext ? ".".$ext : "");

if (file_exists("/var/www/folder/out/of/webroot/".$fname)) {
$blob = file_get_contents("/var/www/folder/out/of/webroot/".$fname);
header("Content-Type: text/html; charset=utf-8");
print $blob;
}

关于php - 保护目录中 1000 多个 html 文件,无需全部编辑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19230731/

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