From: Hypolite Petovan Date: Tue, 15 Dec 2020 14:41:58 +0000 (-0500) Subject: Add item user owner data check in Model\Item::isValid X-Git-Url: https://git.mxchange.org/?a=commitdiff_plain;h=0951a50bcd4ddb846fb8a66cdafae5ca834daf6f;p=friendica.git Add item user owner data check in Model\Item::isValid - Prevents deleted users from posting any item, manually or automatically through mirroring --- diff --git a/src/Model/Item.php b/src/Model/Item.php index dec3716d01..cd5c2b169c 100644 --- a/src/Model/Item.php +++ b/src/Model/Item.php @@ -1385,6 +1385,19 @@ class Item return false; } + if (!empty($item['uid'])) { + $owner = User::getOwnerDataById($item['uid'], false); + if (!$owner) { + Logger::notice('Missing item user owner data', ['uid' => $item['uid']]); + return false; + } + + if ($owner['deleted'] || $owner['account_expired'] || $owner['account_removed']) { + Logger::notice('Item user has been deleted/expired/removed', ['uid' => $item['uid'], 'deleted' => $owner['deleted'], 'account_expired' => $owner['account_expired'], 'account_removed' => $owner['account_removed']]); + return false; + } + } + if (!empty($item['author-id']) && Contact::isBlocked($item['author-id'])) { Logger::notice('Author is blocked node-wide', ['author-link' => $item['author-link'], 'item-uri' => $item['uri']]); return false;