هشت‌تم.بلاگ

8theme.Blog

دسته‌بندی نشده

تغییر آدرس بخش مدیریت وردپرس

روش های مختلفی برای تغییر نشانی مدیریت وردپرس وجود دارد ، روشهایی مثل انتقال یک آدرس به آدرس اصلی ، تغییر کلی نام پوشه و … همه این روش ها دارای اشکالاتی هستند که به مرور زمان خود را آشکار می کنند . همان طور که می دانید نشانی بخش مدیریت در وردپرس به صورت /wp-admin/ در انتهای آدرس سایت می باشد . در این آموزش ما این نشانی را به /admin-panel/ تغییر می دهیم ، توجه کنید که این روش یک انتقال ساده نیست بلکه کل آدرس تغییر خواهد کرد . به صورت همزمان کلیه درخواست ها برای آدرس اصلی مدیریت به صفحه خطای ۴۰۴ ختم خواهند شد .

شاید بپرسید که اصلا این کار چه دردی را از ما دوا خواهد کرد ؟ واضح است هکری که بفهمد شما از وردپرس استفاده می کنید ۵۰ درصد راه را برای هک کردن شما پیموده است . شما با این کار تا حدودی جلوی فهم دقیق آن ها را گرفته و آن ها را به اشتباه می اندازید ! البته روش های زیادی برای فهمیدن اینکه یک سایت از وردپرس استفاده می کند یا خیر وجود دارد که در آینده مطالب بیشتری در این مورد ارسال خواهیم کرد . در ادامه مطلب همراه ما باشید …

مخفی کردن آدرس مدیریت وردپرس

ابتدا کد زیر را به فایل wp-config.php وردپرس اضافه کنید :

define('WP_ADMIN_DIR', 'admin-panel');
define( 'ADMIN_COOKIE_PATH', SITECOOKIEPATH . WP_ADMIN_DIR);

سپس کد زیر را کپی کرده و آن را در فایل functions.php قالب قرار دهید :

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

و در آخر کد زیر را به فایل htaccess موجود در ریشه سایت اضافه کرده و آن را ذخیره کنید :

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

جلوگیری از دسترسی مستقیم به wp-admin

کد زیر هم باعث می شود کلیه درخواست هایی که به آدرس قدیمی مدیریت فرستاده می شوند ، خطای ۴۰۴ را دریافت کنند . این کد را نیز به فایل functions.php قالب اضافه کنید :

add_action('login_form','redirect_wp_admin');

function redirect_wp_admin(){
$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' );
}
}
}
فهرست