Avec la priorité croissante accordée à la sécurité Web, les certificats SSL ont commencé à devenir une pratique courante lors de la configuration de sites Web..
Cet article vous montrera comment implémenter SSL sur votre site Web WordPress mais n'ira pas dans les détails pour acheter et configurer des certificats avec votre hôte Web, car cela change d'un fournisseur à l'autre..
Cela dit, la plupart des hébergeurs vendent et installent des certificats SSL pour leurs clients pour un prix relativement modique. Pour effectuer les modifications décrites dans cet article, vous devez déjà avoir un certificat SSL configuré sur votre serveur Web..
SSL.com décrit SSL comme:
SSL (Secure Sockets Layer) est la technologie de sécurité standard utilisée pour établir un lien crypté entre un serveur Web et un navigateur. Ce lien garantit que toutes les données transmises entre le serveur Web et les navigateurs restent privées et intégrales..
Il n'y a rien de tel que d'être "trop sécurisé". SSL est maintenant plus facile et plus abordable que jamais à mettre en œuvre. Si vous avez un site Web de commerce électronique ou traitez des données d'utilisateurs, alors c'est essentiel. SSL ne s'applique pas uniquement aux sites Web de commerce électronique: aucun site Web ne peut l'utiliser..
Avoir un certificat SSL valide est un bon signe de confiance à envoyer aux visiteurs de votre site Web. De nombreux utilisateurs vont maintenant rechercher https
dans la barre d'adresse de leur navigateur.
Cela va de pair avec la confiance - Google a annoncé qu'il commençait à utiliser SSL comme signal de classement.
Comme toujours, avec tout changement sur un site Web, vous devez d'abord effectuer une sauvegarde complète et travailler sur un site Web intermédiaire avant de modifier le site Web en direct..
Pouvoir sécuriser le back-end de WordPress est en fait une fonctionnalité intégrée au cœur de WordPress. Pour activer cette option, vous devrez modifier votre wp-config.php
fichier qui se trouve à la racine de votre installation WordPress. Il est important de toujours faire une sauvegarde de ce fichier avant de le modifier car il contient des données cruciales qui permettent à votre installation WordPress de fonctionner..
Une fois ce fichier édité, le FORCE_SSL_ADMIN
constante doit être réglé sur vrai
. Le code complet ressemble à ceci:
define ('FORCE_SSL_ADMIN', true);
Une fois cette ligne ajoutée (peut être ajoutée au bas de la fenêtre) wp-config.php
fichier) veillez à enregistrer le fichier. Une actualisation devrait montrer que ceci est en cours de chargement sur HTTPS.
WordPress HTTPS est un choix populaire parmi les utilisateurs qui souhaitent utiliser SSL sur leur site WordPress. Le plugin offre un moyen simple de forcer SSL à partir de l’administrateur de WordPress. Il est très utile si vous souhaitez sécuriser uniquement certaines parties de votre site Web (publications ou pages), mais vous pouvez également l'utiliser pour sécuriser l'ensemble de votre site et supprimer automatiquement les éléments non sécurisés..
Pour installer le plugin, à partir du tableau de bord WordPress, sélectionnez Plugins> Ajouter un nouveau. Ensuite, recherchez "WordPress HTTPS" et cliquez sur "Installer"..
Une fois installé, chaque publication / page aura une métabox personnalisée qui vous donnera la possibilité de sécuriser la publication et (éventuellement) toutes les publications enfants. Vérifiez quelle option vous concerne et sauvegardez votre message. Ce message (et les messages enfants si vous avez coché cette case) seront désormais diffusés via HTTPS..
La sécurisation de l’ensemble de votre site peut être effectuée à partir de la page de paramètres WordPress HTTPS. En cliquant sur l'icône du menu WordPress HTTPS à partir du tableau de bord WordPress, vous accédez à la page des paramètres. Je vais passer en revue les paramètres les plus courants:
Enfin, vers le bas de cette page, vous trouverez un champ de texte appelé "Filtres URL". Cette partie vous permet de sécuriser des sections de votre site Web basées sur une URL (elle accepte également les expressions régulières). L'exemple donné ici par le plugin est si vous voulez sécuriser toutes les URL commençant par /le magasin/
.
Pour ce faire, vous tapez /le magasin/
dans la zone de texte et cliquez sur "Enregistrer les modifications". Pour chaque nouveau filtre que vous créez, vous devrez créer une nouvelle ligne. Le paramètre "Filtres sécurisés" peut également être utilisé pour que le plug-in sécurise l'ensemble de votre site Web. Ajoutez simplement un filtre qui est une barre oblique (/). Désormais, toute personne tentant d’accéder via HTTP sera redirigée vers HTTPS. Il est judicieux de modifier également les paramètres d'URL standard de WordPress si vous utilisez l'intégralité de votre site Web via HTTPS. Ceci est expliqué dans la section suivante de l'article.
Mettre à jour: Les utilisateurs ont signalé des problèmes avec ce plugin et WordPress 4.0 - il est recommandé de ne pas utiliser cette solution tant que ces problèmes ne sont pas résolus. S'il vous plaît voir ci-dessous pour une solution de plugin alternative.
iThemes Security est l’un des plugins de sécurité WordPress les plus populaires. Il offre de nombreuses fonctionnalités prêtes à l'emploi pour sécuriser votre site WordPress, notamment la possibilité d'utiliser HTTPS..
Attention: Ce plugin est très puissant et certains paramètres peuvent vous empêcher de sortir de votre site Web. Pour la configuration de base du plugin, je vous recommande de regarder la vidéo officielle iThemes.
Une fois le plugin installé et configuré (voir la vidéo ci-dessus), accédez à votre tableau de bord WordPress, cliquez sur l'onglet "Sécurité", puis sur le lien "Paramètres"..
Dans la liste déroulante "Aller à", cliquez sur "Couches sécurisées (SSL)" pour accéder à la section appropriée des paramètres..
Il y a trois paramètres dans cette section:
La partie la plus utile du plugin est la possibilité de sécuriser un contenu spécifique sur le front-end; si vous souhaitez sécuriser l'ensemble du site, la solution .htaccess est probablement le pari le plus sûr.
Une fois que vous avez fait vos options ici, assurez-vous de cliquer sur le bouton "Enregistrer toutes les modifications".
Si vous avez choisi l'option "par contenu", vous verrez maintenant une case à cocher dans la métabox de publication dans les publications. Cochez cette case et cliquez sur "Mettre à jour" pour sécuriser cette page.
La sécurité de SSL pour iThemes est limitée par le fait qu’il n’autorise pas les caractères génériques, vous ne pouvez donc pas créer de règles générales..
Cette méthode convient aux utilisateurs souhaitant desservir l’ensemble du site via HTTPS. Ce que nous devons faire ici est essentiellement de rediriger tout trafic de HTTP vers HTTPS, en utilisant le code 301 (déplacé de manière permanente). Cela peut être fait avec PHP mais ma méthode préférée est d’utiliser .htaccess
. Pour que cette solution fonctionne, vous aurez besoin d’un hôte Apache avec mod_rewrite
activé - la plupart des hôtes Linux le sont, mais demandez à votre hôte avant d'apporter des modifications..
Avant de faire .htaccess
changements, il y a quelques paramètres WordPress que nous devons changer. À partir du tableau de bord WordPress, accédez à Paramètres> Général. Sous "Adresse WordPress (URL)" et "Adresse du site (URL)", vous devez modifier l'adresse Web afin qu'au lieu de http://www.votredomaine.com, il soit indiqué: https://www.votredomaine.com (notez le https
). Une fois cela fait, faites défiler vers le bas et cliquez sur le bouton "Enregistrer les modifications". Cela indique à WordPress d'utiliser HTTPS dans toutes les URL, mais n'empêche pas encore les personnes d'accéder à votre site Web via HTTP. C'est là que le .htaccess
le fichier arrive.
Si vous avez activé les permaliens, vous aurez déjà un .htaccess
fichier présent dans le répertoire racine de votre installation WordPress. Si vous ne le faites pas, vous devrez en créer un. Pour ce faire, créez un nouveau fichier avec le nom .htaccess
- ce fichier ne doit avoir aucun autre nom ou extension. .htaccess
les fichiers sont des fichiers point ou des fichiers cachés; vous devrez donc peut-être activer la visualisation des fichiers cachés dans votre système d'exploitation pour les voir..
Ensuite, ouvrez votre .htaccess
fichier avec votre éditeur de texte de choix. Si vous n’avez pas activé les permaliens, alors votre .htaccess
le fichier peut être vide. Si vous avez activé les permaliens, vous avez peut-être déjà du code qui ressemble à ceci:
# COMMENCE WordPressRewriteEngine sur RewriteBase / secure / RewriteRule ^ index \ .php $ - [L] RewriteCond% REQUEST_FILENAME! -F RewriteCond% REQUEST_FILENAME! -D RewriteRule. /secure/index.php [L] # FIN WordPress
Nous allons ajouter un peu plus de code ici. Directement au-dessus du code standard WordPress, collez ce qui suit:
# Commencez HTTPSRewriteEngine On RewriteCond% SERVER_PORT 80 RewriteRule ^ (. *) $ Https://www.votredomaine.com/$1 [R, L] # FIN HTTPS
N'oubliez pas de remplacer https://www.votredomaine.com/ par votre nom de domaine actuel. Si vous avez un blanc .htaccess
fichier puis il suffit de mettre le code directement dans le fichier.
Les première et dernière lignes de ce code avec le symbole de hachage (#) sont des commentaires et sont là pour rendre le code plus lisible par l'homme. le
vérifie que le mod_rewrite
Le module est activé car ce code repose sur mod_rewrite pour la redirection. Nous nous assurons ensuite que RewriteEngine est défini sur On car nous avons besoin du moteur de réécriture pour créer nos redirections. Ensuite, nous définissons une condition pour notre réécriture, ce qui signifie que la règle créée ne sera exécutée que si le port 80 est utilisé (le port 80 est le port HTTP standard). Enfin, RewriteRule redirige les utilisateurs vers la version HTTPS du domaine..
Pour vérifier que cela fonctionne correctement, essayez de visiter votre site en utilisant une URL HTTP. S'il passe automatiquement à HTTPS, cela fonctionne correctement..
Il n'y a pas de bonne ou de mauvaise réponse ici. On pourrait faire valoir que s’appuyer sur un plug-in pour une partie intégrante de votre site Web n’est peut-être pas la meilleure idée. Si le plug-in est désactivé, supprimé ou comporte une mauvaise mise à jour, il pourrait avoir de graves conséquences pour votre site Web..
Cela dit, le plugin WordPress HTTPS a une bonne réputation avec beaucoup de téléchargements et est naturellement open source. Utiliser le plugin WordPress HTTPS est le moyen le plus simple de définir HTTPS sur certaines zones de votre site Web..
D'autre part, la méthode du code est simple et agréable si vous êtes à l'aise pour effectuer quelques modifications simples dans les fichiers. Il s'agit d'une méthode fiable pour faire fonctionner tout votre site Web sur HTTPS..
Pour que votre site Web SSL soit valide, tout votre contenu doit également être envoyé via SSL. Cela inclut, sans toutefois s'y limiter, les scripts, les polices, les feuilles de style, les éléments intégrés et les images. Certaines agences de publicité n'envoient pas encore de contenu via HTTPS. Si tel est le cas, vous n'avez pas beaucoup de choix, bien qu'il soit possible d'avoir certaines pages HTTPS et d'autres HTTP, comme expliqué précédemment dans l'article..
Pour éviter ce mal de tête, vous pouvez utiliser une URL relative au protocole. Par exemple, supposons que nous demandions la police Web populaire Google "Open Sans":
Notez le manque de HTTP ou HTTPS au début de cette URL? ce que cela fait, c'est demander l'actif en utilisant le même protocole que la page. Ainsi, si vous utilisez HTTPS, il demandera automatiquement la version HTTPS de la police Web. Si la version HTTPS n'existe pas, il utilisera HTTP. Cette technique comporte quelques petites mises en garde, comme l'explique un article de Paul Irish. Pour la meilleure part, cela fonctionne très bien et résoudra quelques maux de tête - cela fonctionne également en CSS.
Les erreurs HTTPS sont souvent dues au fait que la page fournit également du contenu non HTTPS. Pour connaître le contenu incriminé, Google Chrome peut être utilisé pour déboguer.
Pour identifier une page défaillante, un triangle jaune apparaît au-dessus du cadenas dans la barre d’adresse de Google Chrome. En cliquant dessus, l'erreur exacte sera affichée comme indiqué ci-dessous:
Pour connaître le contenu incriminé sur cette page afin de le corriger, sélectionnez Afficher >> Développeur >> Console JavaScript. Vous devriez maintenant voir des erreurs telles que celles présentées ci-dessous:
Cette erreur indique le fichier exact à l'origine du problème (http://en.support.files.wordpress.com/2008/12/def-avatar.png dans ce cas) et le numéro de la ligne dans laquelle le contenu apparaît ( 316). Ce contenu devrait simplement être remplacé par HTTPS (à condition que le serveur sur lequel le contenu se trouve prend en charge HTTPS) ou utilisez une URL relative au protocole, comme expliqué précédemment dans cet article..
Vous serez maintenant en mesure de décider quelle est la meilleure méthode pour utiliser HTTPS sur votre site Web WordPress et mettre en œuvre votre solution préférée..