2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




Начать новую тему Ответить на тему
 
 Как открыть blob: ?
Сообщение15.06.2017, 04:06 


29/10/13
43
Похоже, это с подачи гугла, решившего осчастливить web новой технологией, теперь в коде страниц наблюдается такое явление типа blob, скрывающее от просмотра код того зачастую сомнительного содержимого, которое находится в нем. Что, например, используется отмороженными рекламщиками для залива реклам по всей странице на некоторых сайтах.
Существуют ли способы чтения сторонними скриптами содержимого blob-ов?

 Профиль  
                  
 
 Re: Как открыть blob: ?
Сообщение15.06.2017, 04:20 
Заслуженный участник
Аватара пользователя


31/01/14
11018
Hogtown
Самое прostoe в html5 (никакого jafaskripta)
Используется синтаксис HTML
<details><summary>Введение</summary>
Бла-бла-бла-бла-бла-бла-бла-бла-бла-бла-бла-бла-бла-бла-бла-бла-бла-бла-бла-
бла-бла-бла-бла-бла-бла-бла-бла-бла-бла-бла-бла-бла-бла-бла-бла-бла-бла-бла-
бла-бла-бла-бла-бла-бла-бла-бла-бла-бла-бла-бла-бла-бла-бла-бла-бла-бла-бла-
</details>

 Профиль  
                  
 
 Re: Как открыть blob: ?
Сообщение15.06.2017, 18:06 


15/11/15
916
Red_Herring в сообщении #1225562 писал(а):
Самое прostoe в html5 (никакого jafaskripta)

Вы уже второй раз оффтопите про свой summary. Это прикол такой? :D Тем более странно, что вы достаточно щепетильно относитесь к соотнесенности сообщения топику других юзеров.

 Профиль  
                  
 
 Re: Как открыть blob: ?
Сообщение15.06.2017, 18:33 
Заслуженный участник
Аватара пользователя


31/01/14
11018
Hogtown
gevaraweb
Я привел пример создания блоба и не считаю, что это был offtop. Если вы так считаете то нажмите красную кнопочку

 Профиль  
                  
 
 Re: Как открыть blob: ?
Сообщение15.06.2017, 18:46 
Модератор


19/10/15
1196
Red_Herring в сообщении #1225781 писал(а):
Я привел пример создания блоба и не считаю, что это был offtop. Если вы так считаете то нажмите красную кнопочку
Это не блоб вообще ни в каком смысле. Блоб - это бинарный объект, в данном контексте, очевидно, имеется в виду Blob из HTML5 File API. Красной кнопочки не было, но действительно, воздержитесь от оффтопа.

SmZZ в сообщении #1225559 писал(а):
Существуют ли способы чтения сторонними скриптами содержимого blob-ов?
А в каком виде у Вас блоб? Если есть javascript-объект, то его можно прочитать с помощью FileReader. Если есть blob URL типа blob:https://example.org/12345678-1234-5678-9876-543212345678, то его можно использовать в ajax запросе и получить данные, надо только все делать из контекста страницы.

 Профиль  
                  
 
 Re: Как открыть blob: ?
Сообщение15.06.2017, 19:01 
Заслуженный участник


27/04/09
28128
Был совершенно не в теме, но и то нашёл немного ответов на SO:
https://stackoverflow.com/questions/30864573/what-is-a-blob-url-and-why-it-is-used
https://stackoverflow.com/questions/14952052/convert-blob-url-to-normal-url
некоторой полезности.

(Оффтоп)

SmZZ в сообщении #1225559 писал(а):
Похоже, это с подачи гугла, решившего осчастливить web новой технологией
Давайте не смешивать вопрос со всякой ерундой, к тому же, не относящейся к существу вопроса (и то, что вы топикстартер, ничего не делает :mrgreen:). Если глянуть URL.createObjectURL на MDN и перейти оттуда по ссылке в разделе Specifications, можно видеть, что редакторы черновика — по человеку из Google и из Mozilla. Редакторы, не более и не менее. В любом случае цель поиска того, на кого повесить собак, сомнительна.

 Профиль  
                  
 
 Re: Как открыть blob: ?
