Sécuriser son site web e-commerce

La sécurité d'un site web e-commerce, de même que les éléments démontrant la sécurité d'un site web sont des éléments très importants à prendre en considération lorsque l'on souhaite vendre sur son site Internet. Imaginez que des informations confidentielles sur vos clients seraient reprises dans les hackers avec de mauvaises intentions. La réputation de votre entreprise en serait affectée considérablement.

Voici quelques petites astuces de sécurité à apporter à votre plateforme e-commerce :

Sécuriser les données qui entrent dans la base de données

Un des éléments fondamentaux lorsque nous avons un site web est la base de données. Celle-ci contient les produits, les clients, les commandes, les revenus du commerce, etc. Il est important de crypter chaque donnée insérée dans celle-ci afin d'éviter les injections malhonnêtes.

Vous devez faire passer chacune de vos variables envoyées $_POST, $_SESSION ou $_GET dans la fonction PHP mysql_real_escape_string.

Voici un exemple d'utilisation :


$adresseLivraison = mysql_real_escape_string($_POST['adresseLivraison'])

Ensuite, vous pouvez insérer les données dans la table de la base de données.

Il est important également d'utiliser cette fonction si vous utilisez une variable GET afin de sélectionner un objet dans la base de données, exemple :


$sql = "SELECT * FROM maTable WHERE id = '".mysql_real_escape_string
($_GET['id'])."'";

Sécuriser les données qui ressortent de la base de données

Il est également fortement conseillé de sécuriser les données ressortis de la base de données et également ceux envoyés qui serait récupéré dans la page avec la fonction PHP htmlspecialchars.

Voici un exemple d'utilisation :

 

Protéger votre répertoire de connexion à la base de données

Une petite astuce pour limiter les chances d'intrusion à votre base de données serait de donner un nom farfelu à votre fichier contenant les identifiants de connexion à votre base de données. En effet, il n'est pas nécessairement conseillé de nommer son fichier, exemple, config.php. Prenons par exemple, si vous possédez un site wordpress, et qu'il y a une intrusion sur votre FTP, le pirate sait qu'il doit ouvrir le fichier wp-config.php afin d'accéder rapidement à votre fichier de config.

Hacher les mots de passe

Votre plateforme en ligne de commerce contient probablement une section pour vos clients. Celle-ci permet de se connecter à l'aide d'un identifiant et d'un nom de passe. Ce mot de passe est enregistré dans votre base de données et s'il advenait d'une intrusion, les hackers pourraient prendre possession de ses mots de passe et se connecter au compte des clients.

Il existe deux solutions très simples en PHP pour hacher les mots de passe. Ceci transforme les mots de passe en une série de caractères aléatoire. Vous devez passer la variable du mot de passe dans la fonction sha1 ou md5.

Voici un exemple d'utilisation :


$password = md5($_POST['password'])

Attention! Veuillez utiliser cette fonction à l'entrée et à la sortie de la base de données!

Ajouter un grain de "Salt"

Bien que les fonctions de hachage de PHP diminuent le risque d'une intrusion dans l'un de vos comptes clients, il y a encore des risques. En effet, il existe des bibliothèques qui génère du sha1 ou du md5, et oui, c'est un petit algorithme, alors il y a une méthode pour résoudre la solution. Vous avez alors le choix de créer votre propre algorithme de hachage ou d'utiliser un SALT. Ajouter un petit grain de sel à votre mot de passe, invisible de tous. Qui est ajouté à chaque mot de passe.

Voici un exemple d'utilisation :


$password = $_POST['password'];
$salt = md5($password."votrecodesecret"));

Petite astuce : passez votre variable dans les deux fonctions en plus du salt ;)

 

Utiliser un certificat SSL

L'utilisation d'un certificat SSL permet de sécuriser les données de sont site web. Chaque donnée transmise du navigateur au serveur (à votre base de données) est cryptée. Si les données étaient interceptées par un pirate, elle serait complètement illisible. Le certificat SSL permet également d'augmenter le niveau de confiance qu'auront les visiteurs envers votre site web. En effet, si vos clients potentiels remarquent la présence du "HTTPS" et du logo d'une autorité de certification, cela augmentera à coup sûr les chances qu'ils effectuent une transaction.

En espèrent que cet article vous a été utile. Nous sommes conscients qu'il y a d'autres méthodes par exemple, empêcher les includes dans les URL, interdire le listage des répertoires, etc. Mais nous considérons que ceux-ci sont les fondamentaux.


Vous avez aimé cet article? Partagez-le!