post globals, Fehler und Unsicherheiten ausräumen, Alternativen

Hallo zusammen,

ich arbeite im Moment daran, mein plugin, das ich testweise schon durch den shopware-Check habe laufen lassen und eine (nicht unerwartete) Ablehnung erhalte wegen post globales, sicherer zu machen und Gefahrenpunkte auszuräumen und durch sicherere Alternativen zu ersetzen. Die Funktionalität des plugins steht zu 100%.
Da ich keine präzise Rückmeldung bekomme wo es hakt, gehe ich meinen code selber durch und räume Schwachstellen aus. Einiges konnte ich dabei schon beseitigen und durch sicherere Techniken ersetzen.
Ich denke spekulativ auch in der Benutzung folgender Befehle / Funktionen gibt es eventuelle Angriffspunkte in meinem script:
An einer Stelle muss ich z.b. eine Bilddatei, deren Link ich über einen Callback erhalte, auf dem Server des plugin-Benutzers abspeichern.
Hier gehe ich folgendermaßen vor:

const SHOPWARE_IMAGE_SAVE_PATH = 'media/image/_beispielimages/';
....

$beispielImageDirPath = self::SHOPWARE_IMAGE_SAVE_PATH;
if (!file_exists($beispielImageDirPath)) {
	mkdir($beispielImageDirPath, 0755, true);
}

$beispielArticleImagePath = $beispielImageDirPath . sha1(uniqid()) . '-' . $addArticleResult . '.jpg';

$contents = file_put_contents($beispielArticleImagePath, file_get_contents($thumburl));

$beispielArticleImageFullPath = 'http://' . $_SERVER['HTTP_HOST'] . "/" . $beispielArticleImagePath;

$stmt = $connection->prepare('UPDATE s_order_basket_attributes SET attribute1 = ? WHERE basketID = ?');
$stmt->execute([$beispielArticleImageFullPath, $addArticleResult]);

// ENDE BILDERUPLOAD VON beispiel ZU SHOPWARE

Das heißt ich benutze file_get_contents und file_put_contents was ja nicht gerade sicher ist.
Was wäre die Alternative? Curl oder ist das auch zu unsicher?

Danke schonmal für eure Tipps!

Beste Grüße
Olli