Aus Sicherheitsgründen ist das Ganze natürlich nicht optimal...
Wieso sollte das Probleme verursachen können? Wenn du sichere Scripte verwendest, können ohnehin keine Benutzereingaben dein fopen() beeinflussen.
Nebst dessen:
Die Alternativen sind immer noch fsockopen() oder cURL - beides ist üblicherweise uneingeschränkt verfügbar, auch wenn man allow_url_fopen auf OFF steht.
Eine weitere Alternative steht mit exec()-ähnlichen Funktionen zur Verfügung - hiermit kann man ebenfalls recht problemlos mit wget zeug nachladen - und falls das nicht hilft, nimmt man halt lynx und holt sich den Output.
Es gibt viele Möglichkeiten, fopen() zu umgehen.
Und wenn jemand bereits so weit ist, beliebige andere Funktionen auszuführen, hast du ohnehin ein gröberes Problem.