Sécuriser SQLite
Article écrit par kazhar
Cela fait maintenant deux mois que la version 1.0.0 de PHP5 est sortie.
Une des grandes nouveautés de PHP5 est qu'il n'est plus livré avec mySQL, mais avec SQLite.
SQLite a le gros avantage de ne pas utiliser de serveur. tous les fichiers des bases de données sont placés sur votre serveur.
Par exemple, l'exemple suivant permet d'ouvrir une base de données SQLite :
Code :
<?php
$connect = sqlite_open('sqlite.db');
?>
La base de données est ici contenue dans le fichier sqlite.db
En vous penchant un peu sur la question, vous vous rendrez rapidement compte qu'en laissant le fichier tel qu'il est à sa création, il suffirait à une personne mal intentionnée de récuperer ce fichier afin d'obtenir toutes les données de votre base de données, qui peuvent être confidentielles...
Il est donc nécessaire de proteger ses fichiers. Linux etant un standard pour les sites tournant avec PHP, nous n'etudirons que ce cas la.
Tout d'abord, si vous possdez un serveur dedié, il vous suffit de créer un répertoire accessible uniquement en local (un repertoire au dessus de l'accès web par exemple) et le problème sera résolu, les bases de données n'étant pas accessibles autrement qu'en local.
En revanche, si vous possedez un hébergement mutualisé, vous n'avez pas forcément le pouvoir d'opter pour cette solution. Il va donc vous falloir jouer avec les chmods.
Seule la lecture est nécessaire à interdire. mais, il faut l'interdire uniquement aux visiteurs.
Il faut donc configurer le chmod de votre base à 640, soit lecture pour le groupe, et le propriétaire.
Ainsi, vous pourrez charger votre base de données en local. mais, lorsque quelqu'un tentera d'y acceder à distance, il aura une erreur 403... et votre base de données SQLite sera sécurisée
Source : http://www.phportail.net