it-swarm.asia

هل يمكنني إعادة تسمية مجلد wp-admin؟

هل من الممكن إعادة تسمية مجلد wp-admin؟

أعلم أنه يمكنني فقط إعادة تسميته ، ولكن ما لم يتم دعمه بواسطة الكود فسوف يتم كسر الكثير من الأشياء.

إذا استخدمت اسم مجلد مخصص ، فستجعله أكثر أمانًا بقليل ، من خلال الغموض وكل ذلك.

69
Adam Dempsey

لسوء الحظ ، هذا غير ممكن حاليًا ، ولا يبدو أن هناك إرادة للنظر فيه كتعديل كما ترى في هذا سلسلة الرسائل الحديثة في قائمة المتسللين على wp و هذه البطاقة على trac .

إذا كنت ترغب حقًا في إعادة النظر في هذا ، فأود أن أقترح:

  1. قدم قضيتك على wp-hackers لكن حذر من أن حالة الاستخدام الخاصة بك تكون أفضل وليست "أمان من خلال الغموض" أو سيتم إسقاطها على النحو الوارد أعلاه.

  2. قدم حجتك في تذكرة trac مع نفس المحاذير.

  3. والأفضل من ذلك ، تحميل تصحيح لتعقب يتيح الوظيفة المطلوبة. من الصعب للغاية أن تقول لا عندما يكون العمل قد أنجز بالفعل (ولكن بالطبع ، لديهم تفضيل لقول "لا" في كثير من الأحيان أكثر مما يقولون "نعم" لذلك تحذير مسبق.)

38
MikeSchinkel

لا ، لا يمكنك إعادة تسمية المجلد. المسار مرمّز في مواقع متعددة عبر مصدر WordPress.

الأمن من خلال الغموض ليس حقا الأمن على أي حال.

11
Viper007Bond

يستمر الناس في طرح هذا السؤال ، لكن يواصل الناس تعليمه على أنه تكرار. الإجابة المختارة لهذا ، ومع ذلك ، ليست في الحقيقة إجابة على السؤال.

لإعادة تسمية مشرف Wordpress ، يلزمك اتخاذ خطوتين.

في التعليمة البرمجية التالية ، أستخدم لوحة القيادة كاسم لبرنامج wp-admin الجديد. قم بتغيير لوحة القيادة في الكود أدناه إلى أي شيء تريد تسمية المشرف الجديد لديك.

عليك أولاً أن تخبر وورد أنك تريد تغيير عنوان URL الخاص بالمسؤول.

على السطر 2558 wp-include/link-template.php هو الكود الذي يقطع عنوان url المشرف.

باستخدام عامل التصفية admin_url ، يمكنك تغيير عنوان url الخاص بالمسؤول بنجاح باستخدام الوظيفة التالية:

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

يمكنك اختبار لمعرفة ما هو عنوان url الجديد الخاص بك عن طريق القيام بذلك:

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

ومع ذلك ، إذا لاحظت عند النقر فوق المسؤول أنه لا يعمل كل شيء وأن بعض الروابط قد تعطيك 404 غير موجود أو شيء مشابه.

