août 07
24
Voici une fonction PHP très simple qui vous permettra de générer un mot de passe à utiliser dans vos fichiers .htpasswd, dans le cadre de la mise en place d’une protection par fichier .htaccess.
<?php
function htpasswd
($password) {
$pass =
crypt(trim($password),CRYPT_STD_DES
);
return $pass;
}
// Exemple d'utilisation
echo htpasswd
('monMotDePasse');
?>
août 07
19
Pour des besoins de sécurité (ou de curiosité), vous pouvez avoir envie de récupérer l’adresse IP de vos visiteurs. PHP vous la fournit très simplement en utilisant la variable $_SERVER[REMOTE_ADDR].
Par exemple pour afficher l’adresse IP :
<?php echo $_SERVER["REMOTE_ADDR"];
?>
Vous pouvez la stocker dans une base de données accompagnée de la date et de l’heure en cas d’opérations sensibles effectuées par vos visiteurs sur le site, comme par exemple l’upload de fichiers. Si vous avez un problème avec l’un de vos internautes, vous pourrez contacter son FAI avec ces informations pour entamer des poursuites judiciaires. Je vous souhaite néanmoins de ne jamais avoir besoin d’en arriver là ;-)
août 07
18
Il existe des fichiers, comme les fichiers texte ou les images, qui sont directement affichés par le navigateur lorsqu’un lien direct pointe vers eux depuis votre site. Avec PHP vous pouvez proposer à vos visiteurs de télécharger ce fichier au lieu de l’afficher. Voici le code à utiliser:
<?php
// information concernant le fichier à télécharger
$fichier =
'mon_repertoire/mon_fichier.jpg';
$nom_fichier =
'mon_fichier.jpg';
// téléchargement du fichier
header('Content-disposition: attachment; filename='.
$nom_fichier);
header('Content-Type: application/force-download');
header('Content-Transfer-Encoding: fichier');
header('Content-Length: '.
filesize($fichier));
header('Pragma: no-cache');
header('Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0');
header('Expires: 0');
readfile($fichier);
?>
Placez ce code dans une page nommée “telecharger.php” (par exemple) et faîtes un lien vers cette page pour forcer le téléchargement. Attention, votre page “telecharger.php” ne doit pas contenir de code HTML !