Уловить ошибки CORS в Axios [duplicate]

Если вы хотите выполнить оба этих действия с помощью одной команды, вы можете сделать для нее псевдоним, добавив ниже к вашему ~/.gitconfig:

[alias]
    rmbranch = "!f(){ git branch -d ${1} && git push origin --delete ${1}; };f"

. Кроме того, вы можете добавить это к ваша глобальная конфигурация из командной строки с помощью

git config --global alias.rmbranch \
'!f(){ git branch -d ${1} && git push origin --delete ${1}; };f'

ПРИМЕЧАНИЕ. Если вы используете -d (нижний регистр d), ветвь будет удалена только в том случае, если она была объединена. Чтобы принудительно выполнить удаление, вам нужно будет использовать -D (в верхнем регистре D).

49
задан Felix Kling 24 March 2013 в 02:44
поделиться

1 ответ

См.:

... а также примечания в XHR Уровень 2 о CORS:

Информация намеренно отфильтровывается.

Редактируйте много месяцев спустя: Следующий комментарий здесь спросил «почему»; на якоре в первой ссылке не хватало нескольких символов, из-за чего было трудно увидеть, в какой части документа я имел в виду.

Это вещь безопасности - попытка избежать раскрытия информации в заголовках HTTP, которые могут быть чувствительным. Ссылка W3C о CORS говорит:

Пользовательские агенты должны отфильтровывать все заголовки ответов, отличные от тех, которые являются простыми заголовками ответов, или имя поля является ASCII-регистро-независимым совпадением для одного из значения заголовков Access-Control-Expose-Headers (если есть), прежде чем подвергать заголовки ответов API-интерфейсам, определенным в спецификациях API CORS.

Этот проход содержит ссылки для «простого заголовка ответа», , в котором перечислены Cache-Control, Content-Language, Content-Type, Expires, Last-Modified и Pragma. Так что те передаются. Заголовок заголовка «Access-Control-Expose-Headers» позволяет удаленному серверу выставлять другие заголовки, перечисляя их там. Дополнительную информацию см. В документации W3C.

Помните, что у вас есть одно происхождение - скажем, это веб-страница, которую вы загрузили в своем браузере, запустив немного JavaScript - и скрипт делает запрос другому происхождение, которое обычно не допускается, поскольку вредоносное ПО может делать неприятные вещи таким образом. Таким образом, браузер, выполняющий сценарий и выполняющий HTTP-запросы от своего имени, действует как гейткипер.

Браузер смотрит на ответ с этого сервера «другого происхождения» и, если он не кажется быть «участником» в CORS - требуемые заголовки отсутствуют или искажены - тогда мы не находим доверия. Мы не можем быть уверены, что скрипт, работающий локально, действует добросовестно, поскольку, похоже, он пытается связаться с серверами, которые не ожидали, что вас свяжут таким образом. Браузер, конечно же, не должен «утекать» какую-либо конфиденциальную информацию с этого удаленного сервера, просто передавая весь свой ответ сценарию без фильтрации - в основном это будет , позволяя запрос на перекрестный поиск. Будет обнаружена уязвимость в раскрытии информации.

Это может затруднить отладку, но это компромисс между безопасностью и удобством использования, поскольку, поскольку «пользователь» является разработчиком в этом контексте, безопасность имеет существенный приоритет.

27
ответ дан Andrew Hodgkinson 3 September 2018 в 16:21
поделиться
Другие вопросы по тегам:

Похожие вопросы: