Frage

Ist es möglich, den WP-Admin-Ordner umzubenennen?

Ich weiß, ich könnte es einfach umbenennen, aber wenn er nicht durch den Code unterstützt wird, würden viele Dinge brechen.

Wenn ich einen benutzerdefinierten Ordnernamen verwende, wird er etwas sicherer, Sicherheit nach Dunkelheit und all dem.

War es hilfreich?

Lösung

Leider ist es derzeit weder möglich noch scheint es Willen zu geben, es als eine Änderung zu betrachten, wie Sie dadurch sehen können Neuer Thread auf der WP-Hackers-Liste und Dieses Ticket auf Trac.

Wenn Sie wirklich sehen möchten, dass dies überarbeitet wird, würde ich vorschlagen:

  1. Präsentieren Sie Ihren Fall auf WP-Hackers Aber seien Sie vorgewarnt, dass Ihr Anwendungsfall besser gut ist und nicht "Sicherheit durch Dunkelheit", oder er wird wie oben abgeschossen.

  2. Präsentieren Sie Ihr Argument in ein Trac -Ticket mit den gleichen Einschränkungen.

  3. Noch besser, hochladen ein Patch zu TRAC, das Ihre gewünschte Funktionalität ermöglicht. Es ist viel schwieriger, nein zu sagen, wenn die Arbeit bereits erledigt wurde (aber natürlich sind sie bevorzugt, um "Nein" viel öfter zu sagen, als sie "Ja" sagen, also seien Sie gewarnt.)

Andere Tipps

Nein, Sie können den Ordner nicht umbenennen. Der Pfad ist an mehreren Stellen in der WordPress-Quelle hart codiert.

Sicherheit durch Dunkelheit ist sowieso nicht wirklich Sicherheit.

Die Leute stellen diese Frage immer wieder, aber die Leute markieren sie immer wieder als Duplikat. Die gewählte Antwort dafür ist jedoch wirklich keine Antwort auf die Frage.

Um den WordPress -Administrator umzubenennen, müssen Sie zwei Schritte ausführen.

Im folgenden Code verwende ich Dashboard als Name meines neuen WP-Admin. Ändern Sie das Dashboard im folgenden Code in dem, was Sie Ihren neuen Administrator benennen möchten.

Zuerst müssen Sie WordPress mitteilen, dass Sie die Admin -URL ändern möchten.

Online 2558 wp-includes/link-template.php ist der Code, der die Administrator -URL begleitet.

Verwendung der admin_url Filter Sie können die URL des Administrators mit der folgenden Funktion erfolgreich ändern:

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

Sie können testen, um zu sehen, was Ihre neue URL ist, indem Sie Folgendes tun:

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' );

Wenn Sie jedoch beim Klicken durch den Administrator bemerken, dass nicht alles funktioniert und einige der Links Ihnen möglicherweise nicht gefunden oder ähnliches gefunden werden.

Zweitens ändern Sie die .htaccess Fügen Sie in Ihrem WordPress -Root -Verzeichnis und fügen Sie zu Beginn vor irgendetwas anderes Folgendes hinzu.

#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

Jetzt bin ich kein Experte, wenn es um die Bearbeitung von Access geht, sodass einige davon möglicherweise nicht notwendig sind. Ich habe es jedoch nie gefunden, nicht zu arbeiten.

Hier ist das Ganze. Erstellen Sie eine Datei und lassen Sie Ihren Plugins-Ordner oder MU-Plugins-Ordner fallen. (Denken Sie daran, jede Instanz des Dashboards in Ihre bevorzugte Admin -URL zu ändern.)

<?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');

Ausgaben?

Ich hatte seit über einem Jahr keine mehr mit dieser Methode. Sie werden vielleicht bemerken, dass WP-Admin immer noch funktionieren wird, was sich aufnimmt, aber es ist eher eine Vorsichtsmaßnahme als alles andere. Ich hatte einige schlecht geschriebene Plugins, die an einigen Stellen festcodierte WP-Adminaler, die beim Blockieren oder Umleiten von WP-admin nicht geladen wurden. Ich bin mir sicher, dass es eine Möglichkeit gibt, dies mit dem Htaccess zu tun, aber ich habe es nicht erfolgreich herausgefunden. Außerdem wurde dies nicht auf mehreren oder ähnlichen Multisite getestet.

