.Htaccess (demande information) [Résolu]

Signaler
Messages postés
239
Date d'inscription
jeudi 21 juillet 2005
Statut
Membre
Dernière intervention
1 juillet 2007
-
Messages postés
239
Date d'inscription
jeudi 21 juillet 2005
Statut
Membre
Dernière intervention
1 juillet 2007
-
Bonjour tous le monde, j'ai une question a vous posez au sujet du htaccess en esperant avoir des reponse sur ce forum.... en tous cas merci pour votre aide ;) grace a phpcs jevolu chaque jour en prog ! et c'est grace a ce site et a votre aide que vous me faite voir plus clair sur les problemes que je rencontre en php.


<dir>
</dir>



Savez vous proteger un dossier avec htaccess mais sans y mettre un mot de passe ! c'est a dire que le gars qui ve aller sur




http://Site.com/dossier/

il pe pa y aller mais si il y a une image stocker dans le dossier et que le site :


http://site.com/index.html






 ( est implaté cette image)




l"image saffiche






en gros si un mec veut  Scanner le dossier avec interlitempeur par exemple il ne pourra rien voir v


u que le dossier est protegé ?

hebergeur que j'utilise le plus souvent : free

11 réponses

Messages postés
10840
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
22
Audayls a oublié que dans ce cas, on ne dit pas au navigateur ce qu'il va devoir afficher. Ou plutôt si, on lui a dit que c'était du text/html. Et il l'a cru...
Bref, manque un header () sur la page affichant les images ;-)
Messages postés
373
Date d'inscription
samedi 9 juillet 2005
Statut
Membre
Dernière intervention
11 août 2008

Arf j'ai oublié le header (quel boulet ) on va dire que j'étais fatigué XD lol
Essayez "images.php" avec ce contenu : "
<?php
if (isset($_GET['image']) AND $_SERVER['PHP_SELF'] === '') { // Il faut remplacer "=== ''" par la valeur de $_SERVER['PHP_SELF'] du fichier qui va ouvrir les images
    switch($_GET['image']) {
        case 'image1.jpg': header('Content-type: image/jpeg');$return = TRUE; break;
        case 'image2.gif': header('Content-type: image/gif'); $return = TRUE; break;
        case 'image3.png': header('Content-type: image/png'); $return = TRUE; break;
        default: $return = FALSE; break;
    }
    if ($return === TRUE) {
        $fp = fopen('images/'.$_GET['image'],'r');
         while(!feof($fp)) echo fgets($fp);
        fclose($fp);
    }
}
?>
"

For every choice, a consequence (Fable)
Messages postés
1980
Date d'inscription
dimanche 20 février 2005
Statut
Membre
Dernière intervention
24 septembre 2012
5
Oui ça marche nickel. J'accepterais bien les réponses mais c'est pas moi qui ai posé la question ! lol

Par contre moi c'est avec des mp3 que je vais utiliser ce système et pour l'instant ça ne marche qu'avec Firefox malgré les headers. Je cherche encore, donc si vous avez une idée...

Sinon, juste, pour aller plus vite j'ai écrit

<?php
if (isset($_GET['image']) AND $_SERVER['PHP_SELF'] == 'pagedelecture.php') {
    $file = pathinfo($_GET['image']);

    switch($file['extension']) {
        case 'jpg': header('Content-type: image/jpeg');         
                                    readfile('images/'.$_GET['image']);
                                    break;
        case 'gif': header('Content-type: image/gif');
                                    readfile('images/'.$_GET['image']);

                                    break;
        case 'png': header('Content-type: image/png');
                                    readfile('images/'.$_GET['image']);

                                    break;
    }
}

?>
et ne pas oublier de stripslasher si magicquotes est on.
Messages postés
239
Date d'inscription
jeudi 21 juillet 2005
Statut
Membre
Dernière intervention
1 juillet 2007

Waow merci encore pour toutes vos reponses, ca ma été d'un grand aide..
heu moi je vais m'en servir pour des fichier zip donc je pense que ca devrait aller ! en tous cas c'est bien sympathique toutes ces reponses ! parce que ca va m'aider d'un grand aide...


