Speaker Rabbit

abbra


CIFS: curious information funneled sometimes


Previous Entry Share Next Entry
mozilla 591707
Speaker Rabbit
abbra
Простой вопрос: допустим, у меня есть некоторый код на javascript. Как этот код может получить текстовое представление самого себя в процессе исполнения?

Усложняем. Код представлен на самом деле в HTTP-редиректе, выполненном вот таким образом:
<html>
   <head>
      <meta HTTP-EQUIV="Refresh" 
               CONTENT="2; URL=javascript:здесь наш код">
   </head>
   <body></body>
</html>


как добиться того, чтобы код прочитал содержимое Refresh (сам себя)?

  • 1
Элементарно:
<html>
   <head>
      <meta HTTP-EQUIV="Refresh" 
               CONTENT="2; URL=javascript:alert(document.getElementsByTagName('meta')[0].content)">
   </head>
   <body></body>
</html>

Запускал? У меня javascript не срабатывает в этом месте.

в Хроме нормально отрабатывает

Чорд, в FF не пашет, не заметил Subject, извиняюсь

ну просто прочитает сам себя по тому же урлу и все. в чем подвох?

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

Если по-простому, то некий локальный (на машине клиента) ресурс хочет получить авторизацию, например, Flickr так, чтобы пользователю не приходилось переключаться между браузером и этим ресурсом вручную. Стандартные методы авторизации для не-веб-приложений у Flickr выполнены в стиле "пусть пользователь сходит на нашу страницу, а потом лично скажет приложению, что он туда сходил", это совсем не устраивает. Схема общая для всех OAuth/OpenID систем, где происходит редирект на предопределенный заранее ресурс.

  • 1
?

Log in

No account? Create an account