5466 sujets

Sémantique web et HTML

Bonjour,

Comment accéder à une image avec une balise html IMG sur le serveur local dont le répertoire n'est pas dans www.

Mais dans /home

/home/Images/2022/03Mars/Image_20220305_135739_7301.jpg

Ca marche pas actuellement
Merci
Bonjour,
La réponse est pas satisfaisante. Si je met mes images dans www/html alors elles seront publiques, hors ce sont des images privées.
Il dois bien y avoir une solution car les banques d'images par exemple n'ont pas leurs images en publiques, et pourtant elles affichent les images.
Merci
Modérateur
cjacquel a écrit :
Bonjour,
La réponse est pas satisfaisante.


Heu, y'avait pas de réponse, si ?

cjacquel a écrit :
Si je met mes images dans www/html alors elles seront publiques, hors ce sont des images privées.
Il dois bien y avoir une solution car les banques d'images par exemple n'ont pas leurs images en publiques, et pourtant elles affichent les images.
Merci


Si tes images ne sont pas dans www, il te faut les chercher via un script depuis ton serveur pour les resservir (je ne sais faire, voir plus bas) .

Dans un dossier accessible via le WEB (dans ton www) , un fichier .htaccess peut-être mis dans le dossier et empêcher qu'elle soit afficher en direct. (cela n’empêchera pas qu'elle soit copiable )

exemple avec un htaccess empêchant d'accéder au png.
<Files *.png>
	Order allow,deny
	Deny from all
</Files>

Maintenant , si dans ta page tu fais <img src="image.png"> , tu ne la verra pas s'afficher, la connexion est refusée.

Cette connexion n'est cependant pas refusé au script qui tourne sur le serveur. Une solution pour la montré est par exemple:
<?php ;
$img = base64_encode(file_get_contents('image.png'));
echo '<img src="data:image/png;base64,'.$img.'" class="base64-image" >';
?>

A partir de là, ton image est copiable (un screenshot, copy du lien dta, etc ...) . Comme tu peut accéder à l'image via un script, tu peut la retravailler avant de la resservir, plus petite, la marquée d'un texte, réduire sa résolution, la montrer en noir & blanc, ou autre option que tu souhaites . La librairie GD de PHP est utile pour ce genre de choses. voir https://www.php.net/manual/fr/book.image.php

__________________________________________________________________________________________________

Maintenant, si cette image est dans un sous dossier de ton 'www, home ou root' je ne saurais t'aider . C'est probablement une configuration à effectuer , on a bien un répertoire temporaire externe pour les téléversement de fichier , un répertoire pour les bases de données . Si la piste précédente te suffit pour protéger/interdire l’accès à un dossier, il peut-être inutile d'en configurer un externe.
Ceci dit, je suis curieux de savoir comment ce fais-ce Smiley smile

Note que sous Apache/windows, tu peut remonter (a partir d'un script php) sur un répertoire adjacent a www via ../../repAdj en partant de www/monscript.php . Je doute que cela soit possible sur toute les OS/configuration serveur possible.

cdt


P.S. en éditant ta question, tu peut décocher le résolu si ce n'est pas le cas Smiley cligne .
Modifié par gcyrillus (26 Apr 2022 - 16:38)