Почему данные не должны быть изменены на HTTP-запросе GET?

Делая дикие предположения, вы не корректируете размер полосы (например, это нулевой размер). Вероятно, вам нужно использовать push_back для добавления элементов в ваш вектор.

while (artist >> forname >> surname >> bandnum)
{
    for (int i = 0; i < bandnum; i++)
    {
        string tmp;
        artist >> tmp;
        band.push_back(tmp);
    }
    artist >> role;
}
30
задан Rob Hruska 1 April 2009 в 15:09
поделиться

7 ответов

  • Упреждающая выборка: Много веб-браузеров будет использовать упреждающую выборку. Что означает, что это загрузит страницу, прежде чем Вы нажмете на ссылку. Предупреждение, что Вы нажмете на ту ссылку позже.
  • Боты: существует несколько ботов, которые сканируют и индексируют Интернет для получения информации. Они только выйдут, ПОЛУЧАЮТ запросы. Вы не хотите удалять что-то из ПОЛУЧИТЬ запроса поэтому.
  • Кэширование: ДОБЕРИТЕСЬ Запросы HTTP не должны изменять состояние, и они должны быть идемпотентом. Идемпотент означает, что издание запроса однажды или издание его многократно дают тот же результат. Т.е. нет никаких побочных эффектов. Поэтому ДОБЕРИТЕСЬ, Запросы HTTP плотно связываются с кэшированием.
  • В стандарте HTTP говорится так: в стандарте HTTP говорится, для чего каждый метод HTTP. Несколько программ создаются для использования стандарта HTTP, и они предполагают, что Вы будете использовать его способ, которым Вы, как предполагается. Таким образом, у Вас будет неопределенное поведение от убивания случайных программ, если Вы не будете следовать.
47
ответ дан Brian R. Bondy 27 November 2019 в 23:36
поделиться

Как насчет Google, находящего ссылку на ту страницу со всеми ПОЛУЧИТЬ параметрами в URL и пересматривающего его время от времени? Это могло привести к аварии.

Существует забавная статья об этом на The Daily WTF.

6
ответ дан Michael Hampton 27 November 2019 в 23:36
поделиться

ДОБИРАЕТСЯ может быть вызван на пользователе и результате в Подделке запроса перекрестного сайта (CSRF). Например, если у Вас есть функция выхода из системы по http://example.com/logout.php, который изменяет состояние сервера пользователя, злонамеренный человек мог поместить тег изображения в любой сайт, который использует вышеупомянутый URL в качестве его источника: http://example.com/logout.php. Загрузка этого кода заставила бы пользователя выйтись из системы. Не грандиозное предприятие в данном примере, но если бы это было командой для передачи фондов из учетной записи, это было бы грандиозное предприятие.

5
ответ дан 27 November 2019 в 23:36
поделиться

Серьезные основания сделать это правильный путь...

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

Одна из моих любимых кавычек

Быстрый и Грязный... еще долго после того, как Быстрое отбыло, Грязное остается.

Для Вас этот - "Стежок, вовремя сохраняет девять" ;)

3
ответ дан Lazarus 27 November 2019 в 23:36
поделиться

Безопасность: CSRF настолько легче в, ПОЛУЧАЮТ запросы.

Используя POST не защитит Вас так или иначе, но ДОБЕРЕТСЯ, может привести более легкую эксплуатацию и массовую эксплуатацию при помощи форумов и мест, который принимает теги изображения.

В зависимости от того, что Вы делаете в использовании серверной стороны, ДОБИРАЮТСЯ, может помочь взломщику запустить DoS (Отказ в обслуживании). Взломщик может послать спам, тысячи веб-сайтов с Вашим дорогим ПОЛУЧАЮТ запрос в теге изображения, и каждый посетитель тех веб-сайтов выполнит, это дорогое ПОЛУЧАЕТ запрос против Вашего веб-сервера. Который вызовет большой цикл ЦП Вам.

Я знаю, что некоторые страницы тяжелы так или иначе, и это всегда - риск, но это - больший риск, если Вы включаете 10 больших записей каждый ПОЛУЧАТЬ запрос.

2
ответ дан dr. evil 27 November 2019 в 23:36
поделиться

Безопасность для одной. Что происходит, если поисковый робот сталкивается с удалить ссылкой, или пользователь обманут в нажатие на гиперссылку? Пользователь должен знать то, что они делают, прежде чем они на самом деле сделают это.

1
ответ дан Brandon 27 November 2019 в 23:36
поделиться

Я как бы ищу больше, чем просто «это не имеет смысла семантически» или «это делает вещи двусмысленными».

...

Я не не забывайте, что «Правильный способ делать вещи», нам легче

Скажите им, чтобы они думали о худшем API, который они когда-либо использовали. Разве они не могут представить, как это было вызвано быстрым взломом, который был расширен?

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

1
ответ дан 27 November 2019 в 23:36
поделиться
Другие вопросы по тегам:

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