Tutoriels WordPress de confiance, quand vous en avez le plus besoin.
Guide du débutant pour WordPress
WPB Cup
25 millions+
Sites web utilisant nos plugins
16+
Années d'expérience WordPress
3000+
Tutoriels WordPress par des experts

Comment prévenir les attaques par injection SQL dans WordPress (7 astuces)

Sécuriser votre site WordPress contre les attaques par injection SQL est nécessaire pour protéger vos données et maintenir la confiance de vos visiteurs.

L'injection SQL est une technique courante utilisée par les pirates pour attaquer votre base de données. Une fois qu'ils y parviennent, les pirates peuvent lire vos données sensibles, les modifier et prendre le contrôle de votre base de données entière.

Pour protéger votre site Web contre cette menace, il est crucial de mettre en œuvre des mesures de sécurité solides sur votre site Web.

Chez WPBeginner, nous prenons la sécurité très au sérieux et avons fait des efforts considérables pour protéger notre site contre les pirates et les logiciels malveillants. Bon nombre des pratiques de sécurité que nous recommandons contre les attaques par injection SQL sont des méthodes que nous avons nous-mêmes utilisées avec succès.

Dans cet article, nous partagerons quelques astuces concrètes pour prévenir les attaques par injection SQL dans WordPress, étape par étape.

Prévenir les attaques par injection SQL dans WordPress

Pourquoi prévenir les attaques par injection SQL dans WordPress ?

SQL signifie Structured Query Language, qui est un langage de programmation qui communique avec la base de données de votre site WordPress. Sans cette fonctionnalité, votre site ne peut pas générer de contenu dynamique.

Cependant, une saisie utilisateur non autorisée, un logiciel obsolète ou la divulgation d'informations sensibles peuvent créer une vulnérabilité de sécurité et permettre aux pirates de réaliser facilement des attaques par injection SQL.

Cette attaque cible votre serveur de base de données et ajoute du code ou des instructions malveillants à votre SQL. Ce faisant, les pirates peuvent utiliser les informations sensibles stockées dans votre base de données, comme les données des utilisateurs, pour le vol d'identité, le détournement de compte, la fraude financière, et plus encore.

Ils peuvent également modifier les entrées de la base de données ou les autorisations de compte et effectuer des attaques DDoS, rendant difficile pour les utilisateurs réels la visite de votre site Web.

Cela peut nuire à la confiance des clients, affecter négativement l'expérience utilisateur et diminuer le trafic du site Web, ce qui sera préjudiciable à la croissance de votre petite entreprise.

Cela dit, examinons quelques conseils concrets qui peuvent prévenir les attaques par injection SQL dans WordPress. Voici un aperçu rapide de ce dont nous allons parler dans cet article :

  1. Effectuez des mises à jour régulières du site et utilisez un pare-feu
  2. Masquez votre version de WordPress
  3. Changer le préfixe de la base de données WordPress
  4. Validez les données utilisateur
  5. Limitez l'accès et les autorisations des rôles d'utilisateur
  6. Créez des messages d'erreur de base de données personnalisés
  7. Supprimez les fonctionnalités inutiles de la base de données

Remarque : Avant d'apporter des modifications à votre base de données à des fins préventives, nous vous recommandons d'en créer une sauvegarde. Ainsi, si quelque chose tourne mal, vous pourrez utiliser la sauvegarde pour le corriger. Pour plus de détails, consultez notre tutoriel sur comment faire une sauvegarde manuelle de la base de données WordPress.

1. Effectuez des mises à jour régulières du site et utilisez un pare-feu

Un moyen efficace de prévenir les attaques par injection SQL est de mettre régulièrement à jour votre site WordPress vers la dernière version. Ces mises à jour corrigent souvent les vulnérabilités de sécurité, y compris les problèmes de logiciel de base de données, rendant difficile pour les pirates d'attaquer votre site.

Si vous utilisez une version obsolète de WordPress, nous vous recommandons d'activer les mises à jour automatiques pour la dernière version en visitant la page Tableau de bord » Mises à jour.

Ici, cliquez simplement sur le lien « Activer les mises à jour automatiques pour toutes les nouvelles versions de WordPress ». Désormais, toutes les mises à jour majeures seront installées sur votre site dès leur publication.

Installer les mises à jour de WordPress

Pour plus d'informations, vous pourriez consulter notre guide pour débutants sur comment mettre à jour WordPress en toute sécurité.

Une fois que vous avez fait cela, vous pouvez également ajouter un pare-feu pour une sécurité supplémentaire. Cette fonctionnalité agit comme un bouclier entre votre site et le trafic entrant et bloque les menaces de sécurité courantes, y compris les attaques SQL, avant qu'elles n'atteignent votre site Web.

Si vous gérez une petite entreprise en ligne, nous vous recommandons Sucuri, qui est l'une des meilleures options de logiciels de pare-feu WordPress sur le marché. Il offre un pare-feu au niveau de l'application, une prévention des attaques par force brute, ainsi que des services d'élimination des logiciels malveillants et des listes noires, ce qui en fait un excellent choix.

Comment un pare-feu de site web bloque les attaques

Nous avons une expérience directe avec cet outil. Il nous a même aidés à bloquer 450 000 attaques WordPress sur notre site Web par le passé.

Cela dit, Sucuri pourrait ne pas être assez puissant pour les sites plus grands et à fort trafic. Dans ce cas, vous pourriez envisager Cloudflare, qui peut vous offrir des fonctionnalités de sécurité ainsi qu'un réseau de diffusion de contenu (CDN) impressionnant.

Si vous n'êtes pas sûr de l'option la mieux adaptée à votre site Web, consultez notre article sur les raisons pour lesquelles nous sommes passés de Sucuri à Cloudflare ou notre comparaison Sucuri vs Cloudflare.

2. Masquer votre version de WordPress

Par défaut, WordPress affiche le numéro de version actuel du logiciel que vous utilisez sur votre site web. Par exemple, si vous utilisez WordPress 6.4, cette version sera affichée sur votre site pour le suivi.

Cependant, la visibilité publique de votre numéro de version peut créer des menaces de sécurité et faciliter les attaques par injection SQL sur WordPress pour les pirates.

Supprimer le numéro de version de WordPress

En effet, chaque version de WordPress a ses propres vulnérabilités uniques que les attaquants peuvent exploiter après avoir découvert votre version. Cela leur permettra d'ajouter des extraits de code malveillants à votre site via des champs de saisie vulnérables.

Vous pouvez facilement supprimer le numéro de version de votre site en ajoutant l'extrait de code suivant à votre fichier functions.php.

add_filter('the_generator', '__return_empty_string');

Une fois que vous aurez fait cela, les pirates ne pourront plus trouver votre numéro de version WordPress via des scanners automatiques ou toute autre méthode.

Remarque : Gardez à l'esprit qu'une petite erreur lors de l'ajout de code peut rendre votre site web inaccessible. C'est pourquoi nous recommandons WPCode. C'est le meilleur plugin d'extraits de code qui rend l'ajout de code personnalisé à votre site super sûr et facile.

Pour plus de détails, consultez notre tutoriel sur la bonne façon de supprimer le numéro de version de WordPress.

3. Changer le préfixe de la base de données WordPress

Par défaut, WordPress ajoute le préfixe wp_ à tous vos fichiers de base de données, ce qui permet aux pirates de planifier une attaque en ciblant le préfixe.

La manière la plus simple de prévenir les attaques par injection SQL est de changer le préfixe de base de données par défaut avec quelque chose d'unique que les pirates ne pourront pas deviner.

Vous pouvez facilement le faire en connectant votre site web via FTP. Ensuite, ouvrez le fichier wp-config.php et trouvez la ligne pour changer le $table_prefix. Ensuite, vous pouvez le changer du simple wp_ par défaut à quelque chose d'autre comme ceci : wp_a123456_.

$table_prefix  = 'wp_a123456_';

Ensuite, vous devez visiter le cPanel de votre compte d'hébergement web. Pour ce tutoriel, nous utiliserons Bluehost. Cependant, votre cPanel peut avoir un aspect légèrement différent en fonction de votre société d'hébergement web.

Ici, passez à l'onglet « Avancé » et cliquez sur le bouton « Gérer » à côté de la section « PHPMyAdmin ».

Cliquez sur le bouton Gérer à côté de la section PHPMyAdmin

Cela ouvrira une nouvelle page où vous devrez sélectionner le nom de votre base de données dans la colonne de gauche et passer à l'onglet « SQL » en haut.

Après cela, vous pouvez ajouter la requête SQL suivante dans la zone de texte.

Requête SQL dans phpMyAdmin

Gardez simplement à l'esprit de changer le préfixe de la base de données pour celui que vous avez choisi lors de la modification du fichier wp-config.php.

