Question

Est-il possible de renommer le dossier wp-admin?

Je sais que je pouvais le renommer, mais à moins qu'il est pris en charge par les lots de code de choses casserais.

Si j'utilise un nom de dossier personnalisé, il sera plus un peu plus sûr, la sécurité par l'obscurité et tout cela.

Était-ce utile?

La solution

Malheureusement, il est actuellement possible, ni ne semble y avoir une volonté de le considérer comme une modification que vous pouvez voir par cette fil récent sur la liste wp-pirates et ce billet sur trac .

Si vous voulez vraiment voir ce être revisité, je vous suggère:

  1. Présentez votre cas sur wp-pirates mais être averti votre cas d'utilisation mieux être bonne et non « sécurité par l'obscurité » ou il abattu comme ci-dessus.

  2. Présentez votre argument de billets avec les mêmes trac mises en garde.

  3. Encore mieux, télécharger un patch TRAC qui permet votre fonctionnalité désirée. Il est beaucoup plus difficile de dire non quand le travail a déjà été fait (mais bien sûr, ils ont une préférence pour dire « non » beaucoup plus souvent qu'ils disent « oui » alors soyez prévenus.)

Autres conseils

Non, vous ne pouvez pas renommer le dossier. Le chemin est codé en dur dans de multiples endroits tout au long de la source de WordPress.

La sécurité par l'obscurité est pas vraiment la sécurité de toute façon.

Les gens continuent de poser cette question, mais les gens gardent le marquer comme un doublon. La réponse choisie pour cela, cependant, est vraiment pas une réponse à la question.

Pour renommer l'admin wordpress vous devez prendre deux mesures.

Dans le code suivant, je suis en utilisant le tableau de bord que le nom de mon nouveau wp-admin. Modifier le tableau de bord dans le code ci-dessous pour tout ce que vous voulez nommer votre administrateur.

Vous devez d'abord dire que vous voulez wordpress changer l'URL d'administration.

En ligne 2558 wp-includes lien / -template.php est le code qui dertermines l'URL d'administration.

Utilisation du filtre admin_url vous pouvez changer avec succès l'url de l'admin avec la fonction suivante:

function my_custom_admin_url($path) { 
    return str_replace('wp-admin', 'dashboard', $path); 
}
add_filter('admin_url', 'my_custom_admin_url');

Vous pouvez tester pour voir ce que votre nouvelle URL est en faisant ceci:

function whats_my_admin_url() {
    $url = admin_url();
    echo '<pre><code>'; print_r( $url ); echo '</code></pre>';
    }
add_action( 'admin_notices', 'whats_my_admin_url' );

Toutefois, si vous remarquerez en cliquant par l'administrateur que tout ne fonctionne pas et certains des liens peuvent vous donner 404 non trouvé ou quelque chose de similaire.

En second lieu, changer la .htaccess dans votre répertoire racine de wordpress et ajoutez ce qui suit dans le début avant toute autre chose.

#CUSTOM ADMIN URL REWRITE
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^dashboard[^/]*$ dashboard/ [R=301,L]
RewriteCond %{QUERY_STRING} (.*)$
RewriteRule ^dashboard(.*)$ wp-admin$1? [QSA,L,NE]
RewriteCond %{QUERY_STRING} (.*)$
RewriteRule ^wp-admin/?$ / [NE,R=404,L]
RewriteCond %{QUERY_STRING} (.*)$
RewriteRule ^wp-admin/(.*)$ dashboard/$1 [QSA,R=301,L,NE]
</IfModule>
#CUSTOM ADMIN URL REWRITE

Maintenant, je ne suis pas un expert en ce qui concerne l'édition .htaccess si une partie de cela pourrait ne pas être nécessaire. Cependant, je ne l'ai jamais trouvé de ne pas travailler.

Voici la chose. Créez un fichier et déposez vos plugins dossier ou le dossier mu-plugins. (Souvenez-vous de changer chaque instance de tableau de bord de votre URL préférée admin)

<?php
/**
 * Plugin Name: Change My Admin URL
 * Plugin URI: http://wordpress.stackexchange.com/questions/106/can-i-rename-the-wp-admin-folder
 * Description: Changes the admin url where wp-admin becomes dashboard (or whatever you change it to)
 * Version: 1.0
 * Author: Bryan Willis
 * Author URI: http://profiles.wordpress.org/codecandid
 * License: GPL2
 */

/* 

#CUSTOM ADMIN URL REWRITE FOR HTACCESS
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^dashboard[^/]*$ dashboard/ [R=301,L]
RewriteCond %{QUERY_STRING} (.*)$
RewriteRule ^dashboard(.*)$ wp-admin$1? [QSA,L,NE]
RewriteCond %{QUERY_STRING} (.*)$
RewriteRule ^wp-admin/?$ / [NE,R=404,L]
RewriteCond %{QUERY_STRING} (.*)$
RewriteRule ^wp-admin/(.*)$ dashboard/$1 [QSA,R=301,L,NE]
</IfModule>
#CUSTOM ADMIN URL REWRITE

*/

function my_custom_admin_url($path) { 
    return str_replace('wp-admin', 'dashboard', $path); 
}
add_filter('admin_url', 'my_custom_admin_url');

Questions?

Je n'ai pas eu plus d'un an en utilisant cette méthode. Vous remarquerez peut-être que wp-admin encore du travail quel genre de suce, mais il est plus d'une précaution qu'autre chose. J'ai eu quelques plugins mal écrits qui hardcoded wp-admin dans certains endroits qui ne se charge pas en essayant de bloquer ou de redirection wp-admin. Je suis sûr qu'il ya une façon de le faire avec le htaccess, mais je ne l'ai pas compris avec succès sur. En outre, cela n'a pas été testé sur multisite ou quelque chose comme ça jamais.

Mise à jour: approche alternative

Ceci est assez similaire, mais pour une raison quelconque ma réponse ci-dessus ne fonctionne pas sur tous les hôtes j'ai essayé.

Ajouter à .htaccess

RewriteRule ^admin/(.*) wp-admin/$1?%{QUERY_STRING} [L]

Créer un fichier dans mu-plugins dossier appelé new-admin.php et ajoutez ce là:

<?php
define('WP_ADMIN_DIR', 'admin');
defined('SITECOOKIEPATH') || define('SITECOOKIEPATH', preg_replace('|https?://[^/]+|i', '', get_option('siteurl') . '/' ) );
define( 'ADMIN_COOKIE_PATH', SITECOOKIEPATH . WP_ADMIN_DIR);

add_filter('site_url',  'wpadmin_filter', 10, 3);
 function wpadmin_filter( $url, $path, $orig_scheme ) {
  $old  = array( "/(wp-admin)/");
  $admin_dir = WP_ADMIN_DIR;
  $new  = array($admin_dir);
  return preg_replace( $old, $new, $url, 1);
}

Note: Cette approche semble fonctionner mieux sur certains hôtes, mais avait encore la question de ne pas rediriger les liens wp-admin vers la nouvelle URL admin. Voici une approche que j'ai essayé ci-dessous. Alors que ce ci-après ne pas le travail Je pense qu'il est sur la bonne voie. Je ne suis pas tout à fait sûr de ce crochet à utiliser. htaccess pourrait être une meilleure alternative, mais je continuais à faire des boucles de redirection quand j'ai essayé de cette façon.

add_action('init', 'redirect_wp_admin_url_to_404');
function redirect_wp_admin_url_to_404(){
  $redirect_to = $_SERVER['REQUEST_URI'];
  if(count($_REQUEST)> 0 && array_key_exists('redirect_to', $_REQUEST)){
    $redirect_to = $_REQUEST['redirect_to'];
    $check_wp_admin = stristr($redirect_to, 'wp-admin');
    if($check_wp_admin){
      wp_safe_redirect( '404.php' );
    }
  }
}

Une approche qui est officiellement pris en charge par WordPress est de déplacer les fichiers d'installation de WordPress dans un sous-répertoire, tout en gardant le site dans la racine, comme suit:

URL du site: http://my-blog.com

Admin URL: http://my-blog.com/7nxnkkugrdzm/wp-admin

Bien que cela ne vous donne pas la liberté complète à changer votre URL admin, cela signifie que vous pouvez préfixe avec tout ce que vous voulez. Cela est tout aussi bon d'un point de vue de la sécurité. Il a aussi l'avantage de déplacer tous les fichiers d'installation de WordPress dans un inconnu de l'emplacement pour les utilisateurs, il devrait donc faire partie de toute stratégie de durcissement wordpress.

Dans le Codex WordPress: Donner WordPress son propre répertoire

Notez également que si ce système de sécurité est appelé URL Obscure , ce n'est pas la même chose que sécurité par l'obscurité . URL Obscure est un système de sécurité parfaitement valide qui est tout aussi bon que le mot de passe, tandis que sécurité par l'obscurité repose sur l'utilisation des procédures non prouvées secrètes.

Les mêmes mises en garde appliquent mais comme des mots de passe: Appelez le dossier personnalisé quelque chose comme 7nxnkkugrdzm, pas happy-snappy-admin. Aussi, assurez-vous que vos utilisateurs sont conscients de l'URL admin est un secret.

Il est en fait un très bon tutoriel sur ce ici:

  

Comment cacher WordPress informations à partir de votre code source miroir

     

Y compris comment renommer wp-content, changement de nom wp-admin, et supprimer la balise générateur de WordPress.

     

Ce tutoriel va changer évident des preuves ou des indications de celui-ci dans votre code source, éliminer efficacement les informations de WordPress à partir de votre site .

Il explique comment changer le nom du dossier, l'URL de connexion wp-admin, et assurez-vous que réacheminements login.php sur le site principal afin que les gens peuvent y aller directement.

Si vous voulez garder les utilisateurs au niveau des abonnés de voir le répertoire wp-admin, vous pouvez créer des versions autonomes de la connexion / inscription et profil / éditer des pages dans leurs propres répertoires. Ensuite, vous pouvez protéger votre dossier admin via htaccess ou restriction IP. (Bien que si vous faites cela, vous devez faire une exception pour le fichier admin-ajax, comme certains plugins utiliser pour ajouter, euh, la fonctionnalité AJAX).

Cette approche vous donne la « obscurité » vous voulez (ce qui ne pas vraiment faire beaucoup, mais fait souvent les clients et les gestionnaires se sentent mieux), et ajoute également une certaine sécurité réelle en limitant l'accès à l'admin. De plus, honnêtement, une URL qui dit juste "/ login" ressemble plus agréable beaucoup que "wp-login.php".

Il va sans dire que cela ne fait pas votre site pare-balles. Mais il est une belle amélioration de base.

Une façon de verrouiller le panneau de contrôle administratif est d'utiliser des règles .htaccess. Il suffit d'ajouter un fichier .htaccess à la racine du répertoire wp-admin. Après avoir ajouté ce fichier, ajoutez simplement la règle suivante pour refuser toutes les adresses IP et permettent que votre adresse IP:

http://wp.tutsplus.com / tutoriels / 10 étapes à sécuriser-votre-wordpress-installation /

AuthUserFile /dev/null
AuthGroupFile /dev/null
AuthName "WordPress Admin Access Control"
AuthType Basic
<LIMIT GET>
order deny,allow
deny from all
whitelist address
allow from <IP ADDRESS HERE>
</LIMIT>

Si vous souhaitez renommer le wp-admin dans le but d'ajouter couche de sécurité supplémentaire à votre installation de WordPress, vous pouvez aussi essayer le Roots / Bedrock WordPress boilerplate . Il peut aider à isoler la racine Web pour limiter l'accès aux fichiers non-Web. Il peut également aider à organiser / sécuriser l'ensemble noyau de WordPress en le plaçant dans son propre répertoire comme renommer wp-content / app / ainsi que ces fonctionnalités supplémentaires:

  • Gestion des dépendances avec Composer
  • Configuration facile WordPress avec des fichiers spécifiques de l'environnement
  • Les variables d'environnement avec Dotenv
  • autochargeur pour mu-plugins (utilisation de plugins réguliers comme mu-plugins)
  • Amélioration de la sécurité (racine web séparés et mots de passe sécurisés avec wp-mot de passe bcrypt)

Vous pouvez également vérifier leur GitHub repo pour une utilisation plus détaillée:

Jetez un oeil à http://wordpress.org/extend/plugins/stealth-login / cela peut vous aider.

Non, il est impossible de renommer le dossier wp-admin avec un peu de code ou htaccess hack,

Dans le passé, je fait la même chose pour un client en effectuant une recherche complète de dossier via Coda (l'éditeur i utilise) pour le tag « wp-admin, wp-content ... etc » et je supprimer le « wp- "des fichiers.

Après cela, vous pourrez l'installer, mais:
Vous devez faire la même chose avec les plug-ins que vous souhaitez installer, Vous devez mettre à jour le noyau manuellement en effaçant l'étiquette « wp- » des nouvelles versions.

De toutes les façons je ne prétends pas vous faire quelque chose comme ça, le laisser tel quel et essayer de mettre en œuvre un utilisateur Connexion / Inscription / page de profil pour donner à vos utilisateurs / clients une meilleure expérience.

  

Cristian Front-End soumission Message

vous pouvez également jeter un oeil pour une belle plugins qui font la même chose avec plus de fonctionnalités.

QU'EN DE TRAVAIL WP-ADMIN DE iFrame?

Faire une nouvelle page dans le tableau de bord de wp appelé "Admin". par exemple: yourdomain / admin /

Vous pouvez faire une déclaration de cas avec le header.php de page.php et / ou footer.php pour désactiver les choses sur le modèle ne sont pas nécessaires, en utilisant:

<?php
if(!is_page('admin')): //if not the admin page.

//wrap code not needed or wanted.

else: ?>

<style type="text/css">
    .responsive-iframe {
    position: relative;
    padding-bottom: 56.25%; /*16:9*/
    height: 0;
    overflow: hidden;

    iframe {
        position: absolute;
        top:0;
        left: 0;
        width: 100%; //or 100vw
        height: 100%; //or 100vh
    }
}   
</style>

<div class="responsive-iframe">
<iframe seamless="seamless" scrolling="yes" src="http://yourdomain/wp-admin/" frameborder="0" allowfullscreen></iframe>
</div>

<?php 
endif;

Ce n'est pas assez, mais au moins dans une certaine mesure, vous pouvez cacher wp-admin de url. Une autre façon est d'utiliser éventuellement domaine avec redirection url masque activé.

Licencié sous: CC-BY-SA avec attribution
Non affilié à wordpress.stackexchange
scroll top