Apache Server Web目录访问限制

时间:2018-07-29 09:38:17

标签: javascript apache access whitelist

我已经建立了一个Apache服务器,托管一个网站。

例如,在我的网站上,您可以玩在线javascript atari roms。每当您在网站上加载rom时,javascript都会将其临时下载到浏览器缓存中。

例如,如果您编写website.com/roms/atari.zip,则可以下载此rom。我不要这个。

是否有一种方法可以禁止直接访问此文件,但也可以从javascript请求中将访问权限列入白名单?

非常感谢。

1 个答案:

答案 0 :(得分:0)

要求Authorization标头是执行此操作的一种方法。

创建身份验证用户:

/path/to/htpasswd -c /etc/htpasswd/.htpasswd downloaduser

然后您将提供密码。请注意,上面的命令将创建一个新文件,覆盖先前的文件。

您可以在httpd.config中对其进行配置,例如:

<Directory "/var/www/html/roms">
  AuthType Basic
  AuthName "Authentication Required"
  AuthUserFile "/etc/htpasswd/.htpasswd"
  Require valid-user
</Directory>

然后,使用javascript中的XHR请求,

req.setRequestHeader('Authorization','Basic ' + Base64StringOfUserColonPassword);

base64StringOFUserColonPassword是名称的含义,您可以像window.btoa(username + ":" + password))或使用base64命令行命令来获取它。

进一步阅读:

编辑:这里有xampp特定的说明,例如:http://chandanpatra.blogspot.com/2013/08/basic-authentication-with-htpasswd-in.html。这个过程也是我针对xampp概述的。