【问题标题】:.htaccess Password protected website requires Password at every page reload on Ipad.htaccess 受密码保护的网站在 Ipad 上重新加载每个页面时都需要密码
【发布时间】:2017-05-16 15:04:00
【问题描述】:

我使用 .htaccess 通过密码保护网站。

如果我在该网站上使用 html5 音频元素,我的 Ipad 在每次重新加载时都需要网站密码,尽管它已保存在浏览器中。

仅在 Ipad 上。没root,都是原装ios。 在 Ipad 上使用 Chrome 和 Safari 进行测试,始终相同。

如果页面上没有音频元素,则不需要密码。

这不会发生在 Android 平板电脑或 Windows 的 Firefox 上。

我可以编写什么程序来防止 Ipad 要求输入密码?

我使用此网站上的以下code

<!DOCTYPE HTML>
<html>
<head>
<title>Audio</title>
</head>
<body>

<script>
function play(){
var audio = document.getElementById("audio");
audio.play();
}
</script>

<input type="button" value="PLAY"  onclick="play()">
<audio id="audio" src="./207.wav"></audio>
</body>
</html>

.htaccess:

AuthType Basic
AuthName name123
AuthUserFile /somepath/.htpasswd
require valid-user
SetEnv no-gzip
ExpiresActive On
ExpiresDefault "access plus 1 seconds"
ExpiresByType text/html "access plus 1 seconds"
AddDefaultCharset UTF-8

【问题讨论】:

  • 我猜您需要提供 .htaccess 文件以进行其他故障排除?
  • 当然,谢谢。

标签: javascript html ios ipad html5-audio


【解决方案1】:

这是一个very old problem。 Safari 浏览器在自动 - redirect with 301-302 http codes 或加载媒体文件时禁用发送身份验证参数。看起来这是一个 sequrity 问题 - Safari 不允许访问文件,自动加载

让我们用服务器日志检查一下(我在页面上添加了一张图片):

GET /t/i.jpg HTTP/1.0" 200 图片加载得很好。

GET /t/207.wav HTTP/1.0" 401 音频未加载,显示提示。

因此,强制显示身份验证提示的是音频文件。有一个workaround,但不够安全。

UPD。以下代码显示了对207.wav 的第一次访问(img 标签)的 200 响应和第二次访问(audio 标签)的 401。

<img src="./207.wav" width=200><br>
<audio id="audio" src="./207.wav"></audio>

217.118.81.250 - ivan [11/Feb/2017:20:32:13 +0300] "GET /t/207.wav HTTP/1.0" 200 ... Safari/602.1"
217.118.81.250 - - [11/Feb/2017:20:32:15 +0300] "GET /t/207.wav HTTP/1.0" 401 ... Safari/602.1"

【讨论】:

  • 你的意思是一般的ios?因为这个问题也发生在 iOS 上的 Chrome 上。
  • 如果您查看User-agent,您会看到类似AppleWebKit/602.1.50 blabla Safari/602.1 即使它是Chrome 或Opera 浏览器。我不知道 iO 中浏览器的内部架构,但看起来它们使用与 Safari 相同的引擎 AppleWebKit
  • Apple 不允许任何人在那里创建自己的浏览器视图,您必须在应用程序中使用 Safari 嵌入式浏览器,因此 Chrome、Opera、Firefox 都必须在 iOS 中使用嵌入式 Safari
  • @MartinBarker 感谢您的意见,也值得声誉,但我只能提供 shukshin.ivan。
  • @shukshin.ivan 谢谢,完全正确,解决方法也有效。由于它只是一个简单的 wav 文件,我想安全问题可以忽略不计。
猜你喜欢
  • 2022-11-23
  • 1970-01-01
  • 2013-03-02
  • 1970-01-01
  • 2021-06-10
  • 1970-01-01
  • 2023-04-02
  • 1970-01-01
  • 2014-05-24
相关资源
最近更新 更多