frangando.free.fr


L'erreur 403.

Il est possible d'empêcher l'accès à un répertoire. C'est très facile.


Le répertoire image/ est protégé par le fichier .htaccess ci-dessous.

deny from all

Un lien vers le répertoire image/ aboutira à la page /pages/403.html.
ce répertoire ne comporte q'une seule image, en plus du fichier .htaccess. Son nom est bloc.png et, bien évidemment, elle n'est pas accessible par une requête HTML car elle est protégée par le .htaccess.


Une autre image placée en dehors de ce répertoire protégé s'affiche normalement.


Maintenant, nous allons montrer que PHP n'est pas affecté par .htaccess.
Je vous présente donc l'image image/bloc.png, accedée par un script PHP puis restituée.
Je devine des regards effarés par cette démonstration. Rassurez-vous, PHP est un language de script executé par le serveur. Les scripts sont donc executés par le serveur et se ne sont que les résultats qui sont transmis au client.
Un petit coup d'oeil sur ce script magique.

<?php
    // Bibliothèque de gestion des images png
    header("Content-type: image/png");
  
    // On crée l'image à partir de la vraie image stockée dans un endroit caché
    $image = imagecreatefrompng("../image/bloc.png");

    // Gestion de la transparence
    imageAlphaBlending($image, false);
    imageSaveAlpha($image, true);
    // Affichage de l'image
    imagepng($image);
    // Destruction de la variable contenant l'image
    imagedestroy($image);
?>

Il est bien sûr possible d'afficher cette image dans une page HTML grâce à l'utilisation du script.




En conclusion :
Les données sont protégées du client avec .htaccess et restent accessibles aux scripts PHP pour être traitées.


J'espère que cet exercice était suffisament démonstratif et clair.

© 2006-2008  frangando.free.fr

Valid XHTML 1.0! Valid CSS!