J'ai un site Web pour lequel nous essayons d'être discret sur le fait que nous utilisons WordPress. Quelles mesures pouvons-nous prendre pour le rendre moins évident?
EDIT- Note de sécurité importante:
S'il vous plaît, comprenez qu'il est impossible de le faire parfaitement selon la réponse de Mark . Ne vous fiez donc pas à cela comme mesure de sécurité.
security
customization
Casebash
la source
la source
Réponses:
Les plus gros cadeaux WordPress sont entre les
<head> </head>
balises.Exemple de contenu de tête WordPress généré par The Twentyten Theme et comment le supprimer:
Supprimer directement de header.php
Cachez WordPress en appelant votre feuille de style à partir d'un autre emplacement et modifiez le répertoire wp-content. WordPress requiert que votre thème inclue des informations de base en haut de style.css (style.css doit se trouver dans le répertoire racine des thèmes). Vous devrez créer un autre CSS et l'appeler de votre tête. WordPress ne vous oblige pas à utiliser les thèmes style.css, il doit uniquement figurer dans le répertoire themes.
Supprimer directement de header.php
Pour supprimer ces liens supplémentaires, vous pouvez ajouter un filtre à functions.php
Vous pouvez modifier votre répertoire de plug-ins et votre répertoire wp-content dans votre fichier wp-config.php, mais vous pouvez rencontrer des problèmes si votre thème ou l'un de ses plugins n'utilise pas la méthode appropriée pour appeler des fichiers.
Définissez WP_CONTENT_URL sur l'URI complet de ce répertoire (sans barre oblique), par exemple
Définissez WP_PLUGIN_DIR sur le chemin complet de ce répertoire (sans barre oblique), par exemple:
Définissez WP_PLUGIN_URL sur l’URI complet de ce répertoire (sans barre oblique), par exemple:
PLUGINS
Sachez que certains plugins tels que Akismat, le référencement tout en un, le cache W3-Total, le super cache et bien d’autres ajoutent des commentaires à la sortie HTML. La plupart sont faciles à modifier pour supprimer les commentaires, mais vos modifications seront écrasées à chaque mise à jour des plugins.
wp-comprend
Le répertoire wp-includes contient jquery et divers autres fichiers js que des thèmes ou des plug-ins vont appeler à l’aide de wp_enqueue_script (). Pour changer cela, vous devrez annuler l'enregistrement des scripts WordPress par défaut et enregistrer le nouvel emplacement. Ajouter à functions.php:
Cela devra être fait avec chaque script utilisé par votre thème ou vos plugins.
la source
register_theme_directory()
, je pense que c'est bien de cacher le répertoire theme dans le répertoire "wp-content".Un bit qui manque souvent - supprimez-le
readme.html
dans WordPress root. Il identifie non seulement l'installation en tant que WP mais possède également une version précise. Et n'oubliez pas de répéter les mises à jour.Question connexe: interdire l'accès ou supprimer automatiquement le fichier readme.html, license.txt, wp-config-sample.php
la source
J'ai toujours utilisé la méthode du thème Roots .
Mais l’appliquer à ces ThemeJungle est généralement un gros casse-tête.
Alors, a commencé à jouer avec les
WP_CONTENT_*
constantes. Ce qui, à mon avis, est une méthode beaucoup moins sujette aux erreurs et voici ce que je travaille actuellement:/m
est leuploads
dossier,/t
est lethemes
dossier et/t/t
est le dossier du thème actif. Le site n'est pas complexe, donc peu d'actifs chargés ...WP_CONTENTLESS
wp-config.php
Paramétrage
wp-content
à la racine (/public_html/
) du site.J'ai demandé à ce sujet dans [wp-hackers] - Des inconvénients à ce que WP_CONTENT_DIR (et son URL) soient définis sur DOCUMENT_ROOT? , où John Blackbourn 1 , Mike Little 2 et Otto 3 ont eu la gentillesse de conseiller:
Un nouveau dossier de thèmes
/mu-plugins/set-extra-themes-folder.php
Comme il n'y a pas de
WP_THEMES_*
constantes, nous avons besoin de la fonction register_theme_directory () pour " Enregistrer un répertoire contenant des thèmes " . Nous avonsessayé de définir le répertoire supplémentaire à la racine, mais les résultats sont amusants (c'est-à-dire que cela ne fonctionne pas).
Dossier de téléchargements
/wp-admin/options-media.php
Au lieu de
http://example.com/uploads
, ça va êtrehttp://example.com/m
.Décocher
Organize my uploads into...
donnera une apparence sans WP aux URL des actifs.Si le site est en ligne, une recherche / remplacement doit être effectué dans la base de données et les fichiers doivent être déplacés.
Plugins et contenu principal
Reportez-vous à la section
Cris_O
Réponse à la présente question.Lisezmoi.html
Reportez-vous à la section
Rarst
Réponse à la présente question.Autres étapes
Comme d’habitude, les thèmes ThemeJungle peuvent provoquer des hacks spécifiques dans le thème.
Comme ... TimThumb ne fonctionne pas (!!! lol !!!).
la source
La seule réponse valable: IMPOSSIBLE
Il y a tellement de réponses très votées… Il est temps de mettre les choses au clair. Eh bien, la vérité est que c'est virtuellement impossible et même si c'est le cas, la vie est probablement trop courte pour y consacrer des efforts. Toute réponse, qui favorise les étapes pour cacher WP est juste une perte de temps et vous induira en erreur en pensant que vous cachez votre WP (c'est absurde).
1) Le problème ne réside pas dans les
wp-*
URL évidentes , ni dans la méta du générateur, etc. Les problèmes difficiles concernent les modèles associés à WordPress qu’un système développé localement ne se donnera pas la peine d’implémenter comme des pages d’auteurs, des pages d’années, des mois, des pages de jours, utilisez En tant que paramètre valide, nnn a un formulaire de commentaire avec la classe de commentaires wordpress, la structure et les noms de liens, puis il y a la promotion automatique des plugins de mise en cache et yoast SEO et probablement de nombreux autres plugins que vous voyez uniquement lorsque vous inspectez le code HTML lui-même.2) Il existe d'autres méthodes non dénombrées qui montrent l'existence de WP (et vous ne pouvez pas battre ça):
Même l'en-tête de réponse php (comme noté par Dan Gayle en dessous de ma réponse) renvoie l'en-tête WP spécifique.
Tout le monde peut simplement interroger l’un des fichiers .php:
site.com/wp-cron.php
ousite.com/xmlrpc.php
(ou etc, que vous ne pouvez pas cacher) et la réponse de l’en-tête sera à la200
place404 not found
.n'importe qui peut vérifier ses points de terminaison json pour obtenir une réponse spécifique à WP.
Dans la page HTML, de nombreux mots
.css
ou.js
fichiers contiennent des phrases spécifiques qui font clairement référence à WP.Dans la page HTML, il est facile de trouver les éléments / les classes CSS, comme
<div class="entry-content post-14"...
ou etc. (ce qui indique directement que la structure utilisée est celle de WP).Dans la page HTML, vous verrez facilement le
uploads
dossier, ou même si vous le renommez avec le codage en dur, la partie de date commeuploads/2018/05/image.jpg
(ou mêmeimage-315x225.jpg
) montre la structure typique de WP.comme de nombreux sites sont maintenant construits avec MultiSite, il utilise par exemple des
/site/2
liens ...ping vers tous les fichiers Lisezmoi des plugins / thèmes (qu’ils contiennent), comme le
plugin-name/readme.txt
statut de retour200
.et de nombreuses autres choses que vous (ou même des professionnels) serez incapables de cacher et perdront vos journées!
conclusion
Et même si vous vous efforcez de tout nettoyer en indiquant qu'il s'agit d'une wordpress, vous devrez peut-être refaire ou au moins revérifier après chaque plugin ou mise à niveau principale. La vie est trop courte pour cela.
Vous pouvez induire en erreur certains diluants, mais vous ne pouvez vous cacher d’un bon inspecteur. Si cela est fait en tant que mesure de sécurité, alors c’est toujours la sécurité par l’obscurité qui est fausse, et si vous avez simplement honte d’utiliser Wordpress, laissez-moi vous dire quelque chose - personne ne se soucie de vous, et même le très petit nombre qui ne le fera probablement pas. savoir comment le résoudre par lui-même.
La seule chose qui compte, c’est de protéger le plus possible WP et de surveiller ses mises à jour régulières.
la source
Vous pouvez avoir WordPress sur un serveur et extraire votre contenu d'un autre uniquement en incluant le contenu dont vous avez besoin.
Si vous avez besoin de RSS, vous devrez faire de même avec cela.
Effectivement, ce serait comme si vous serviez des pages statiques à partir d’un proxy ou d’un CDN, mais uniquement les bits que vous voulez servir. Vous pouvez également simplement utiliser un système de commentaires basé sur JavaScript, tel que Disqus.
Utilisation vraiment faible des ressources, car il n’existe aucune base de données sur le serveur servant le contenu.
la source
Vous pouvez créer votre adresse personnalisée pour vous connecter à votre blog. En n'utilisant pas le chemin classique «myblog.com/wp-admin» pour accéder à votre tableau de bord Cette page vous aidera à créer des connexions furtives. Ceci est également utile pour les mesures de sécurité.
Donc, le ppl qui ajoute wp-admin à votre blog ne pourra pas deviner :)
la source
En plus de ce qui précède, vous devez verrouiller l'accès aux différents
wp*
fichiers et répertoires. Si quelqu'un voulait savoir si vous utilisiez WP, il pourrait deviner si vous le pouviezwp-settings.php
ou s'il pouvait accéder à un répertoire. Renvoyer un 403 n'est pas suffisant car il indique à l'utilisateur que la ressource existe. ils n'y ont tout simplement pas accès.Je ne suis pas un expert Apache, j'ai donc posé cette question sur serverfault.
la source
N'oubliez pas qu'un grand nombre d'informations d'en-tête http envoyées avec votre demande peuvent identifier votre site comme étant en cours d'exécution sur WordPress. Par exemple, si vous vérifiez les en-têtes sur les sites suivants, c'est évident:
Certaines d'entre elles sont définies par le serveur, d'autres par des plugins. Il n'y a donc aucun moyen pour moi de dire comment supprimer 100% d'entre eux. Toutefois, si vous utilisez PHP 5.3, vous pouvez utiliser
header_remove("X-Foo");
( http://www.php.net/manual/en/function.header-remove.php )pour supprimer un en-tête PHP connu avant que votre contenu ne soit expulsé. Je ne peux pas dire avec certitude où placer ceci (peut-être que quelqu'un d'autre peut apporter cette information), mais il est probablement prudent de le placer tout en haut de votre index.php AVANT tout contenu envoyé au navigateur.
la source
Cela peut être difficile à atteindre si vous êtes nouveau sur php et mod_rewrite. Je vous suggère donc de vérifier avec la section de ma réponse. Ou essayez vous-même, vous pouvez utiliser quelque chose comme ceci pour masquer la structure de chemin d'accès wp-content / plugins:
Cela changera le chemin vers / modules. Utilisez quelque chose de similaire pour une autre structure, vous aurez peut-être besoin de quelques réécritures avancées, voir http://httpd.apache.org/docs/current/mod/mod_rewrite.html pour plus d'informations sur mod_rewrite.
Si vous préférez quelque chose hors de la boîte, il y a quelques bons plugins, certains commerciaux, également gratuits sur le référentiel WordPress, je suggère d'essayer WP Hide & Security Enhancer . Cela inclut beaucoup de choses et aide à changer à peu près tout pour rendre votre WordPress méconnaissable. Voici quelques caractéristiques du code:
et beaucoup plus..
la source
Je ne veux pas répéter les options de codage puisqu'elles ont été couvertes de manière exhaustive. L'autre option qui fonctionne est l'utilisation d'un plug-in qui cache wp. J'ai utilisé ce plugin auparavant à des normes satisfaisantes. Son appelé cacher mon WordPress.
la source
La plupart des réponses se concentrent sur l’obscurcissement de WordPress dans le code source d’une page, mais même avant cela, WP s’était déjà révélé dans l’en-tête http d’une installation standard. Essayez simplement votre propre site sur un site comme Web-sniffer (prétendez être IE 6 et demandez un en-tête http 1.0) et vous verrez que parmi les retours figurent:
Ce dernier est un lien vers l' API Wordpress.org . C'est là depuis que l'API REST a été incluse dans WP 4.4. Vous pouvez l'enlever avec cette ligne au tout début de votre
functions.php
:De nombreux plugins, comme Jetpack pour ses liens courts, peuvent également insérer des liens dans l'en-tête http. Ils peuvent le faire, car WP a une API HTTP , qui vous permet de manipuler les en-têtes. Vous pouvez utiliser cette interface pour supprimer tous les paramètres d'en-tête des plug-in si vous ajoutez votre action assez tard dans le processus.
Enfin, vous pouvez utiliser l' interface d'en-tête .htaccess pour intercepter tout ce que WP fait. Par exemple, vous pouvez empêcher l’envoi d’en-têtes de lien en incluant cette ligne:
la source
Vous pouvez personnaliser un thème pour exclure toutes les informations WordPress. Supprimez également les méta-widgets et tous les widgets générant des informations sur la plateforme.
Personnellement, je préfère montrer ma gratitude en montrant que j'utilise WordPress.
la source
Vous pouvez utiliser le plugin WPS Hide Login .
Vous vous connectez à votre wordpress en utilisant
wp-admin
. Mais vous pouvez changerwp-admin
pour personnaliser en utilisant ce plugin.Exemple:
Avant:
http://example.com/wp-admin
Après:
http://example.com/custom-text-to-login
la source