Update: Alternativer Ansatz

Das ist ziemlich ähnlich, aber aus irgendeinem Grund hat meine obige Antwort bei jedem Gastgeber, den ich ausprobiert habe, nicht funktioniert.

Hinzufügen .htaccess

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

Erstellen Sie eine Datei in MU-Plugins-Ordner mit dem Namen new-admin.php und fügen Sie das dort hinzu:

<?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);
}

Notiz: Dieser Ansatz schien bei einigen Hosts besser zu funktionieren, hatte aber immer noch das Problem, WP-Admin-Links zur neuen Admin-URL nicht umzuleiten. Hier ist ein Ansatz, den ich unten ausprobiert habe. Während Dies unten funktioniert nicht Ich denke, es ist auf dem richtigen Weg. Ich bin mir nicht ganz sicher, welchen Haken ich verwenden soll. Htaccess mag eine bessere Alternative sein, aber ich habe immer wieder Umleitungsschleifen bekommen, als ich es so versuchte.

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' );
    }
  }
}

Ein von WordPress offiziell unterstütztes Ansatz besteht darin, die WordPress-Installationsdateien in ein Unterverzeichnis zu verschieben, während die Site in der Stamme wie folgt bleibt:

Seiten-URL: http://my-blog.com

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

Dies gibt Ihnen zwar keine vollständige Freiheit bei der Änderung Ihrer Admin -URL, aber Sie können es können Präfix es mit allem, was du magst. Dies ist aus Sicherheitssicht genauso gut. Es hat auch den Vorteil, dass alle WordPress -Installationsdateien in einen für Benutzer unbekannten Speicherort verschoben werden. Daher sollte es Teil einer WordPress -Härtungsstrategie sein.

Aus dem WordPress -Codex: WordPress ein eigenes Verzeichnis geben

Beachten Sie auch, dass dieses Sicherheitsschema zwar aufgerufen wird Obskure URL, es ist nicht dasselbe wie Sicherheit nach Dunkelheit. Obskure URL ist ein perfekt gültiges Sicherheitsschema, das genauso gut wie ein Passwort ist Sicherheit nach Dunkelheit stützt sich auf die Verwendung von geheimen unbewiesenen Verfahren.

Die gleichen Einschränkungen gelten jedoch wie bei Passwörtern: Rufen Sie den benutzerdefinierten Ordner an wie 7nxnkkugrdzm, nicht happy-snappy-admin. Stellen Sie außerdem sicher, dass Ihre Benutzer wissen, dass die Admin -URL ein Geheimnis ist.

Hier gibt es tatsächlich ein sehr gutes Tutorial:

So verbergen Sie WordPress -Informationen in Ihrem Quellcode Spiegel

Enthält das Umbenennen von WP-Content, die Umbenennung von WP-Admin und das Entfernen des Generator-Tags von WordPress.

Dieses Tutorial wird sich ändern offensichtlich Beweise oder Hinweise darauf in Ihrem Quellcode, WordPress -Informationen von Ihrer Website effektiv entfernen.

Es wird erläutert, wie Sie den Ordnernamen, die WP-Admin-Anmelder-URL, ändern und sicherstellen, dass Login.php auf die Hauptstelle weiterleitet, damit die Leute direkt dorthin gehen können.

Wenn Sie verhindern möchten, dass Nutzer auf Abonnentern das WP-Admin-Verzeichnis sehen, können Sie eigenständige Versionen der Anmeldungs-/Registrierung und Profil-/Bearbeitungsseiten in ihren eigenen Verzeichnissen erstellen. Anschließend können Sie Ihren Administratorordner über HTAccess oder IP -Einschränkung schützen. (Wenn Sie dies tun, sollten Sie eine Ausnahme für die Admin-Ajax-Datei abgeben, da einige Plugins sie verwenden, um die Funktionalität von AJAX hinzuzufügen).

Dieser Ansatz gibt Ihnen die gewünschte "Dunkelheit" (die nicht wirklich viel tut, aber häufig das Gefühl, dass Kunden und Manager besser fühlen) und fügt auch eine echte Sicherheit hinzu, indem sie den Zugriff auf den Administrator einschränken. Ehrlich gesagt, eine URL, die nur "/login" sagt, sieht viel schöner aus als "wp-login.php".