RENAME table `wp_comments` TO `wp_a123456_comments`;
RENAME table `wp_links` TO `wp_a123456_links`;
RENAME table `wp_options` TO `wp_a123456_options`;
RENAME table `wp_postmeta` TO `wp_a123456_postmeta`;
RENAME table `wp_RENAME table `wp_commentmeta` TO `wp_a123456_commentmeta`;
posts` TO `wp_a123456_posts`;
RENAME table `wp_terms` TO `wp_a123456_terms`;
RENAME table `wp_termmeta` TO `wp_a123456_termmeta`;
RENAME table `wp_term_relationships` TO `wp_a123456_term_relationships`;
RENAME table `wp_term_taxonomy` TO `wp_a123456_term_taxonomy`;
RENAME table `wp_usermeta` TO `wp_a123456_usermeta`;
RENAME table `wp_users` TO `wp_a123456_users`;

Pour plus d'instructions, vous pouvez consulter notre tutoriel sur comment changer le préfixe de la base de données WordPress pour améliorer la sécurité.

4. Valider les données utilisateur

Les pirates injectent généralement des attaques SQL sur votre site Web en utilisant des champs pour saisir des données utilisateur, tels que les sections de commentaires ou les champs de formulaire de contact.

C'est pourquoi il est important de valider toutes les données soumises sur votre blog WordPress. Cela signifie que les données utilisateur ne seront pas soumises sur votre site si elles ne suivent pas un format spécifique.

Par exemple, un utilisateur ne pourra pas soumettre son formulaire si le champ d'adresse e-mail ne contient pas le symbole '@'. En ajoutant cette validation à la plupart de vos champs de formulaire, vous pouvez empêcher les attaques par injection SQL.

Validez votre champ e-mail

Pour ce faire, vous aurez besoin de Formidable Forms, qui est un plugin de création de formulaires avancé. Il est doté d'une option « Format de masque d'entrée » où vous pouvez ajouter le format que les utilisateurs doivent suivre pour soumettre les données du champ du formulaire.

Vous pouvez ajouter un format spécifique pour les numéros de téléphone ou les champs de texte simples.

Ajouter le format du numéro de téléphone

Si vous ne souhaitez pas valider les champs de votre formulaire, nous vous recommandons WPForms car c'est le meilleur plugin de formulaire de contact qui offre une protection complète contre le spam et la prise en charge de Google reCAPTCHA.

Il vous permet également d'ajouter des menus déroulants et des cases à cocher à vos formulaires, ce qui rend difficile pour les pirates d'ajouter des données malveillantes.

wpforms

Pour plus de détails, consultez notre tutoriel sur comment créer un formulaire de contact sécurisé dans WordPress.

5. Limiter l'accès et les autorisations des rôles d'utilisateur

Une autre astuce pour prévenir les attaques par injection SQL dans WordPress est de limiter l'accès des utilisateurs à votre site Web.

Par exemple, si vous avez un blog multi-auteurs, vous aurez divers auteurs ainsi que des abonnés et des administrateurs. Dans ce cas, vous pouvez améliorer la sécurité du site en limitant l'accès complet d'administration à l'administrateur uniquement.

Vous pouvez restreindre tous les autres rôles d'utilisateur à des fonctions spécifiques dont ils auront besoin pour accomplir leur travail. Cela réduira l'accès des utilisateurs à votre base de données et empêchera les attaques par injection SQL.

Vous pouvez le faire avec le plugin gratuit Remove Dashboard Access. Après activation, visitez simplement la page Paramètres » Accès au tableau de bord, où vous pouvez décider quels rôles d'utilisateur ont accès au tableau de bord.

Limiter les paramètres d'accès au tableau de bord

Si vous souhaitez limiter les utilisateurs en fonction de leurs capacités, consultez notre tutoriel sur comment ajouter ou supprimer des capacités aux rôles d'utilisateur dans WordPress.

De même, vous pouvez également limiter les auteurs à leurs propres articles dans votre zone d'administration pour plus de sécurité.

6. Créer des messages d'erreur de base de données personnalisés

Parfois, vos utilisateurs peuvent rencontrer une erreur de base de données sur votre site Web, qui peut afficher des informations importantes sur votre base de données, la rendant vulnérable aux attaques par injection SQL.

Dans ce cas, nous vous recommandons de créer un message d'erreur de base de données personnalisé qui s'affichera aux utilisateurs lorsqu'ils rencontreront cette erreur courante. Pour ce faire, vous devrez copier et coller le contenu suivant dans une application de bloc-notes et enregistrer le fichier sous le nom « db-error.php ».

<?php // custom WordPress database error page
   
  header('HTTP/1.1 503 Service Temporarily Unavailable');
  header('Status: 503 Service Temporarily Unavailable');
  header('Retry-After: 600'); // 1 hour = 3600 seconds
   
  // If you wish to email yourself upon an error
  // mail("your@email.com", "Database Error", "There is a problem with the database!", "From: Db Error Watching");
   
