【发布时间】:2013-02-26 00:45:39
【问题描述】:
我整天都在为此煎熬。研究 SO,直到我的眼睛变得模糊......我需要知道:如何访问放置在站点根目录之外的文件?
背景:运行 Linux 的 Apache 2.0 专用服务器。
代码:PHP 和 MySQL
原因:我希望保护文件不会在浏览器中输入文件路径和文件名。
这不会那么难……但我的分裂脑袋却说不然。任何帮助将不胜感激。
【问题讨论】:
-
您的问题将受益于一些澄清。你说过你正在使用 LAMP;您是否尝试从 Apache 或 PHP 代码 访问这些文件?如果是后者(这似乎最有可能),那么 那个 代码是否在站点根目录内?
-
如果是php文件访问另一个php文件(如索引文件加载应用文件),可以指定相对路径或绝对路径,也可以将应用文件夹添加到php的path环境中。不过,这会减慢其他事情的速度。
-
我在这里可能错了..但是如果您按照提供的某些链接中的建议使用别名,我相当确定您仍然会遇到同样的问题,即人们能够输入 URL in. 使用 .htaccess 您可以阻止除了来自您自己的页面显示图像的请求之外的任何事情(以任何其他方式提供的图像将导致 403 错误)-corz.org/serv/tricks/htaccess.php;您还可以使用 PHP 脚本来提供文件。然后可以使用 PHP 来确定如何处理下载请求,这也意味着 img src 不仅仅是平面 *.jpg 链接
-
@pjmorse 我想从站点根目录中使用 PHP 访问文件,是的。我为没有澄清而道歉,但经过一天毫无结果的搜索和实验,我的大脑被击中了。
-
必须有一种方法可以保护文件夹中的文件不被浏览器直接下载。否则,实习生上的每个支付网站都将倒闭。