J’ai déjà posé la question sur les news, mais finalement c’est mieux ici non…
Pour le même script, fopen, pointant sur un fichier hébergé sur un serveur extérieur, me revient en erreur sur ouvaton3 et marche sur ouvaton2.
J’ai vu ce qui se dit sur la register_globals et les AddHandler php4 et php5, bien que pensant que ça n’a pas de rapport …
Enfin j’ai testé quand même …
Peut-être est-ce désactivé, il me semble avoir lu que cela l’était sur free par exemple ?
Je sais qu’au début, la fonction fopen() n’était pas présente, mais finalement EiOLE l’a ajoutée (elle sert notamment à la syndication dans SPIP). A-t-elle des restrictions quant à ce qu’elle ouvre comme fichiers? Seulement ce qui est sur la plate-forme? Ça pourrait sembler logique dans la mesure où certains utilisent la fonction en donnant comme variable qch. qui peut être récupéré dans l’URL. Grosse faille au niveau sécurité. Mais franchement, je n’en sais rien dans le cas présent: ce serait aux gars d’EiOLE de répondre, et ils sont moins présents sur les news ou les listes de discussion ces temps…
Je viens de tester un fopen simple (ouverture de fichier) sur une page externe à ouvaton, et il fonctionne parfaitement.
Je le laisse quelques jours pour tester :
Bon, je ne suis pas à l’abri d’un conn… pour le script, mais ça marche avec ouvaton 2, il doit bien y avoir quelque chose que ouvaton 3 n’accepte pas …
Et je ne vois pas quoi faire si c’est un pb de port ?
Ah, je crois voir le problème : tu appelles un fichier sous ftp:// et moi http://, il me semble qu’usuellement le ftp correspond au port 21 et l’http le 80.
J’ai lu quelque part (mais où ?? test-ouv3 ??) que fopen() était ouvert sur le port 80 (l’http quoi) et pas le 21. J’ai lu dans ce même quelque part que c’était lié à des problèmes de sécurité.
A suivre.
Christian.
PS : comme disait Greg, au départ des tests de migration cette fonction était complètement inactivée.
Est-ce que ça veut dire que sur Ouvaton 3, l’ouverture d’un fichier txt en ftp ne sera pas possible définitivement ?
Ou bien que cela est évolutif, puisque c’est redevenu (?) possible avec un fichier txt en http ?
Je ne vois pas bien la différence en termes de sécurité entre les deux.
Y a-t-il une solution de remplacement ?
Je n’avais pas capté la remarque sur le FTP. Je crois que l’hypothèse de Christian est bonne: il faut faire des fopen() sur des fichiers à travers le port 80 (ça exclut donc les sites en ftp://…). Donc mon affirmation “c’est ouvert” concernait seulement le fopen() à travers le port 80. Je pose la question à EiOLE pour l’ouvrir plus largement.