Сообщение17.06.2017, 00:45 


29/10/13
43
Karan
Karan в сообщении #1225786 писал(а):
Если есть blob URL типа blob:https://example.org/12345678-1234-5678-9876-543212345678, то его можно использовать в ajax запросе и получить данные, надо только все делать из контекста страницы.
Да, этот всё более массово распространяющийся случай, когда какие-либо параметры в присылаемом серверами исходном коде страницы завернуты в нечитаемую форму с блоб-идентификатором.
На пробу, в целях обеспечения нужного контекста, использовал следующий код для проверки якобы существующей возможности чтения блоб данных через запрос:
код: [ скачать ] [ спрятать ]
Используется синтаксис Javascript
var head=wnd.document.getElementsByTagName('head')[0]||wnd.document.documentElement;//Определяем элемент, куда будем вставлять элемент 'script'
var script1=wnd.document.createElement('SCRIPT');//определяем элемент 'script'
script1.innerHTML="\
alert('Probe: '+window.location.href);\
var xhr = new XMLHttpRequest();\
xhr.responseType = 'blob';\
xhr.open('GET', document.getElementsByTagName('video')[0].src);\
xhr.onload = function() {\
   var recoveredBlob = xhr.response;\
   var reader = new FileReader;\
   reader.onload = function() {\
     var blobAsDataUrl = reader.result;\
     alert('blobAsDataUrl='+blobAsDataUrl);\
   };\
   reader.readAsDataURL(recoveredBlob);\
};\
xhr.send();\
"
;
script1.type="text/javascript";//определяем элемент 'script'
head.insertBefore(script1,head.firstChild);//Вставляем элемент 'script' в тело страницы и браузер его исполняет
 

Ну и в результате в консоли имеем NetworkError: A network error occurred. и запрос не производится. То ли не понимает протокола "blob:", то ли из-за кроссдоменных ограничений безопасности: другой протокол = другой домен, но тогда бы ругалось типа "security restriction", так что скорее первое. Хотя вариант со вставкой скрипта в тело страницы куда уж контекстнее?
А если выкинуть "blob:" из адреса, заменив xhr.open('GET', document.getElementsByTagName('video')[0].src);\ на
xhr.open('GET', document.getElementsByTagName('video')[0].src.replace('blob:',''));\
Тогда запрос нормально едет, но не в блоб, а на адрес http://site.com/blob-иден-ти-фи-ка-тор
И приезжает, что там обычно сайты по таким адресам отдают - код страницы 404 и т.п. (тут в алерте этот код страницы оказывается кодирован в base64)

arseniiv в сообщении #1225790 писал(а):
Был совершенно не в теме, но и то нашёл немного ответов на SO:
https://stackoverflow.com/questions/308 ... it-is-used
https://stackoverflow.com/questions/149 ... normal-url
некоторой полезности.
Ну полезность их явно недостаточна, так что есть другой вариант - что подобные "ответы" могут разбрасываться для создания ложной видимости, что blob-данные являются доступными к просмотру того, что там в них с интернета на компьютер прилетает.

 Профиль  
                  
 
 Re: Как открыть blob: ?
Сообщение17.06.2017, 00:57 
Заслуженный участник


27/04/09
28128
Если вам удобна теория заговора, пожалуйста. Я имел в виду, что оттуда, по крайней мере, ясно, какие объекты и функции искать на, скажем, MDN, чтобы написать код и убедиться.

(Подозреваю, что код или интерпретация его вывода неправильны. Я бы проанализировал его, но плохо разбираюсь в JS, да и документацию по этим вещам придётся читать. Лучше подожду, пока это сделает кто-то другой.)

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 8 ] 

Модераторы: Karan, Toucan, PAV, maxal, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group