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