Ну как же я использую токены, если я ничего не шифрую, ничего в них не храню и могу инвалидировать хэш, выданный пользователю? От токена одно название остается.
mrFlyer, Ну оно не должно падать. Простое приложение на js не упадет от такой ошибки. Просто нажатие на кнопку не сработает и все. Видимо где-то в nuxt установлено поведение, при котором показывается страница ошибки при любой ошибке.
Вы правы, исключить ситуацию нужно. Но проект большой и перевезен с обычного vue-cli на серверный рендеринг. Ошибки после переезда есть и их исправляют по мере обнаружения. Но пока все они не отловлены, хотелось бы, чтобы у пользователя не ломался интерфейс, потому что ошибки не критические и пользователь мог бы замечательно работать дальше.
Ошибки происходят не при загрузке данных. Это банальные ошибки, например обращение к несуществующей переменной при клике.
Andrew Lewman, Если пользователь на вашем сайте в поле "комментарий" вставит js код, этот код не должен быть выполнен. Для этого вывод всех комментариев должен быть экранирован.
Максим Тимофеев, Ну почему куки - это не хранилище? Мне нужно в каждом запросе передавать идентификатор, а при перезагрузке страниц его где-то хранить. Куки отлично подходят и как хранилище и как способ передачи на сервер.
Вопрос то в другом: данные в куках защищены от XSS, а в localStorage нет. Так почему его используют?
Я понимаю. Речь о том, дыра это или просто гипотетическая уязвимость. Вот передача в url - это ведь совсем дыра. Любой узел, через который пройдет такой запрос, сможет получить идентификатор из url. Если же я передаю данные в заголовках или теле запроса, то они зашифрованы (https).
То же самое с хранением. Если идентификатор хранится в куке (httpOnly), то это скрывает его от XSS, а если в localStorage - то нет.
Анатолий Цивилёв, А какое это имеет отношение к вопросу? У меня сайт SPA на VueJs, зачем мне тот факт, что куки устанавливаются раньше, если все запросы пойдут после загрузки приложения в браузер.
Iglint, Это нехорошо только с точки зрения того, что компонент может еще где-то использоваться. И у него будет другой родитель. Если автор знает об этом и уверен, что дочерний элемент не будет больше нигде использоваться, то почему нет? Это гораздо проще и быстрее, чем другие варианты.
Dima Polos, да, а вы попробуйте установить height:20px текстовому полю. У меня вот, например, в макете так. В этом случае увеличиваться будет корректно, а уменьшаться нет.