当前位置: 首页 > 面试题库 >

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

洪飞鸿
2023-03-14
问题内容

可以说我有一个纯文本文件,example.txt并且我的Web服务器上有一个PHP脚本readfile.php

我想做的是防止用户http://www.example.com/example.txt直接键入和查看文本文件,但我仍然希望人们能够加载http://www.example.com/readfile.php从文件中读取example.txt内容并对其进行处理的文件(可能显示文件的内容)

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


问题答案:

是的,这很容易做到。

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

<files "example.txt"> 
deny from all 
</files>

但是,如果您想阻止文件夹中的所有文件,则可以更改example.txt为类似内容。*.txt``.txt

然后你可以使用file_get_contents()readfile.php来获取文本文件的内容,或者如果你只是要输出的文件,你可以使用readfile



 类似资料:
  • 问题内容: 我正在将文件(pdf,doc,flv等)加载到缓冲区中,并通过脚本将其提供给我的用户。我需要我的脚本能够访问文件,但不允许直接访问它。什么是实现这一目标的最佳方法?我应该使用我的权限来做某事还是使用.htaccess锁定目录? 问题答案: 最安全的方法是将想要保留的文件放到Web根目录之外,就像Damien建议的那样。之所以可行,是因为Web服务器遵循本地文件系统特权,而不是其自身的特

  • 问题内容: 我有一个网站,用户应该可以登录并听一首歌(自己创建的mp3)。我要这样做,以便登录的用户可以侦听/下载/无论如何,并且该文件应驻留在服务器上(而不是存储在MySQL数据库中),但不能被具有该路径的非用户访问URL。 例如:说我的mp3位于mysite.com/members/song.mp3。如果您已登录,则应该能够看到mysite.com/members/index.php页面,该页

  • 问题内容: 我正在尝试从在线文本文件中读取一些单词。 我试图做这样的事情 但它没有用,我正在 作为输出,我只想知道所有的话。 我知道他们是在那天教给我的,但是我现在不记得确切怎么做,非常感谢您的帮助。 问题答案: 使用代替来访问不在本地计算机上的任何访问。 实际上,URL甚至在一般情况下甚至对于本地访问(使用URL),jar文件以及可以以某种方式检索的所有内容都非常有用。 上面的方法以您的平台默认

  • 我有一个简单的要求:在我的npm脚本包中。json文件我有一行: 现在我想把“域”分解出来。 首先尝试使用,它有效: 但我想从本地加载域。env文件。 我没有找到任何解决方案来读取命令行上npm脚本中的env文件内容。 谁能给我一个可能解决这个问题的提示吗?

  • 问题内容: 我的情况是我有一个包含一些文件(txt,png,…)的zip文件,我想直接按它们的名称读取它,我已经测试了以下代码,但没有结果(NullPointerExcepion): resources 是一个包, zipfile 是一个zip文件。 问题答案: 如果您可以确定您的zip文件永远不会打包在另一个jar中,则可以使用以下方法: 要么: 否则,您的选择是: 使用ZipInputStre

  • 问题内容: 我使用Minify来缩小并缓存所有脚本请求。 我只希望我的用户能够访问JavaScript文件的缩小版本。 Minify位于,我的脚本位于。如何阻止直接访问未缩小的JavaScript文件所在的位置。我宁愿不要将它们从文档根目录中删除,但这是一个选择。 请注意,我使用的是Zend Framework,因此应用程序的实际根目录已移至。htaccess文件可处理重写。 问题答案: 您不能仅