这个问题可能听起来很愚蠢,确实很愚蠢
我的服务器上有一些文件:
index.html, file.txt
如何阻止用户打开file.txt并将其作为其URL输入:
website.domain/file.txt
?这可能很容易,或者我是否需要制作一些特殊的文件夹或其他黑魔法?感谢
答案 0 :(得分:1)
简单的解决方案是将文件存储在公用文件夹之外。 (在你的情况下是public = htdocs)
例如:
├── protected.txt
├── public
│ ├── index.html
│ ├── exec.php
然后在您的exec.php
中,您可以使用以下命令访问该文件:
echo file_get_contents(__DIR__ . "/../protected.txt");
(方法#2)
由于您在评论中提到您正在使用XAMPP,这意味着您在Apache上运行服务器,我可以使用htaccess向您展示不同的方法。
├── public
│ ├── index.html
│ ├── exec.php
│ ├── protected
│ │ ├── .htaccess
│ │ ├── protected.txt
然后在你写的.htaccess
中:
deny from all
这将使protected
文件夹中的每个文件都无法通过HTTP访问。
您的exec.php
文件将如下所示:
echo file_get_contents(__DIR__ . "/protected/protected.txt");
答案 1 :(得分:0)
您不应将它们留在Web服务器上可公开访问的位置。
您可以限制对.htaccess文件中单个文件或文件组的访问。 This thread有几种方法可以做到。
答案 2 :(得分:0)
有几种不同的方法可以通过会话或用户权限来执行此操作,或者根据用户是否以登录方式执行此操作。
审核此类内容可能会帮助您开始使用
https://www.wmtips.com/php/simple-ways-restrict-access-webpages-using.htm
答案 3 :(得分:0)
将文件的权限设置为0 0 0.这样您只能通过管理面板打开文件。
答案 4 :(得分:0)
在index.php所在的位置创建一个.htaccess文件并写下
<Files *.txt>
Deny from all
</Files>