代码之家  ›  专栏  ›  技术社区  ›  Mike

perl:get.htaccess当前文件夹的状态

  •  1
  • Mike  · 技术社区  · 16 年前

    我开发了一种服务器浏览器作为我们的Web应用程序的模块,它实际上工作得很好。我正在做一些改进,有一个问题我真的不知道如何解决。

    资源管理器主要用于从指定的文件夹和子文件夹中选择图片。由于一些学校关心的是在学校之外分发图片,我们给了他们一个选项,如果他们愿意,可以使用.htaccess(实际上是通过web界面,反过来设置.htaccess)保护图片。

    当我试图访问受.htaccess保护的文件夹时,系统会提示我该文件夹中每张图片的密码。值得一提的是,老师们往往会在每一个重大事件上拍摄100多张图片,并且喜欢将其塞进一个文件夹中,因此浏览器打开100多个对话框并不罕见。

    我们在后端运行Perl,所以我认为在将内容交付到jquery之前,可以检查给定的文件夹是否受保护。问题是,图像也可以由父文件夹中的.htaccess进行保护。

    在分发图片之前,是否有任何安全的方法来检查外部人员是否可以访问这些图片(或文件,以保持其通用性并打开以供其他用途)?

    编辑-添加的.htaccess文件
    ##Olefa认证开始##
    AuthType基本
    authname“192.168.1.120/资源/图像/访问测试”
    authuserfile/home/mike/workspace/olefa//resources/images/accesstest/.htpasswd
    需要有效用户
    ##Olefa认证结束##

    2 回复  |  直到 16 年前
        1
  •  1
  •   chaos    16 年前

    您可能希望探索的一个选项是在每个目录中存储一个非图像占位符文件,并在图像之前检索该文件。如果检索失败,则不执行图像拉取,并将其解释为目录对该用户是安全的。这样,您只会弹出一个单独的密码对话框,如果它们有一个有效的用户名和密码,浏览器将记住它进行图像检索。

        2
  •  0
  •   brian d foy    16 年前

    听起来,您可能正在为一个有缺陷的设计或流程构建一层又一层的修复IT代码。

    如果您从同一目录中获取每个图像的用户名密码对话框,我最初怀疑:

    1. htaccess配置有误。你能给我们看看你有什么吗?
    2. 用户代理没有发送授权头。查看HTTP请求以验证您是否看到授权头。还要查看响应状态。是401还是403?

    如果您试图以不同的路径访问资源,是否对每个文件夹使用不同的领域?凭证仅适用于提出挑战的领域。如果你进入另一个领域,你必须重新开始。你如何在你的htaccess中指定它?

    其他一些可以帮助我们的事情:

    • 您使用哪种身份验证?基础的,消化的,还有别的吗?
    • 您是否使用自定义授权处理程序?
    推荐文章