Chargement des images extérieures

Bonjour,
depuis quelques mois je constate des problèmes aléatoires, selon les jours, d'affichage d'images hébergées hors de mon site qui ne se chargent pas, ainsi que mes scripts PHP qui ne parviennent pas à trouver leur fichier source si celle ci est extérieur à mon site surtout lorsqu'il s'agit d'images mais pas toutes et pas tous les jours… parfois cela fonctionne très bien et parfois impossible de charger une image depuis un site extérieur. Que faire, il y a t'il un réglage ? pare feu , SSL ?
Hébergement "perso 2014" PHP 7.3
Si vous avez des idées je suis preneur. Merci.


parfois impossible de charger une image depuis un site extérieur.


Si votre site envoie un tag `` avec un URL vers l'extérieur, c'est le navigateur de votre visiteur qui doit aller chercher l'image.

Peut-être l'autre site prend-il la décision de ne pas envoyer l'image parce que le referrer est un autre site ?

Avez-vous un exemple ?

C'est très très mal vue de faire ça (vol de ressource de l'hébergement cible).
Copier les images sur votre propre hébergement de site (si c'est autorisé).

Bonjour,
@Fritz2cat si je veux copier cette image pour la stocker sur mon propre hébergement cela fonctionne un jour sur 10 souvent quand il s'agit d'un hébergement hors OVH. C'est bizarre que parfois cela fonctionne et parfois non, alors que j'ai bien accès à la ressource extérieure depuis mon navigateur mais le serveur non.

Pas de sujet par rapport aux autorisations, je connais les personnes et les sites partenaires.

Collectez les détails, comment votre site va-t-il chercher l'image extérieure, quel protocole, quelle IP , et contactez OVH pour savoir s'ils font un blocage en sortie ou en entrée.

SI vous leur donnez aussi peu de détails qu'à nous, attendez-vous à avoir une réponse qui sera n'importe quoi.

Un script de ce style :
$path = '/homez.2034/xxx/xxx/';
$_url1 = 'https://www.urlexterieure.fr/image.jpg';
$name = array_pop(explode('/',$_url1));
copy($_url1,$path.'/'.$name);
rename ("/homez.2034/xxx/xxx/$name", "/homez.2034/xxx/xxx/monimage.jpg");

<blockquote><br />copy($_url1,$path.&#39;/&#39;.$name);<br /></blockquote><br /><br />Dans la page https://www.php.net/manual/fr/function.copy.php<br /><br />je retiens avoir vu:<br /><br />    // set request header for GET with referrer for modified files, that follows redirects           <br />    $arrRequestHeaders &#61; array(<br />        &#39;http&#39;&#61;&gt;array(<br />            &#39;method&#39;        &#61;&gt;&#39;GET&#39;,<br />            &#39;protocol_version&#39;    &#61;&gt;1.1,<br />            &#39;follow_location&#39;    &#61;&gt;1,<br />            &#39;header&#39;&#61;&gt;    &#34;User-Agent: Anamera-Feed/1.0\r\n&#34; .<br />                         &#34;Referer: $source\r\n&#34; .<br />                $ifmodhdr<br />                )<br />            );<br />    $rc &#61; copy( $fURI, $target_file, stream_context_create($arrRequestHeaders) );<br /><br />Essayez déjà en mettant le site lui-même comme Referer et Mozilla comme User-Agent<br /><br />Si ça bloque toujours, c&#39;est que leur site n&#39;aime pas les adresses IP d&#39;OVH, ou bien effectivement que OVH bloque de manière non constante les appels sortants 443/tcp<br />vers cette destination.

Merci @Fritz2cat malheureusement cela ne fonctionne pas plus.
Solution changer d'hébergeur ?


Solution changer d'hébergeur ?


N'étant pas dans les bottes d'OVH je n'ai pas d'opinion.

de toute façon même si je veux faire apparaitre l'image en direct sur le site distant ("Ce serait pas mal de pouvoir faire cela aussi pour éviter de se faire piquer des images ?

Bonjour,


de toute façon même si je veux faire apparaitre l'image en direct sur le site distant ("<img src="http…") , je n'arrive même pas à la faire afficher.

c'est que le site doit avoir une protection anti-hotlink.

Fût un moment perso j’envoyai une image de troll à ceux qui essayez de voler les images sur mon site.

Cordialement, janus57