WebsiteWordpressآموزش ها

نکات پس از نصب وردپرس

نکاتی که پس از نصب وردپرس جهت امنیت سایت و دسترسی های لازم، بهتره انجام بشه

1- تغییر متن خطای پیشفرض در صفحه لاگین

/*change Login Error Message */
function login_error_message(){
  return 'Incorrect username or password. Please try again';
}
add_filter( 'login_errors', 'login_error_message' );

2- باید نبایدهای wp-config

غیرفعال کردن DEBUGING:

define('WP_DEBUG',         false);
define('WP_DEBUG_LOG',     false);
define('WP_DEBUG_DISPLAY', false);
define('SAVEQUERIES',      false);
ini_set('display_errors','Off');
ini_set('error_reporting', E_ALL );

Site URL and Home URL:

define('WP_SITEURL', 'https://example.com/wp');
define('WP_HOME',    'https://example.com');

Change wp-content directory:

پس از درج کد زیر محتویات پوشه wp-config را به پوشه جدید منتقل کنید:

languages | plugins | themes | upgrade | uploads
define( 'WP_CONTENT_DIR', $_SERVER['DOCUMENT_ROOT'] . '/assets' );
define( 'WP_CONTENT_URL', 'https://axio.ir/assets');

3- تغییر ایمیل پیشفرض وردپرس

  //change-wordpress-mail 
    add_filter('wp_mail_from', 'new_mail_from');
    add_filter('wp_mail_from_name', 'new_mail_from_name');

    function new_mail_from($old) {
     return 'info@example.com.ir';
    }
    function new_mail_from_name($old) {
     return 'Example';
    }

4- Add css file for admin panel

ابتدا یک فایل به نام admin.css در پوشه قالب خود ایجاد کنید و کد زیر را در فانکشن قالب قرار دهید

function ej_admin_style() {
wp_enqueue_style('admin_styles' , get_stylesheet_directory_uri().'/admin.css');
}

add_action('admin_head', 'ej_admin_style');

5- تغییر مقادیر و واژه ها

//--------------------------------------Change text
add_filter('gettext','ej_words');
add_filter('ngettext','ej_words');
function ej_words($translated){ $words=array(
'وردپرس' => 'daramesh',
'بازدید دیروز' => ' بازدید روز قبل',
'کل نوشته‌ها' => 'تعداد برنامه ها',
); $translated=str_ireplace(array_keys($words),$words,$translated); return $translated;}

6- افزودن فونت

پوشه fonts را به قالب فعال اضافه کنید.

دانلود فونت

و این کدها را به استایل قالب اضافه کنید +

@font-face {
    font-family: iransans;
    font-style: normal;
    font-weight: normal;
    src: url('fonts/eot/IRANSansWeb(FaNum).eot?#iefix') format('embedded-opentype'), /* IE6-8 */ url('fonts/woff/IRANSansWeb(FaNum).woff') format('woff'), /* FF3.6+, IE9, Chrome6+, Saf5.1+*/ url('fonts/ttf/IRANSansWeb(FaNum).ttf') format('truetype');
}

@font-face {
    font-family: iransans;
    font-style: normal;
    font-weight: bold;
    src: url('fonts/eot/IRANSansWeb(FaNum)_Bold.eot?#iefix') format('embedded-opentype'), /* IE6-8 */ url('fonts/woff/IRANSansWeb(FaNum)_Bold.woff') format('woff'), /* FF3.6+, IE9, Chrome6+, Saf5.1+*/ url('fonts/ttf/IRANSansWeb(FaNum)_Bold.ttf') format('truetype');
}

@font-face {
    font-family: iransans;
    font-style: normal;
    font-weight: 900;
    src: url('fonts/eot/IRANSansWeb(FaNum)_Black.eot?#iefix') format('embedded-opentype'), /* IE6-8 */ url('fonts/woff/IRANSansWeb(FaNum)_Black.woff') format('woff'), /* FF3.6+, IE9, Chrome6+, Saf5.1+*/ url('fonts/ttf/IRANSansWeb(FaNum)_Black.ttf') format('truetype');
}

@font-face {
    font-family: iransans;
    font-style: normal;
    font-weight: 400;
    src: url('fonts/eot/IRANSansWeb(FaNum)_Medium.eot?#iefix') format('embedded-opentype'), /* IE6-8 */ url('fonts/woff/IRANSansWeb(FaNum)_Medium.woff') format('woff'), /* FF3.6+, IE9, Chrome6+, Saf5.1+*/ url('fonts/ttf/IRANSansWeb(FaNum)_Medium.ttf') format('truetype');
}

