javascript - Apache Server Web 目录访问限制
问题描述
我已经建立了一个 apache 服务器,托管了一个网站。
例如,在我的网站中,您可以玩在线 javascript atari roms。每当您在网站中加载 rom 时,javascript 都会将其临时下载到您的浏览器缓存中。
例如,如果您编写 website.com/roms/atari.zip,您可以下载此 rom。我不想要这个。
有没有办法禁止直接访问此文件,但也可以从 javascript 请求中将访问列入白名单?
非常感谢您。
解决方案
要求授权标头是执行此操作的一种方法。
创建认证用户:
/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 概述的一样。
推荐阅读
- html - 如何抓取不显示其数据的网页?
- java - 如何在 CollapsingToolbar 中添加过渡文本
- c# - 在 https://olb2c.b2clogin.com/olb2c.onmicrosoft.com/b2c_1_si_olp/v2.0/.well-known/openid-configuration 访问 XMLHttpRequest 时出现错误 404
- wordpress - 如何将活动的 CSS 类添加到当前页面但不用于书签菜单项
- reactjs - 使用 TS 在 RN 中设置类型
- excel - 在 VBA 中使用 selenium chrome webdriver 从本地 HTML 文件中获取 HTML
- r - 如何将所有值转换为十亿数据框?
- php - 如何使用php将文件上传到谷歌云存储桶中的子文件夹
- c++ - 在单词搜索中获取 TLE
- sql - SQL Server:如何根据查询返回的列更新表?