【问题标题】:Protect files with .htaccess from the outside, while still allowing internal access使用 .htaccess 从外部保护文件,同时仍允许内部访问
【发布时间】: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


【解决方案1】:

2 个想法:

您的程序可以传递用户名和密码,如下所示:

http://username:password@example.com/some_resource

或者,如果您知道要允许的计算机的 IP 地址,则可以拒绝所有计算机并允许来自特定 IP。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-25
    • 2021-06-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多