@font-face {
    font-family: iransans;
    font-style: normal;
    font-weight: 100;
    src: url('fonts/eot/IRANSansWeb(FaNum)_Light.eot?#iefix') format('embedded-opentype'), /* IE6-8 */ url('fonts/woff/IRANSansWeb(FaNum)_Light.woff') format('woff'), /* FF3.6+, IE9, Chrome6+, Saf5.1+*/ url('fonts/ttf/IRANSansWeb(FaNum)_Light.ttf') format('truetype');
}
define('WP_HTTP_BLOCK_EXTERNAL', true);
define('WP_ACCESSIBLE_HOSTS', 'example.com, domain.com');

8- غیر فعال کردن آرشیو نویسنده – by id

// disable author archives
add_action('template_redirect', 'ej_disable_author_page');

function ej_disable_author_page() {
    global $wp_query;

    if ( is_author() ) {
        // Redirect to homepage, set status to 301 permenant redirect. 
        // Function defaults to 302 temporary redirect. 
        wp_redirect(get_option('home'), 301); 
        exit; 
    }
}

9- Remove WP Version

// Remove WP Version
remove_action('wp_head', 'wp_generator');

کد بالا فقط این متاتگ رو حذف میکنه :

<meta name="generator" content="WordPress 6.4.2" />

Remove Version from CSS and JS

// remove wp version number from scripts and styles
function remove_css_js_version( $src ) {
    if( strpos( $src, '?ver=' ) )
        $src = remove_query_arg( 'ver', $src );
    return $src;
}
add_filter( 'style_loader_src', 'remove_css_js_version', 9999 );
add_filter( 'script_loader_src', 'remove_css_js_version', 9999 );

10- غیرفعال کردن ویرایش فایل ها از پنل ادمین وردپرس:

//Disable File Edits
define('DISALLOW_FILE_EDIT', true);

11- غیرفعال کردن API REST:

می توانید API REST را به طور کامل غیرفعال کنید ، و فقط به IP های خاص اجازه دسترسی به آن را دهید:

//REMOVE REST API
function restrict_rest_api_to_localhost() {
  $whitelist = [ '127.0.0.1', "::1" ];
  if( ! in_array($_SERVER['REMOTE_ADDR'], $whitelist ) ){     
      wp_die( __('REST API Disabled. Go to <a href="'. get_bloginfo('url').'"> homepage </a>'), "Info", 200); }
  }
add_action( 'rest_api_init', 'restrict_rest_api_to_localhost', 0 );

12- غیرفعال کردن XMLRPC:

XMLRPC مفید است، اما می تواند در برابر شما مورد استفاده قرار گیرد:

  • Intel gathering
  • اسکن پورت
  • حملات DoS
  • نفوذ به روتر

گزینه هایی برای غیرفعال کردن XMLRPC از function.php وجود دارد ، اما توصیه می شود این کار را از طرف وب سرور انجام دهید.به سادگی با افزودن این مورد به پیکربندی Nginx، چنین درخواست هایی مانع فشار بی رویه در منابع سرور شما خواهد شد.

location ^~ /xmlrpc.php {
    #allow 1.2.3.4;     
    deny all;     
    error_page 403 =404 / ;     
 }

13- مخفی کردن ورژن پلاگین ها و قالب

پرونده های CSS توسط هکر ها و ابزار WPScan نیز برای تعیین نسخه های افزونه و قالب مورد استفاده قرار گیرد ، بنابراین می توانید با اضافه کردن چند قطعه کد زیر مانع از نمایش ورژن پلاگین ها و قالب شوید:

function remove_cssjs_ver( $src ) {
     if( strpos( $src, '?ver=' ) )
         $src = remove_query_arg( 'ver', $src );
     return $src;
 }
 add_filter( 'style_loader_src', 'remove_cssjs_ver', 1000 );
 add_filter( 'script_loader_src', 'remove_cssjs_ver', 1000 );

حذف کلمات و کپی رایت های وردپرس از جاهای مختلف پنل ادمین:

  1. حذف کلمه وردپرس از تایتل بار پیشخوان وردپرس
  2. حذف لوگو وردپرس از نوار پیشخوان وردپرس
  3. تغییر متن فوتر پیشخوان وردپرس
  4. حذف ادمین بار وردپرس برای تمام کاربران به غیر از کاربر ادمین
  5. حذف ورژن وردپرس از پانوشت پیشخوان
  6. حذف ورژن وردپرس از کد های خروجی سایت

برای چک کردن امنیت وردپرس، پلاگین یا قالب‌ها این لینک را ببینید.

online security scan

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا
x

Array ( [0] => 2024 [1] => آکسیو [2] => https://axio.ir/ )

fa_IR