Рекурсивный HTTP-запрос: как предотвратить вызов страницы самой страницей - PullRequest
0 голосов
/ 10 марта 2011

Я ищу хороший способ предотвратить повторный вызов самой страницы.

У меня есть страница, которую нужно обработать, чтобы сделать HTTP-запрос к RSS-каналу. Если URL-адрес этого RSS-канала является текущей страницей, он отправит запрос самому себе. Новый запрос запускает другой запрос к странице, который запускает другой запрос ... Это продолжается до тех пор, пока сайт не остановится, когда все доступные соединения будут заняты в этом рекурсивном цикле.

Несколько заметок:

  • URL-адрес для RSS вводится пользователем.
  • Это страница в CMS, URL-адрес страницы может быть практически любым и может измениться после ввода URL-адреса RSS.
  • В этом случае пользователь вводит URL-адрес удаленного сервера, что приводит к перенаправлению на страницу.

Несколько идей:

  1. Я мог бы просто отклонить все запросы с локального IP-адреса перед рендерингом.

  2. Перед отправкой запроса я мог отследить в общем месте, какие запросы активны, и даже не отправлять его, если он уже находится в середине другого запроса на тот же адрес.

  3. Может быть, добавить пользовательский агент пользователя в заголовок запроса и отклонить запрос, если этот пользовательский агент виден?

1 Ответ

0 голосов
/ 11 марта 2011

Знает ли отображаемая страница свой собственный адрес / URL (так и должно быть), если нет, то может ли она просто проверить, не соответствует ли ее адрес RSS-адресу?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...