Пару лет назад, до того как я узнал о переполнении стека, я работал в офисе с большой конкуренцией между программистами.Там мне пришлось кодировать веб-страницу на PHP с помощью Drupal, которая должна была получать данные с другого сайта по RSS.Случилось так, что не было никакого способа получить данные заранее: данные зависели от содержимого страницы, которая сама по себе была динамической, поэтому страница перестала загружаться на пару секунд, пока PHP шел для получения данных RSS.Это было плохо.Страница зависит от нескольких параметров из огромного списка.Так что выбор всех возможных комбинаций в davance был вне вопросов.Я думаю, это была какая-то страница поиска, которая включала результаты родственного сайта.
Первое, что я сделал, чтобы улучшить это, было настроить систему кеширования.Когда страница была загружена, он запустил метод Javascript, который сохранил данные RSS обратно в базу данных для этой конкретной страницы, используя AJAX.Это означало, что если та же страница была запрошена снова, старые данные будут отправлены немедленно.и сценарий AJAX обновит кэш новыми данными, если это необходимо.Javascript в значительной степени открыл скрытую страницу на сайте с инструкцией GET, которая соответствовала параметрам текущей страницы.Лишь пару дней спустя я понял, что мог бы кэшировать данные без AJAx.(Поверьте мне, это легче заметить в ретроспективе.) Но это не та проблема, о которой я спрашиваю.
Но мне сказали, чтобы я вообще не делал никакого кэширования.Мне сказали, что моя страница AJAX "выставила API".Злоумышленник может снова и снова зайти на скрытую страницу, чтобы выполнить атаку «Отказ в обслуживании».Я думал, что мой AJAX был временным решением, но такое кэширование было необходимо.Но в основном: разве аргумент DoS не верен для ЛЮБОЙ страницы на сайте? Не ухудшил ли тот факт, что моя скрытая страница не появилась в меню и не вернула никакого контента?
Как я уже сказал, между программистами была большая конкуренция, поэтому люди вокруг меня, которые были единодушны, могли быть правы или пытались помешать мне сделать что-то плохое, потому что это делали не те, кто это делал.,(Это часто случалось.) Но мне все еще интересно.Я полностью осознавал, что мой AJAX был взломом.Я хотел изменить эту систему, как только нашел что-то лучшее, но подумал, что кеширование вообще не было еще хуже.Что было правдой?Разве по этой логике ВСЕ AJAX не предоставляет API?Если мы посмотрим, что мой AJAX был безобразным хаком, действительно ли это было так опасно?
Я снова и снова признаю, что это было некрасивое, временное исправление, но мой вопрос о том, чтобы иметь "скрытая страница, которая не возвращает содержимого, которое заставляет сервер что-то делать.Насколько это ужасно?