Tester la présence d'un fichier distant ou d'une url...

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Tester la présence d'un fichier distant ou d'une url...

par Korg » 12 janv. 2007, 11:48

RE et merci pour vos interventions respectives.

Le serveur qui exécute n'est pas en PHP 5 malheuresement et apparemment il est impossible d'utiliser des fonctions genre fopen and co avec le protocole mms: (foutu serveur de stream :x)

Comment peut-on l'interroger dans ces conditions ? Quelle logique faut-il adopter ? Ma nouvelle idée (super :roll:) était de faire ça en Flash en chargeant le fichier son dans un clip et en testant ce clip mais là encore je me heurte au problème du serveur distant avec les fonctions proposées :cry:

Korg

par AB » 10 janv. 2007, 14:29

Si j'ai bien compris, quand tu mets ton script sur ton espace perso FAI, ça fonctionne, même en faisant le test sur le fichier mp3 que tu veux tester?

ça doit donc venir du serveur sur lequel tu fais tourner le script et non pas du serveur qui héberge le fichier à tester.

Tu pourrais peut-être aussi nous donner l'adresse d'un fichier mp3 à tester sur le serveur distant. On en aura le coeur net, je pourrai faire un essai sur trois hébergeurs (free + 2 pro).

A part ça tu pourrais peut-être tenter un file_exists() si l'hébergeur de ton script est en PHP5.

ze solution

par toto37 » 10 janv. 2007, 13:51

ca peut être que ce fichu "allow_url_fopen", à voir sur le serveur distant et/ou le serveur depuis lequel tu fait ton fopen, je vois que ça

par Korg » 10 janv. 2007, 11:28

Re toto,

Le truc c'est que tout ca est disponible à la lecture puisqu'en tapant l'url j'ai accès à n'importe quel élément.


Ex: http://news.google.fr/images/news_fr_fr.gif dans le cadre d'une image
ou encore http://www.phpfrance.com/documentation.php pour une page php.

Mon script me renvoie l'effet escompté sur mon espace perso de mon FAI mais quand je place ça sur le vrai serveur, ca me renvoie des "impossible d'afficher la page..." et autres messages d'erreurs ou bien sur un autre serveur ca me renvoie systématiquement false alors que les 2 url existent.
(Là, je ne fais même plus référence à mon fichier distant mp3)

J'en peux plus de cette galère que je traine depuis 2006 :?

Korg

ze solution

par toto37 » 09 janv. 2007, 23:03

hum, moi je pense tj à l'histoire de l'accès en lecture.... style htacess.... ou fopen interdit sure un répertoire précis....à partir d'une d'une requête précise....

par Korg » 09 janv. 2007, 15:11

Ok toto37 mais en faisant un phpinfo() du serveur qui héberge le script qui doit interroger le serveur distant je me suis aperçu que j'étais sur "on" et la requête d'AB me renvoie, après avoir mouliné un certain temps, soit une erreur du type :

Code : Tout sélectionner

Impossible d'afficher la page La page que vous recherchez est actuellement indisponible. Le site Web rencontre peut-être des difficultés techniques ou il vous faut peut-être modifier les paramètres de votre navigateur. ...
soit une erreur du type :

Code : Tout sélectionner

ERROR The requested URL could not be retrieved -------------------------------------------------------------------------------- While trying to process the request: ...
alors que le même script sur mon serveur perso chez moi me renvoie une réponse affirmative puisque l'url existe bel et bien.

Firewall ?

Korg

Ps : en tout cas merci de ton/votre aide, ca fait plaisir :)

ze solution

par toto37 » 09 janv. 2007, 12:45

J'ai trouvé!

c'est une config serveur dans php.ini: "allow_url_fopen"

voila!

par Korg » 09 janv. 2007, 11:00

Re et merci ... ... ... pour vos interventions.

Pour clarifier un peu le truc, j'essaie juste d'interroger si un et un seul et unique fichier mp3 est présent ou pas sur un serveur de streaming (protocole mms donc).

J'ai retesté chez moi le script sur des serveurs persos (ex:http://images.google.fr/intl/fr_ALL/ima ... es_res.gif) et là, ca semble fonctionner correctement comme annoncé par AB sauf pour mon test vers le serveur de stream alors que le fichier est bel et bien présent. D'où cela peut venir alors ? Paramétrages serveur certainement mais quoi ? Mon firewall ?

Korg

par AB » 08 janv. 2007, 23:30

toto37

J'ai bien lu ce que tu as écris, mais cela prête à confusion. Si les fichiers sont lisibles sans passer par une authentification, il faut bien qu'ils soient lisibles au moins en lecture (cela ne veut pas dire qu'on peut les modifier).
J'ai fais une dizaine d'essai sur des fichiers mp3 qui sont proposés en lecture sur différents sites distants et ça marche sans pb avec le code mentionné plus haut.
Et je suppose que si Korg veut faire des tests sur des fichiers mp3 distants, il ne le fait pas sur des fichiers protégés (ou dont le répertoire est protégé). Sinon ça va retourner false bien entendu.
D'où mon incompréhension... :-k

ze solution

par toto37 » 08 janv. 2007, 21:48

en effet c'est protégé en lecture (merci d'avoir lu ce que j'ai écri)

par AB » 08 janv. 2007, 18:42

Korg

Désolé, je sais pas quoi répondre.

J'ai testé le script que je t'ai indiqué en le mettant chez Free puis sur chez un hébergeur professionnel puis en testant des fichiers distants mp3, AVI et des url et ça fonctionne sans pb.
Peut-être que tu veux tester trop de fichiers à la fois...ou que les fichiers en question sont dans un répertoire protégé à la lecture.

ze solution

par toto37 » 08 janv. 2007, 18:10

c'est pour cela que ca marche local TOUT SIMPLEMENT.

t'imagine le trou se sécurité sinon? n'importe qui peut faire n'importe quoi sur un serveur distant?.

Si tu est dans une entreprise et que les machines (serveur qui exécute le script et serveur que tu doit checker) appartiennent au même réseau ou pas de la même entreprise demande au service réseau d'ouvrir les vannes ^^ ca réponds à ta question?

ze solution

par toto37 » 08 janv. 2007, 18:07

si tu fait fopen vers autre serveur et que ca marche pas c'est normal tu n'as pas les droit en lecture, tu vien de l'extérieur donc té bloké par le firewall.

par Korg » 08 janv. 2007, 17:56

Personne pour m'aider ?

svp

Korg

par Korg » 08 janv. 2007, 16:32

Désolé pour cette 3ème intervention successive, vraiment désolé mais désespéré. Apparemment le script d'AB marche qu'en local (une fois de plus grrrr). J'obtiens toujours un "non" si je mets par exemple http://www.phpfrance.com/documentation.php mais un "oui" si le lien mentionné fait référence au serveur sur lequel se trouve la page qui éxécute mon script.

Korg