【发布时间】:2012-07-02 11:20:26
【问题描述】:
我创建了一个用 PHP 处理的登录页面,然后您可以输入一个 itemID 并拉出一张图片。
目录结构如下:Webroot > (cgi-bin - css - error - images - secure - index.html)
(括号中的在同一目录中)。 cgi-bin 有包含文件,css 有用于网站的 css 文件。在出现 401、402、404、500 错误等的情况下,error 有要使用 .htaccess 重定向的文件。安全文件夹中的文件可在提供内容之前验证用户是否已登录。而索引是登录页面。
我很难找到有关如何保护我的敏感信息免受外部(盗链、直接 URL 等)的信息,同时仍然允许我的程序使用它。
程序编写完成,运行良好,但我可以输入图像或 cgi 脚本的直接 URL 并查看其内容。我尝试使用 .htaccess "deny from all",但这也拒绝了我的内部程序的访问。
如何阻止对文件的外部访问,但仍允许我的 php 脚本/表单检索数据。
感谢您的时间和帮助。
【问题讨论】:
-
"deny from all" 就是你所需要的
-
当我使用“全部拒绝”时,我的程序给了我一个损坏的图像链接,当我在另一个选项卡(只是图像)中显示它时,我被重定向到我的禁止错误页面。
-
那么你对“内部程序”的定义与我的不一样,我的 php 仍然可以访问每个页面,但网络浏览器不能,所以如果你链接到这些文件以获取图像,这将不起作用。您应该在 Web 根目录之外的自己的目录中拥有“敏感”数据
-
我的错误,你是对的,我将 .htaccess 更改为包含“全部拒绝”并使用会话变量来保存图像的文件路径,然后使用 ,其中image.php设置文件头为image/png,读取文件。
标签: php image security .htaccess web