Проблема с веб-скриншотами, требующими аутентификации - PullRequest
1 голос
/ 17 мая 2009

Я делаю приложение, которое делает скриншот URL-адреса, запрошенного пользователем. Я хочу сделать его максимально прозрачным, когда речь идет о сайтах, требующих ввода имени пользователя и пароля.

Например, если пользователь хочет сделать снимок экрана своей страницы iGoogle, он отправит URL-адрес сервера, но снимок экрана будет отличаться от того, что он видит на своем экране.

Есть ли способ сделать это? Я предполагаю, что в таких случаях мне придется запросить скриншот у пользователя. Возможно, пользователь даже может доставить мне свой файл cookie для этого домена.

Есть мысли?

Ty.

1 Ответ

1 голос
/ 17 мая 2009

Да, в большинстве случаев вам понадобятся куки пользователя.

Если на сайте используются обычные файлы cookie, вы можете создать букмарклет с надписью document.cookie. Это не будет работать с httpOnly файлами cookie, которые все чаще используются для сеансов.

Некоторые сайты ограничивают сеансы определенным IP-адресом, и в этом случае вы не можете сделать снимок экрана без прокси-запроса на компьютере пользователя.

Если вы можете заставить пользователя использовать букмарлет, интересным трюком будет чтение и отправка DOM на ваш сервер:

image.src = 'http://example.com?source=' +
            escape(document.documentElement.innerHTML);

Для HTTP-аутентификации самым простым решением будет запросить у пользователя логин / пароль.

...