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

阻止通过HTTP直接访问文件,但允许php脚本访问

谷梁星雨
2023-03-14
问题内容

我正在将文件(pdf,doc,flv等)加载到缓冲区中,并通过脚本将其提供给我的用户。我需要我的脚本能够访问文件,但不允许直接访问它。什么是实现这一目标的最佳方法?我应该使用我的权限来做某事还是使用.htaccess锁定目录?


问题答案:

安全的方法是将想要保留的文件放到Web根目录之外,就像Damien建议的那样。之所以可行,是因为Web服务器遵循本地文件系统特权,而不是其自身的特权。

但是,有很多托管公司只允许您访问Web根目录。为了仍然阻止对文件的HTTP请求,请使用阻止所有通信的.htaccess文件将它们自己放置在目录中。例如,

Order deny,allow
Deny from all

您的Web服务器以及您的服务器端语言仍将能够读取它们,因为目录的本地权限允许Web服务器读取和执行文件。



 类似资料:
  • 问题内容: 可以说我有一个纯文本文件,并且我的Web服务器上有一个PHP脚本。 我想做的是防止用户直接键入和查看文本文件,但我仍然希望人们能够加载从文件中读取内容并对其进行处理的文件(可能显示文件的内容) 。 此外,如果可以做到,那么最好的方法是什么? 问题答案: 是的,这很容易做到。 阻止用户访问的主要方法有两种。第一种是将其放置在Web文件夹之外的文件夹中(通常称为或),第二种是使用examp

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

  • 问题内容: 我的网站上有一个说 “ check.php” 的php文件,在提交表单时执行。 说我的网站是 “ myweb.com” ,而php文件在目录“ PHP”中 我想防止直接访问“ check.php”文件的网址,即,如果有人键入网址“ **_myweb.com/PHP/check.php_** ”,则不应执行该php文件,而应返回一条错误消息。 我试图通过在.htaccess中设置规则来阻

  • 问题内容: 我希望有一个网页使用AJAX来访问PHP文件 麻烦的是,我不希望人们能够在浏览器中键入地址来直接访问该PHP文件。 有什么办法可以使只有AJAX请求才能访问该文件? 我可以在PHP文件中检查某些内容来实现此目的吗? 问题答案: 如果您使用jQuery制作XHR,它将设置一个自定义标头。您可以检查并确定如何提供您的回复。 但是,这对于欺骗是微不足道的。过去,我曾用它来决定是渲染整个页面(

  • 问题内容: 我有一个php文件,我将专门将其用作包含文件。因此,当我直接通过输入URL而不是将其包括在内直接访问它时,我想抛出一个错误而不是执行错误。 基本上我需要在php文件中进行如下检查: 是否有捷径可寻? 问题答案: 通用的“您可能会或可能不会完全控制的在Apache服务器上运行的PHP应用程序”情况的最简单方法是将includes放在目录中,并拒绝对.htaccess文件中的该目录的访问。

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