2017-01-02 8 views
5

Używam .htaccess do ochrony strony internetowej za pomocą hasła..htaccess Witryna chroniona hasłem wymaga hasła przy każdej przeładowaniu strony na Ipad

Jeśli używam elementów audio html5 na tej stronie, mój Ipad wymaga hasła do strony internetowej przy każdym ponownym załadowaniu, chociaż jest zapisane w przeglądarce.

Tylko na iPadzie. Nie zakorzenione, wszystkie oryginalne ios. Testowany z Chrome i Safari na iPadzie, zawsze taki sam.

Jeśli na stronie nie ma elementu audio, hasło nie jest wymagane.

Nie dotyczy to tabletu z systemem Android ani przeglądarki Firefox w systemie Windows.

Co mogę zaprogramować, aby iPada nie pytał o hasło?

Korzystam z następującej strony internetowej: 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 
+0

Domyślam się, że musisz dostarczyć plik .htaccess dla innych problemów? – cytsunny

+0

Oczywiście, dzięki. – Roman

Odpowiedz

3

Jest very old problem. Przeglądarka Safari wyłącza wysyłanie uwierzytelnień podczas robienia czegoś automatycznie lub ładowanie pliku multimedialnego. Wygląda na to, że jest to problem z sequrity - Safari nie zezwala na dostęp do pliku, automatycznie ładując .

Sprawdźmy je z logów serwera (dodałem zdjęcie do strony):

GET /t/i.jpg HTTP/1.0" 200 obrazy są ładowane świetnie.

Dźwięk nie jest załadowany, wyświetlany jest monit.

Jest to plik audio, który wymusza wyświetlanie monitu auth. Jest workaround, ale nie jest wystarczająco bezpieczny.

UPD. Poniższy kod przedstawia odpowiedź 200 dla pierwszego dostępu (img) do 207.wav i 401 dla drugiego (audio).

<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" 
+0

Masz na myśli ios w ogóle? Ten problem występuje również w Chrome na ios. – Roman

+1

Jeśli spojrzysz na 'User-agent', zobaczysz coś w stylu' AppleWebKit/602.1.50 blabla Safari/602.1' *, nawet jeśli jest to przeglądarka Chrome lub Opera *. Nie jestem świadomy wewnętrznej architektury przeglądarek w iOs, ale wygląda na to, że używają tego samego silnika 'AppleWebKit' jak Safari. –

+2

Apple nie zezwala na tworzenie własnych przeglądarek Przeglądarka musi mieć wbudowaną przeglądarkę Safari, więc Chrome, Opera, Firefox muszą korzystać z wbudowanej przeglądarki Safari w systemie iOS. –

Powiązane problemy