?>
   
<!DOCTYPE HTML>
<html>
<head>
<title>Database Error</title>
<style>
body { padding: 20px; background: red; color: white; font-size: 60px; }
</style>
</head>
<body>
  You got problems.
</body>

Après cela, connectez votre site à un programme FTP et téléchargez le fichier que vous venez de créer dans le répertoire /wp-content/ de votre site.

Désormais, lorsque les utilisateurs rencontreront une erreur de base de données sur votre site Web, ils verront un message d'erreur les informant du problème sans révéler d'informations sensibles.

Page de prévisualisation personnalisée des erreurs de base de données

De plus, le titre « Erreur de base de données » s'affichera dans l'onglet du navigateur Web.

Pour plus de détails, consultez notre tutoriel sur comment ajouter une page d'erreur de base de données personnalisée dans WordPress.

7. Supprimer la fonctionnalité de base de données inutile

Pour prévenir les attaques par injection SQL, vous devriez également essayer de supprimer toutes les fonctionnalités et tous les fichiers de base de données dont vous n'avez pas besoin sur votre site Web.

Par exemple, vous pouvez supprimer les tables inutiles, les brouillons ou les commentaires non approuvés qui peuvent rendre votre base de données vulnérable aux pirates.

Pour supprimer la fonctionnalité de base de données inutile, nous recommandons WP-Optimize. C'est un plugin incroyable qui supprime les tables inutiles, les révisions de publication, les brouillons, les commentaires mis à la corbeille, les publications supprimées, les pings, les métadonnées de publication, et bien plus encore.

Supprimer les fonctionnalités inutiles de la base de données

Il supprime tous les fichiers dont vous n'avez pas besoin et optimise votre base de données pour la rendre plus sécurisée et plus rapide. Pour plus de détails, consultez notre guide pour débutants sur comment optimiser votre base de données WordPress.

Nous espérons que cet article vous a aidé à apprendre comment prévenir les attaques par injection SQL sur WordPress. Vous pourriez également aimer consulter notre guide pour débutants sur comment vérifier les mises à jour de sécurité WordPress ou notre guide ultime de la sécurité WordPress.

Si cet article vous a plu, abonnez-vous à notre chaîne YouTube pour des tutoriels vidéo WordPress. Vous pouvez également nous retrouver sur Twitter et Facebook.

Avis : Notre contenu est financé par nos lecteurs. Cela signifie que si vous cliquez sur certains de nos liens, nous pouvons percevoir une commission. Voir comment WPBeginner est financé, pourquoi c'est important et comment vous pouvez nous soutenir. Voici notre processus éditorial.

La boîte à outils WordPress ultime

Accédez GRATUITEMENT à notre boîte à outils - une collection de produits et de ressources liés à WordPress que tout professionnel devrait posséder !

Interactions des lecteurs

3 CommentsLeave a Reply

  1. C'est nouveau pour moi que je puisse facilement masquer la version de WordPress, ce qui empêchera par défaut les pirates de deviner les vulnérabilités basées sur les versions de WordPress et leurs failles.
    Super conseils pour protéger un site web contre les injections SQL.
    Je vais mettre en œuvre ces astuces pour rendre mon site web à l'épreuve de toute faille de sécurité.

  2. Pour moi, masquer la version de WordPress est nouveau. Chaque version de WordPress a ses propres vulnérabilités, donc masquer le numéro de version laissera les pirates dans le flou quant à la version de WordPress utilisée, sans parler de l'exploitation des vulnérabilités associées, merci pour l'information. Je pense aussi que si vous développez un plugin qui collecte les entrées des utilisateurs, il est sage d'échapper les entrées des utilisateurs (après validation normale) qui seront insérées dans la base de données.

  3. La sécurité de WordPress est l'alpha et l'oméga pour moi. Lié à cela, il y a le SQL, auquel je n'ai jamais prêté beaucoup d'attention. Merci pour cette liste de super conseils. Je vais vérifier mon blog tout de suite pour voir ce que je peux améliorer selon votre liste. Au moins, j'essaierai de masquer la version et ainsi de suite.

Laisser un commentaire

Merci d'avoir choisi de laisser un commentaire. N'oubliez pas que tous les commentaires sont modérés conformément à notre politique de commentaires, et votre adresse e-mail ne sera PAS publiée. Veuillez NE PAS utiliser de mots-clés dans le champ du nom. Ayons une conversation personnelle et significative.