html - 无法从 html apache2 中受密码保护的目录访问另一个文件?

标签 html apache

在 Apache2 中,我创建了一个经过身份验证的文件夹,在我的配置文件中使用以下条目正确创建:

<Directory "/var/www/html/private">
     AuthType Basic
     AuthName "Restricted Content"
     AuthUserFile /etc/apache2/.htpasswd
     Require valid-user
</Directory>
目前,当我尝试通过 Web 浏览器导航到我知道位于该 protected 文件夹中的文件时,我会收到输入用户名和密码的提示,这正是我想要发生的。但是,当我访问我网站上的任何 HTML 文件(例如直接位于我的 HTML 文件夹或另一个目录中的一个)时,它引用了该私有(private)文件夹中包含的 javascript,它还会提示我输入用户名和密码,这不是我想要的是。我怎样才能解决这个问题?

最佳答案

我已经更新了我的答案,因为通过基本身份验证这真的不可能。
基本身份验证通常用于 HTML 文件等正面页面,不适用于外部 Assets 。
为了解决外部 Assets 文件夹,您需要使用您选择的编程语言(如 Python、PHP 或 NodeJS)执行类似操作。

  • 要求用户登录,他们可以选择登录或拒绝登录。
  • 如果用户已登录,请根据您使用的后端语言检查登录 token 。如果登录 token 有效,则返回 JS 文件。例如:

  • 假设我们请求/my/js-file.js;我们可以用这个名字创建一个 URL,而不是公开暴露 JS 文件本身。如果用户已登录,则通过该 URL 返回 JS 文件内容。如果不是,则返回“无效 token ”而不是 JS 文件内容。
    Stackoverflow 上有许多 Assets 可以帮助您创建它。搜索“如何通过身份验证保护 JS 文件”。

    关于html - 无法从 html apache2 中受密码保护的目录访问另一个文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63802979/

    相关文章:

    html - 验证 "div."和 "."

    java - Apache Mahout K-means 集群实现

    apache - 重写动态 URL

    linux - apache 服务器关闭后生成警报

    php - 如何限制 HTML 中的列数

    javascript - 段落选择器内的标题不起作用

    html - 什么是更好的方法,float 或 display-inline?

    linux - Apache Pig 进程在 Putty session 超时后被终止

    php - 根目录下的 Laravel htaccess

    javascript - 表格行显示按钮