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
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
.
Modifié par gcyrillus (26 Apr 2022 - 16:38)