允许脚本读取文件但阻止用户直接查看文件

mta*_*med 13 php linux

假设我有一个纯文本文件example.txt,我的Web服务器上有一个PHP脚本readfile.php.

我希望能够做的是阻止用户http://www.example.com/example.txt直接键入和查看文本文件,但我仍然希望人们能够http://www.example.com/readfile.php从文件中加载哪些内容example.txt并对其执行某些操作(可能显示文件的内容) .

此外,如果可以做到这一点,最好的方法是什么?

Pau*_*aul 16

是的,这很容易做到.

阻止用户访问有两种主要方法example.txt.第一种是将它放在web文件夹之外的文件夹中(通常称为wwwpublic_html),第二种是将.htaccess文件放在文件夹中,其中包含example.txt脚本,该脚本完全阻止对文件的访问.该.htaccess会是什么样子

<files "example.txt"> 
deny from all 
</files>
Run Code Online (Sandbox Code Playgroud)

但你可以改变example.txt的东西一样*.txt,如果你想阻止所有.txt文件夹中的文件.

然后,您可以file_get_contents()在您readfile.php的文本文件中使用,或者只是想输出您可以使用的文件readfile


dec*_*eze 8

只需存储您不希望在webroot外部公开访问的文件.

/home
   example.txt
   /www
      readfile.php
Run Code Online (Sandbox Code Playgroud)

如果/home/www/是您的公共webroot文件夹,则无法通过Web服务器访问其上方的任何文件.readfile.php尽管如此,仍然可以完全正常地访问该文件../example.txt.