Feeds: Check the content type before fetching feeds

This commit is contained in:
Michael 2024-09-02 06:14:59 +00:00
parent a54dcd2eb3
commit c94a19375d
2 changed files with 9 additions and 2 deletions

View file

@ -1715,9 +1715,11 @@ class Probe
} }
$feed = $curlResult->getBodyString(); $feed = $curlResult->getBodyString();
if (strpos($curlResult->getContentType(), 'xml') !== false) {
$feed_data = Feed::import($feed); $feed_data = Feed::import($feed);
}
if (!$feed_data) { if (empty($feed_data)) {
if (!$probe) { if (!$probe) {
return []; return [];
} }

View file

@ -188,6 +188,11 @@ class OnePoll
return false; return false;
} }
if (strpos($curlResult->getContentType(), 'xml') !== false) {
Logger::notice('Unexpected content type.', ['id' => $contact['id'], 'url' => $contact['poll'], 'content-type' => $curlResult->getContentType()]);
return false;
}
if (!strstr($xml, '<')) { if (!strstr($xml, '<')) {
Logger::notice('response did not contain XML.', ['id' => $contact['id'], 'url' => $contact['poll']]); Logger::notice('response did not contain XML.', ['id' => $contact['id'], 'url' => $contact['poll']]);
return false; return false;