Es sollte selbstverständlich sein, dass dies Ihre Website nicht kugelsicher macht. Aber es ist eine schöne, grundlegende Verbesserung.

Eine Möglichkeit, das Verwaltungsbedienfeld festzulegen, besteht darin, .htaccess -Regeln zu verwenden. Fügen Sie einfach eine .htaccess-Datei zum Stammverzeichnis des WP-Admin-Verzeichnisses hinzu. Nachdem Sie diese Datei hinzugefügt haben, fügen Sie einfach die folgende Regel hinzu, um alle IP -Adressen zu verweigern und nur Ihre IP zuzulassen:

http://wp.tutsplus.com/tutorials/10-steps-to-securing-your-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>

Wenn Sie das WP-Admin mit dem Ziel umbenennen möchten, Ihrer WordPress-Installation zusätzliche Sicherheitsebene hinzuzufügen, können Sie auch die ausprobieren Wurzeln / Grundgestein WordPress -Kesselplatte. Es kann helfen, das Webroot zu isolieren, um den Zugriff auf Nicht-Web-Dateien zu begrenzen. Es kann auch dazu beitragen, den gesamten WordPress-Kern zu organisieren/ zu sichern, indem es in sein eigenes Unterverzeichnis wie die Umbenennung von WP-Content/ in App/ sowie diese zusätzlichen Funktionen eingebracht wird:

  • Abhängigkeitsverwaltung mit Komponist
  • Einfache WordPress -Konfiguration mit umgebungsspezifischen Dateien
  • Umgebungsvariablen mit dotenv
  • Autoloader für MU-Plugins (verwenden Sie reguläre Plugins als MU-Plugins)
  • Erweiterte Sicherheit (getrennte Webroot- und sichere Kennwörter mit WP-Password-Bcrypt)

Sie können auch ihre überprüfen Github Repo Für eine detailliertere Verwendung:

Sich ansehen http://wordpress.org/extend/plugins/stealth-login/ Dies kann Ihnen helfen.

Nein, es ist nicht möglich, den WP-Admin-Ordner mit kurzer Code oder Htaccess-Hack umzubenennen.

In der Vergangenheit habe ich dasselbe für einen Client gemacht, indem ich eine vollständige Ordnersuche über Coda (den Editor, den ich verwende) für das Tag "WP-Admin, WP-Content ... usw. Dateien.

Danach können Sie es installieren, aber:
Sie müssen dasselbe mit den Plugins tun, die Sie installieren möchten.

Auf alle Weise empfehle ich Ihnen nicht, so etwas zu tun, lassen Sie es so, wie es ist, und versuchen Sie, eine Benutzeranmeldung/Register-/Profilseite zu implementieren, um Ihren Benutzern/Kunden eine bessere Erfahrung zu bieten.

Cristian von Cozmolabs Habe ein sehr gutes Tutorial geschrieben. Sie können den Code ein wenig bearbeiten und in jedem WordPress -Thema ausgeführt werden.

Sie können auch ein Postformular aus dem Frontend hinzufügen, damit der Administrator und die Benutzer mit den Funktionen zum Schreiben eines Beitrags dies aus dem Frontend tun können.

Hier sehen Sie ein Beispiel und einen Code zum Erstellen einer Frontend -Post -Seite. Front-End-Einreichung nach der Einreichung

Außerdem können Sie nach etwas netten suchen Plugins hier Das gilt für mehr Funktionalität.

Was ist mit WP-Admin aus einem Iframe?

Erstellen Sie eine neue Seite in WP Dashboard mit dem Namen "Admin". zB: Ihre Domain/admin/

Sie können eine Fallanweisung mit dem abgeben header.php page.php und/oder footer.php Um Dinge auf der Vorlage zu deaktivieren, die nicht benötigt wird, verwenden Sie:

<?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;

Dies ist nicht hübsch, aber zumindest können Sie WP-Admin vor der URL verbergen. Eine andere Möglichkeit besteht darin, möglicherweise die Domain-Forwarding mit aktivierter Masken-URL zu verwenden.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit wordpress.stackexchange
scroll top