В PDF есть одна интересная возможность: отправка кросс-доменных запросов с практически любыми заголовками. Это больше напоминает баг, чем фичу, поэтому, скорее всего, окажется запатчено в будущем. Но за этим багом стоит распространенная проблема, так что о нем стоит поговорить подробнее.

Как мы знаем, Same Origin Policy сильно ограничивает возможности взаимодействия между сайтами. Сейчас мы имеем возможность с помощью JavaScript (а также форм HTML и других методов) отправлять со своего сайта произвольные запросы GET и POST на другие сайты, при этом содержимое запроса может быть любым. Доступны и пользовательские cookie. Еще мы можем задавать значения для некоторых заголовков. Например, content-type, да и то подойдет не любое значение. Ну и конечно же, мы не сможем прочитать ответ сервера.

Если же мы изменим какой-то из неразрешенных заголовков или попытаемся использовать другой метод (к примеру, PUT), то браузер сначала отправит запрос OPTIONS на конечный сервер для того, чтобы узнать, разрешено ли это (CORS в действии). И если разрешения в заголовках нет, то наш запрос отправлен не будет.

А вот с плагином Adobe для просмотра PDF мы имеем возможность ставить любые заголовки! Хотя, конечно, придется покопаться. Потребуется использовать FormCalc и с его помощью отправлять и принимать запросы. Имеется и возможность задавать произвольные заголовки. Но просто так отправить такой запрос на сторонний сайт нельзя — здесь все точно так же, как и в случае с JavaScript.

Продолжение доступно только подписчикам

Вариант 1. Оформи подписку на «Хакер», чтобы читать все материалы на сайте

Подписка позволит тебе в течение указанного срока читать ВСЕ платные материалы сайта. Мы принимаем оплату банковскими картами, электронными деньгами и переводами со счетов мобильных операторов. Подробнее о подписке

Вариант 2. Купи один материал

Заинтересовала информация, но нет возможности оплатить подписку? Тогда этот вариант для тебя! Обрати внимание: этот способ покупки доступен только для материалов, опубликованных более двух месяцев назад.


Оставить мнение

Check Also

Критичный процесс. Учимся создавать и принудительно завершать критичные процессы в Windows

Часть процессов операционной системы считаются «критичными» — если завершить один из них, …