LINUX.ORG.RU

зачем существует Cross-Origin Resource Sharing?

 


0

1

чтобы я страдал? (страдаю проверяй)

https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS
есть мой_сайт:80/страница.хтмл и мой_сайт:8080/мойсервер и никак из страница.хтмл не загрузить данные от «другого порта» или адреса (згрузить для джаваскрипта как текст/object/iframe/json/тдтп невыйдет)

очевидные обходы:

1. сделать мой_сайт:8080/мойсервер.js откуда вместо «своего формата отдачи» отдавать сгенерированный jsvascript текст(var xxx=[mydata];), и все данные читать из мой_сайт:80/страница.хтмл
вместо js файла можно использовать css или даже картинку(читать массив пикселей как данные в хтмлке у клиента)

2. https://cors.io/ или любой прокси на стороне сервера, направив все через один прокси, страница будет cors.io/?мой_сайт:80/страница.хтмл и в странице cors.io/?мой_сайт:8080/мойсервер (или пробросив 8080 на 80 порт на сервере(хоть пхп скриптом на стороне сервера))

...зачем это нужно если оно обходиться и создает только сложности безсмысленные


1. Ты изобрёл JSONP. Поздравляю. Только это требует специальной поддержки от стороннего сайта (этот самый формат особый), к которому ты обращаешься, соответственно он отдаст только то, что его авторы посчитали безопасным отдавать.

2. Прокси не отпроксирует куки конечного пользователя. Соответственно, не получится что-то сделать от имени пользователя на стороннем сайте. Защита работает именно от этого. А так - проксируй сколько хочешь.

KivApple ★★★★★
()
Последнее исправление: KivApple (всего исправлений: 1)

зачем существует Cross-Origin Resource Sharing?

Чтобы дыр в решете было поменьше.
Отдавай CORS хедеры для нужного ресурса(ов). В чем проблема то?

ritsufag ★★★★★
()
Ответ на: комментарий от ritsufag

Жутко раздражает, что этот КОРС нельзя заставить работать для статических страничек на локалхосте. Необходимо поднимать сервер.

То есть как. В Фоксе работает, а в Хроме типа, небезопасно, извините.

Deleted
()
Ответ на: комментарий от Vit

Спасибо, надо посмотреть чего там)

Deleted
()

Кстати, кто знает реальные примеры обхода? Ну то есть вот у нас api с авторизацией через http-only cookie (чтобы типа токен xss'м не угнали). Мы принимаем только application/json Content-Type и форму к нам не засабмитишь, а ajax запросы все отклоняются. Owasp ссылается только на атаку через flash и 307 редирект. Можно ли надеяться только на CORS хэдеры или в вместе с cookie авторизацией всегда нужны костыли типа csrf токенов? Если нет, то что кроме flash этому препятствует?

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.