Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1011 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  (résolu) Protection de données d'un repertoire, probleme de loading

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

(résolu) Protection de données d'un repertoire, probleme de loading

n°2072531
rengzehn
Posté le 29-04-2011 à 10:08:42  profilanswer
 

Bonjour, après plusieurs heures de manip sans succès je vous confie mon probleme.
 
J'ai un serveur avec des images dans un répertoire './photos' protégé par un .htacess en "denny all"
 
Pour visualiser les images, des users dans une session ouverte vont appeler ce script :
 
img.php :

Code :
  1. <?php
  2. session_start();
  3. if (!isset($_SESSION['login'])) {header('location: index.php'); exit();}
  4. if ( isset($img) )
  5. {
  6. header("Cache-Control: no-cache, must-revalidate" );
  7. header('Content-type: image/jpeg');
  8. header("Content-Length: ".filesize($img)."; " );
  9. header("Expires: Sat, 26 Jul 1997 05:00:00 GMT" );
  10. header("Content-Length: ".filesize($img)."; " );
  11. readfile("$img" );
  12. }
  13. ?>


 
Ce script est appelé depuis des pages classiques en php comme ceci :
 

Code :
  1. echo '<img src="img.php?img=/photos/toto.jpg">';


 
cela fonctionne très bien s'il n'y a qu'une image, mais dès qu'une page appelle plusieurs fois img.php alors les images ne se chargent pas toutes dans la fenetre de navigateur.
 

Code :
  1. echo '<img src="img.php?img=/photos/toto1.jpg">';
  2. echo '<img src="img.php?img=/photos/toto2.jpg">';
  3. echo '<img src="img.php?img=/photos/toto3.jpg">';
  4. echo '<img src="img.php?img=/photos/toto4.jpg">';
  5. echo '<img src="img.php?img=/photos/toto5.jpg">';


 
le chargement est aléatoire. des fois il y en a deux qui s'affichent, des fois trois, quand on refresh, c pareil, elles s'affichent aléatoirement.
 
Une idée ?
 
Merci à vous,
 
reng.


Message édité par rengzehn le 09-05-2011 à 11:16:56
mood
Publicité
Posté le 29-04-2011 à 10:08:42  profilanswer
 

n°2072620
olivthill
Posté le 29-04-2011 à 13:44:20  profilanswer
 

Cette protection est illusoire. A partir du moment, où les données sont transmises à un poste, elles peuvent ensuite y être stockées par l'utilisateur, le plus simple étant un printscreen.
 
Je conseillerais plutôt de mettre un filigrane et de les afficher de manière standard.

Message cité 1 fois
Message édité par olivthill le 29-04-2011 à 13:46:00
n°2072637
rengzehn
Posté le 29-04-2011 à 13:52:22  profilanswer
 

olivthill a écrit :

Cette protection est illusoire. A partir du moment, où les données sont transmises à un poste, elles peuvent ensuite y être stockées par l'utilisateur, le plus simple étant un printscreen.
 
Je conseillerais plutôt de mettre un filigrane et de les afficher de manière standard.


 
ce n'est pas un probleme. Les utilisateurs loggés peuvent faire ce qu'ils veulent avec les images. Par contre ça a l'avantage d'interdire l'accès à tout autre personne.

n°2072673
esox_ch
Posté le 29-04-2011 à 14:15:27  profilanswer
 

Elles ont quelle taille tes images?  
Parce que ces effets "aléatoires" ça sent le timeout quelque part dans ton script, ce qui pourrait être causé par trop d'infos à charger dans les buffers PHP


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
n°2072719
rengzehn
Posté le 29-04-2011 à 14:58:53  profilanswer
 

Elles font moins de 300ko.

 

Dans img.php j'ai essayé un

 

readfile("$img" );

 

et

 

$s = file_get_contents($img);
echo $s;

 

et le résultat est le même, chargement aléatoire au niveau du client, sur plusieurs navigateurs.

 

Le site est sur les pages perso de free.

 

j'ai essayé en rajoutant des onload=alert"plop" dans la balise image. Seulement celles qui se chargent font poper l'alerte et pourtant elles apparaissent bien toutes dans le code source de la page.

 

J'hésite entre

 

- probleme de cache des navigateurs (puisque ces images n'en sont pas réellement, c'est du contenu envoyé avec un header pour signifier le type au navigateur)

 

- le serveur qui ne traite pas toutes les demandes.

 

Mais je ne sais pas comment vérifier ça.


Message édité par rengzehn le 29-04-2011 à 15:10:45
n°2072820
quanph0211​84
Posté le 29-04-2011 à 17:41:56  profilanswer
 

j'ai une idée de faire un test:
au lieu d'écrire echo "<img .... />";
peux-tu écrire en javascript comme:
dans un boucle : ajouter un élément img, mais avec time()+10s
On va voir le problème peut-être.

n°2074689
rengzehn
Posté le 09-05-2011 à 11:17:17  profilanswer
 

résolu, ça fonction bien chez OVH en mutualisé


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  (résolu) Protection de données d'un repertoire, probleme de loading

 

Sujets relatifs
Probleme en Programmation C :(probleme avec javadoc
Petite requete selon plage de donnéesFonction Recherche sur une plage de données
(CSS) Problème avec sélecteurs d'attributs sur IEproblème de trie avec mysql et fonction mt_rand() ! help me
urgent: problème d'exécution d'aun programmeProbleme boucles bash
Problème ecriture/lecture carte SDMenu positionnement différent sur IE et Firefox + Problème de bordure
Plus de sujets relatifs à : (résolu) Protection de données d'un repertoire, probleme de loading


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR