Авторизация на сайте. Передача логина и пароля в URL
Сразу уточню, что речь идет о домашнем сайте автоматизации "Умный дом" в локальной сети дома, и кражи открыто переданного пароля тут не уместны. На странице вставляю видео с камеры по средствам тега img
<img src="http://admin:@10.10.10.10:9999/cameras/0/video">
Это работало на старой версии Хром. После обновления хром отключил поддержку такого способа авторизации. В результате старые устройства показывают видео, а новые вообще не понимают URL.
Вариант
<img src="http://10.10.10.10:9999/cameras/0/video">
работает везде, но только после заполнения полей авторизации. Редактировать код источника я не могу. Это IP камеры и видео регистраторы. Способа передать логин в параметрах после адреса вида ...?login="zzz"&password="xxx" для этих устройств я не нашел. Сайт умного дома работает на Апачи + php.
Ответы (1 шт):
Рекомендую использовать ответ с англоязычного SO:
var xhr = new XMLHttpRequest();
xhr.responseType = 'blob'; //so you can access the response like a normal URL
xhr.onreadystatechange = function () {
if (xhr.readyState == XMLHttpRequest.DONE && xhr.status == 200) {
var img = document.createElement('img');
img.src = URL.createObjectURL(xhr.response); //create <img> with src set to the blob
document.body.appendChild(img);
}
};
xhr.open('GET', 'http://images.example.com/my_secure_image.png', true);
xhr.setRequestHeader('SecretPassword', 'password123');
xhr.send();