ثانياً ، قم بتغيير (.htaccess في دليل جذر Wordpress وأضف ما يلي في البداية قبل أي شيء آخر.

#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

الآن ، لست خبيراً عندما يتعلق الأمر بالتحرير .htaccess ، لذا قد لا يكون بعض ذلك ضروريًا. ومع ذلك ، لم أجدها أبداً لا تعمل.

ها هو كل شيء. قم بإنشاء ملف وإفلاته في مجلد الإضافات أو مجلد mu-plugins. (تذكر تغيير كل مثيل للوحة القيادة إلى عنوان URL للمشرف المفضل)

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

القضايا؟

لم يكن لدي أي أكثر من عام باستخدام هذه الطريقة. قد تلاحظ أن wp-admin سيظل يعمل على أي نوع من المصات ، ولكنه يعتبر إجراء وقائي أكثر من أي شيء آخر. كان لديّ بعض الإضافات غير المكتوبة بشكل سيئ والتي تعمل على تثبيت wp-admin في بعض الأماكن والتي لن يتم تحميلها عند محاولة حظر أو إعادة توجيه wp-admin. أنا متأكد من أن هناك طريقة للقيام بذلك باستخدام htaccess ، لكنني لم أحسبها بنجاح. أيضا ، لم يتم اختبار هذا على مواقع متعددة أو أي شيء من هذا القبيل من أي وقت مضى.

تحديث: النهج البديل

هذا مشابه إلى حد ما ، لكن لسبب ما ، لم تعمل إجابتي أعلاه على كل مضيف جربته.

إضافة إلى .htaccess

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

قم بإنشاء ملف في مجلد mu-plugins يسمى new-admin.php وأضف هذا إلى هناك:

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

ملاحظة: يبدو أن هذا النهج يعمل بشكل أفضل على بعض الأجهزة المضيفة ، ولكن لا يزال يواجه مشكلة عدم إعادة توجيه روابط wp-admin إلى عنوان url الجديد للمشرف. إليك مقاربة حاولت أدناه. بينماهذا أدناه لا يعملأعتقد أنه على المسار الصحيح. لست متأكدا تماما ما هوك للاستخدام. قد يكون htaccess بديلاً أفضل لكني استمررت في الحصول على حلقات إعادة التوجيه عندما حاولت بهذه الطريقة.

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

تتمثل الطريقة التي يدعمها WordPress رسميًا في نقل ملفات تثبيت WordPress إلى دليل فرعي ، مع الاحتفاظ بالموقع في الجذر ، مثل ذلك:

عنوان الموقع: http://my-blog.com

عنوان URL للمشرف: http://my-blog.com/7nxnkkugrdzm/wp-admin

على الرغم من أن هذا لا يمنحك الحرية الكاملة في تغيير عنوان URL الخاص بالمشرف ، إلا أنه يعني أنه يمكنك بادئة أي شيء تريده. هذا جيد بنفس القدر من الناحية الأمنية. له أيضًا ميزة نقل جميع ملفات تثبيت WordPress إلى موقع غير معروف للمستخدمين ، لذلك يجب أن يكون جزءًا من أي إستراتيجية تصلب وورد.

من مخطوطة WordPress: إعطاء WordPress دليله الخاص

لاحظ أيضًا أنه على الرغم من أن نظام الأمان هذا يسمى _ ​​عنوان URL الغامض ، فإنه لا يشبه الأمان بواسطة الغموض. عنوان URL الغامض هو مخطط أمان صالح تمامًا يكون بنفس جودة كلمة المرور ، بينما يعتمد الأمان بواسطة الغموض على استخدام إجراءات سرية غير مثبتة.

تنطبق نفس التحذيرات كما هو الحال مع كلمات المرور: اتصل بالمجلد المخصص مثل 7nxnkkugrdzm ، وليس happy-snappy-admin. تأكد أيضًا من إدراك المستخدمين أن عنوان url الخاص بالمشرف هو سر.

9
cmc

يوجد في الواقع برنامج تعليمي جيد جدًا هنا:

كيفية إخفاء معلومات وورد من شفرة المصدر الخاصة بك المرآة

يتضمن كيفية إعادة تسمية محتوى wp وإعادة تسمية wp-admin وإزالة علامة المنشئ من WordPress.

سيؤدي هذا البرنامج التعليمي إلى تغيير واضح أدلة أو مؤشرات عليه في شفرة المصدر الخاصة بك ، إزالة معلومات WordPress على نحو فعال من موقعك.

وهو يشرح كيفية تغيير اسم المجلد ، وعنوان url لتسجيل الدخول إلى wp-admin ، وتأكد من أن login.php يعيد التوجيه إلى الموقع الرئيسي حتى يتمكن الأشخاص من الذهاب إلى هناك مباشرة.

7
Graeme

إذا كنت ترغب في منع المستخدمين على مستوى المشتركين من رؤية دليل wp-admin ، يمكنك إنشاء إصدارات مستقلة من صفحات تسجيل الدخول/التسجيل وصفحة/تحرير في الدلائل الخاصة بهم. بعد ذلك ، يمكنك حماية مجلد المسؤول الخاص بك عن طريق htaccess أو تقييد IP. (على الرغم من أنك إذا قمت بذلك ، فيجب عليك استثناء ملف admin-ajax ، حيث تستخدمه بعض المكونات الإضافية لإضافة وظيفة AJAX).

يمنحك هذا النهج "الغموض" الذي تريده (والذي لا يؤدي كثيرًا في الواقع ، ولكنه غالباً ما يجعل العملاء والمديرين يشعرون بتحسن) ، ويضيف أيضًا بعض الأمان الحقيقي عن طريق تقييد الوصول إلى المسؤول. بالإضافة إلى ذلك ، وبصراحة ، يبدو عنوان URL الذي يقول "/ login" أجمل كثيرًا من "wp-login.php".

يجب أن تذهب دون أن تقول إن هذا لا يجعل موقعك مقاومًا للرصاص. لكنها لطيفة ، وتعزيز الأساسية.

6
MathSmath

تتمثل إحدى طرق قفل لوحة التحكم الإدارية في استخدام قواعد .htaccess. فقط أضف ملف htaccess إلى جذر دليل wp-admin. بعد إضافة هذا الملف ، ما عليك سوى إضافة القاعدة التالية لرفض جميع عناوين IP والسماح فقط بعنوان IP الخاص بك:

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>
2
Josh

إذا كنت تريد إعادة تسمية wp-admin بهدف إضافة طبقة إضافية من الأمان إلى تثبيت WordPress الخاص بك ، يمكنك أيضًا تجربة Roots/Bedrock WordPress Boilerplate . يمكن أن يساعد في عزل جذر الويب لتقييد الوصول إلى الملفات غير التابعة للويب. يمكن أن يساعد أيضًا في تنظيم/تأمين مجموعة WordPress الأساسية بالكامل عن طريق وضعها في دليل فرعي خاص بها مثل إعادة تسمية wp-content/إلى التطبيق/بالإضافة إلى هذه الميزات الإضافية:

  • إدارة التبعية مع الملحن
  • سهل التكوين وورد مع ملفات محددة البيئة
  • متغيرات البيئة مع Dotenv
  • أداة الإكمال التلقائي للمكونات الإضافية (استخدم الإضافات العادية مثل الإضافات الإخبارية)
  • أمان محسّن (جذر ويب منفصل وكلمات مرور آمنة مع wp-password-bcrypt)

يمكنك أيضًا التحقق من GitHub Repo للحصول على استخدام أكثر تفصيلاً:

1
Carl Alberto

ماذا عن العمل WP-ADMIN من IFRAME؟

قم بإنشاء صفحة جديدة في لوحة القيادة wp تسمى "المسؤول". على سبيل المثال: yourdomain/admin /

يمكنك تقديم بيان حالة باستخدام header.phppage.php و/أو footer.php لتعطيل الأشياء في القالب غير المطلوب ، باستخدام:

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

هذه ليست جميلة ، ولكن على الأقل إلى حد ما يمكنك إخفاء wp-admin من رابط. هناك طريقة أخرى هي ربما استخدام إعادة توجيه المجال مع تمكين عنوان url للقناع.

0
samjco

ألقِ نظرة على http://wordpress.org/extend/plugins/stealth-login/ قد يساعدك ذلك.

0
edelwater

لا ، لا يمكن إعادة تسمية مجلد wp-admin باستخدام أي رمز أو اختراق htaccess ،

في الماضي ، فعلت نفس الشيء بالنسبة للعميل من خلال إجراء بحث كامل للمجلدات عبر Coda (المحرر الذي أستخدمه) للعلامة "wp-admin ، wp-content ... إلخ" وأزل "wp-" من الملفات.

بعد ذلك سوف تكون قادرًا على تثبيته ولكن:
عليك أن تفعل الشيء نفسه مع المكونات الإضافية التي تريد تثبيتها ، وعليك تحديث النواة يدويًا عن طريق مسح علامة "wp-" من الإصدارات الجديدة.

في جميع الطرق ، لا أقترح عليك أن تفعل شيئًا كهذا ، اترك الأمر كما هو وحاول تنفيذ صفحة تسجيل دخول/تسجيل/ملف تعريف مستخدم لمنح المستخدمين/العملاء تجربة أفضل.

كريستيان من Cozmolabs لديك كتابة تعليمي جيد للغاية. يمكنك تعديل الكود قليلاً وجعله يعمل في أي موضوع من ووردبريس.

يمكنك أيضًا إضافة نموذج نشر من الواجهة الأمامية حتى يتمكن المسؤول والمستخدمون ذوو القدرات لكتابة منشور من القيام بذلك من الواجهة الأمامية.

هنا يمكنك رؤية مثال ورمز حول كيفية إنشاء صفحة نشر الواجهة الأمامية. تقديم ما بعد الواجهة الأمامية

كما يمكنك إلقاء نظرة على بعض الإضافات Nice هنا التي تفعل الشيء نفسه مع المزيد من الوظائف.

0
Philip