POST на другой домен

Redjik

Джедай-мастер
В логах:

Имеется
POST 'http://example1.com/hotel/update/?id=353'
При этом у этого запроса
'Referer:http://example2.com/hotel/update/?id=353'

Не могу отдебажить причину этого.
Загаловоки манагеры не подделывали.

Внутри приложения всякая магия с редиректами, на даже если причина редирект, то запрос будет GET.
Что может быть?

Или так - единственный ли возможный вариант, что в action был полный url. (http://example1.com/hotel/update/?id=353)
 

Gas

может по одной?
не понятно, проблема в том что POST или ты ожидал увидеть другой Referer ?
 

Redjik

Джедай-мастер
Да. Разные домены куда пост пришел и реферер, откуда ушел.

Вопрос: как можно и можно ли засабмитить форму на домене A, с экшеном, ведущим на домен A, чтобы POST запрос пришел на домен Б.

Я понимаю, что никак. Но логи говорят об обратном.
 

Gas

может по одной?
С помощью проксирования nginx можно что угодно, куда угодно отправить, но думаю это не твой случай.

А может запрос был сделан с домена B на A и нет тут никакой загадки?
Вообще конечно сложно предпологать не видя/зная что да как.
 

Dovg

Продвинутый новичок
Redjik, А POST точно содержит Host: example1.com ?

Например, я себе в /etc/hosts могу написать
%google.ip% ya.ru

и будут в логах яндекса записи рефереры гугла, да и не только рефереры.
 

Redjik

Джедай-мастер
Redjik, рефереру то какой смысл так сильно доверять?
Вся история такова ...
Написал логгер для трейса долгих запросов - обработка более 5 секунд.
В роллбар (он же rochetto) упала ошибка что мой логгер - Allowed memory size of * bytes exhausted
Так же в роллбаре видны все заголовки...

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

Доступ к скрипту только у админов, у них не хватит ни навыков, ни умений, ни злого умысла подделать заголовки.

Вот все заголовки, которые есть, кроме кук (опять же по данным роллбара)


Код:
curl --request POST 'http://DOMAIN_A/hotel/update/?id=353' \
--header 'Origin:http://DOMAIN_B' \
--header 'Content-Length:5217' \
--header 'Accept-Language:ru-RU,ru;q=0.8,en-US;q=0.6,en;q=0.4' \
--header 'Accept-Encoding:gzip,deflate,sdch' \
--header 'Connection:keep-alive' \
--header 'Accept:text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8' \
--header 'User-Agent:Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/30.0.1599.101 Safari/537.36' \
--header 'Host:DOMAIN_B' \
--header 'Referer:http://DOMAIN_B/hotel/update/?id=353' \
Само собой заменил имена доменов на DOMAIN_B и DOMAIN_A.
Особо тайны нету - не хочется, чтобы гуглы индексировали =)

Redjik, А POST точно содержит Host: example1.com ?
Например, я себе в /etc/hosts могу написать
%google.ip% ya.ru
и будут в логах яндекса записи рефереры гугла, да и не только рефереры.
А вот это уже интересная мысль, сейчас посмотрю, в hosts что-то было.


ЗЫ. извиняюсь сообщение открывающее топик, прекрасно понимаю, что никто не хочет играть в вангу =)
 

dimitrius

Новичок
Да. Разные домены куда пост пришел и реферер, откуда ушел.

Вопрос: как можно и можно ли засабмитить форму на домене A, с экшеном, ведущим на домен A, чтобы POST запрос пришел на домен Б.

Я понимаю, что никак. Но логи говорят об обратном.
Я так понимаю, что нужно джаваскрипт и все
 
Сверху