heuuu je test ca :) et je vous dis quoi ...


jaccepte les reponses mais n'hésitez surtout pas serieux a continuer a repondre au poste si vous avez d'autres idées interessante a ce sujet.. je prend toutes les idées ! bonne a savoir :)
Messages postés
373
Date d'inscription
samedi 9 juillet 2005
Statut
Membre
Dernière intervention
11 août 2008

Salut,
Avec un fichier ".htaccess" tu empêche l'accès à toute personne (sauf au serveur ...)
Comme le HTML est interprété côté client, l'image ne pourra pas s'afficher ...

For every choice, a consequence (Fable)
Messages postés
1980
Date d'inscription
dimanche 20 février 2005
Statut
Membre
Dernière intervention
24 septembre 2012
5
Le seul moyen d'empêcher uniquement les robots de visiter ton site ben... c'est d'utiliser un filtre anti-robot, par l'IP typiquement.
à+
Messages postés
239
Date d'inscription
jeudi 21 juillet 2005
Statut
Membre
Dernière intervention
1 juillet 2007

arf et vous avez des liens pour me documenter ?
Messages postés
1980
Date d'inscription
dimanche 20 février 2005
Statut
Membre
Dernière intervention
24 septembre 2012
5
Non, pas spécialement. Cherche script antirobot, filtre, tu devrais trouver. L'idée est de mettre un lien invisible sur ton site que seuls les robots trouveront. Et tu bannis ceux qui suivent ce lien. Mais parmi les robots, il y a ceux de google...
bref il n'y a pas réellement de bonne solution à ce que tu demandes.

à la limite si t'es obligé, tu copies l'image en question dans un autre répertoire (qui lui n'a pas de htaccess) au moment du chargement de la page, et c'est elle que tu affiches. Une fois que la page a été affichée, tu te débrouilles pour effacer l'image.

mais c'est peu nul tout ça, il est temps que qqn invente un nouveau système de htaccess
Messages postés
373
Date d'inscription
samedi 9 juillet 2005
Statut
Membre
Dernière intervention
11 août 2008

Ton idée est pas mal Evangun (supprimer l'image au chargement) mais elle ne fonctionnera pas puisque le serveur va supprimer l'image avant de l'envoyer au serveur ...

Sinon il existe bien un moyen :
-> Tu mets dans ton dossier image un fichier ".htaccess" contenant : "
<Files *.jpg>
order allow,deny
deny from all
</Files>
" (Biensur tu mettras toutes les extensions de tes fichiers images)
-> Tu crées, dans ce dossier, un fichier "images.php" contenant : "
<?php
if (isset($_GET['image']) AND $_SERVER['PHP_SELF'] === '') { // Il faut remplacer "=== ''" par la valeur de $_SERVER['PHP_SELF'] du fichier qui va ouvrir les images
    switch($_GET['image']) {
        case 'image1.jpg': $return = TRUE; break;
        case 'image2.jpg': $return = TRUE; break;
        default: $return = FALSE; break;
    }
    if ($return === TRUE) {
        $fp = fopen('images/'.$_GET['image'],'r');
         while(!feof($fp)) echo fgets($fp);
        fclose($fp);
    }
}
?>
"
-> Pour afficher une image, tu feras désormais : ""

For every choice, a consequence (Fable)
Messages postés
1980
Date d'inscription
dimanche 20 février 2005
Statut
Membre
Dernière intervention
24 septembre 2012
5
hello,
j'ai écrit "tu te débrouilles pour effacer l'image", implicitement : plus tard
mais je n'avais pas pensé à ton système audeyls, si ça marche c'est une bonne chose à connaître.
Messages postés
1980
Date d'inscription
dimanche 20 février 2005
Statut
Membre
Dernière intervention
24 septembre 2012
5
J'ai testé et comme je le pensais ça renvoie le contenu du fichier, genre �13;q2�6;�14;‘¡±B#$�15;RÁb34r‚ÑC�7;%’Sðáñcs5�16;¢²ƒ&D“TdE£t6 sur 5 pages...

tu fais comment pour que l'image s'affiche correctement ?