18 Juil 2012
Empêche la page d'être stockée dans le cache
Compatibilité : PHP 5, PHP 7
Empêche la page d'être stockée dans le cache du navigateur. Veiller à ne pas mettre de sortie print (du HTML par exemple) avant ce bout de code.
J'ai du me pencher sur ce point, complexe mais sympathique, de sécurité: Comment cacher un fichier image sur un serveur web pour empecher le hotlink ?
J'ai pensé à l'utilisation d'un .htaccess, mais ne voulant pas utiliser d'htaccess, pour que ce soit utilisable pour le plus de monde ( des hébergeurs gratuits bloquent les fichiers de configuration apache ... d'autres sont sous ISS, etc ... ), puis c'est bien plus drôle de tout faire soit même !
Attention: Pour exécuter ce script exemple, il faut indiquer un fichier image (jpeg ou png) correct dans $input
Pour plus de sécurité, on bloque les appelles directs sur tous les php générés par le système.
Ici, on ne va même pas stocker le fichier image. On va générer un fichier php (le contenant) qui va contenir la valeur hexadécimale de l'image.
Dès qu'on appelle le contenant, il recrée l'image avec un nom généré avec deux rand() et un md5, puis il génère un autre php (afficheur) qui, avec GD, va devenir une copie de l'image recréée et va la supprimer instantanément pour que aucun utilisateur n'ai un accès direct au fichier d'origine.
Après ce travail minutieux, le contenant appelle l'afficheur via une balise . Tadada, notre image est affichée sans être contenue directement sur le serveur.
Cette méthode présente le défaut de doubler le poids de l'image: en effet, chaque valeur hexadécimale de l'image ( ex: e4 ), vas être convertie en une chaine de caractère ascii pour pouvoir être stockée sans causer de bug; Donc notre octet e4 vas devenir deux octets: 65 34 ( 65 étant e, et 34 étant 4 ).
|
|
php.net | Description | Versions PHP | OUTIL |
---|---|---|---|
define | Définit une constante | PHP 4, PHP 5, PHP 7, PHP 8 | |
fclose | Ferme un fichier | PHP 4, PHP 5, PHP 7, PHP 8 | |
filesize | Renvoie la taille d'un fichier | PHP 4, PHP 5, PHP 7, PHP 8 | |
file_exists | Vérifie si un fichier existe | PHP 4, PHP 5, PHP 7, PHP 8 | |
fopen | Ouverture d'un fichier ou d'une URL | PHP 4, PHP 5, PHP 7, PHP 8 | |
fputs | Alias de fwrite() | PHP 4, PHP 5, PHP 7, PHP 8 | |
fread | Lecture du fichier en mode binaire | PHP 4, PHP 5, PHP 7, PHP 8 | |
is_dir | Indique si le fichier est un dossier | PHP 4, PHP 5, PHP 7, PHP 8 | |
mkdir | Crée un dossier | PHP 4, PHP 5, PHP 7, PHP 8 | |
ord | Retourne le code ASCII d'un caractère | PHP 4, PHP 5, PHP 7, PHP 8 | |
return | Retourne le controle du programme au module appelant. | PHP 4, PHP 5, PHP 7, PHP 8 | |
sprintf | Retourne une chaîne formatée | PHP 4, PHP 5, PHP 7, PHP 8 | |
stripslashes | Supprime les anti-slash d'une chaîne | PHP 4, PHP 5, PHP 7, PHP 8 | |
strlen | Calcule la taille d'une chaîne | PHP 4, PHP 5, PHP 7, PHP 8 | |
unlink | Efface un fichier | PHP 4, PHP 5, PHP 7, PHP 8 | |
Empêche la page d'être stockée dans le cache du navigateur. Veiller à ne pas mettre de sortie print (du HTML par exemple) avant ce bout de code.
Empêche la page d'etre stockée en cache. Utile pour des espaces membres et pour empêcher le hack du cache navigateur.
Images PHP- Choisir le texte et le placer ou vous voulez sur l'image - Choisir la couleur de fond de l'image et choisir la dimension de l'image en pixel
Ce script va mettre a jour vos tables dans le format que vous souhaitez. Il est vivement recommandé de faire une sauvegarde de votre database avant de lancer ce script
Cette fonction vous permettra d'intégrer du texte sur une image avec un retour à la ligne automatique au bout d'une longueur de texte définie sans