چگونه وردپرس را از خرابکاری سهولی میزبان خود حفظ نماییم

wordpress-bg

وردپرس یک سیستم مدیریت محتوا فوق العاده قدرتمند است که  بسیاری از ویژگی های  آن دارای انعطاف پذیری  برای کاربران است. با این حال، اگر شما تم های سفارشی و پلاگین ها دارید، گاهی اوقات این ویژگی ها می تواند مشکل ساز باشند. مقاله زیر شامل مجموعه ای از کد ها که تقریبا بر روی هر پروژه وردپرس استفاده شود. چه آنها یا غیر ضروری، گیج کننده ، و یا نا امن می کنند. همه چیز که به شرح زیر می توان در هر سایت استفاده می شود، اما این راهنمایی به ویژه برای ساخت تم های سفارشی و پلاگین برای مشتریان قابل اجرا است.

غیر فعال کردن پلاگین ها و ویرایشگر تم

هیچ دلیلی وجود ندارد که باید ویرایش تم های سفارشی خود را و یا فایل های پلاگین از طریق داشبورد وردپرس انجام دهد. حرفه ای که این کار نمی کند، و  مبتدی معمولا متوجه نمی شود که چقدر آسان است یک سایت با پرش از نقطه ویرگول  از دسترس خارج شود. این نیز یک امنیتی هکرها آسیب پذیری می تواندباشد. خوشبختانه، دوستان ما در WordPress.org آن را واقعا آسان برای غیر فعال کردن این ویژگی دارند. و آن، کد زیر را اضافه کنید به فایل wp-config.php اضافه کنید.
define( 'DISALLOW_FILE_EDIT', true );
علاوه بر ویرایشگر تم، این نیز  ویرایشگر افزونه را غیر فعال می کند.

محدود کردن ویژوال و ویرایشگر متن

به طور پیش فرض، ویرایشگر وردپرس WYSIWYG پشتیبانی از گزینه های قالب بندی بیش از حد بسیاری برای یک پوسته سفارشی به خوبی طراحی شده است. . اگر وبلاگ متن طراحی شده است برای همیشه در تراز چپ قرار، چرا به نویسنده یک دکمه به راست تراز آن بدهید؟

غیر فعال کردن ویرایشگر بصری

اضافه کردن کد زیر به تم خود را در فایل functions.php فایل و زبانه به ضامن ویرایشگر WYSIWYG ناپدید خواهد شد.

function emersonthis_disable_visual_editor(){
    # add logic here if you want to permit it selectively
    return false;
}
add_filter('user_can_richedit' , 'emersonthis_disable_visual_editor', 50);
این یک شروع خوب است، اما شما متوجه خواهید شد که دکمه ضخیم و مورب هنوز هم در حال حاضر در ویرایشگر متنی ساده می باشند.  مشتریان سوء استفاده از این دکمه ها بسیار کمتر اغلب زمانی که بصری از ویرایشگر WYSIWYG استفاده کنند. اما  هنوز هم ترجیح می دهیم  آنها را حذف کنید اگر آنها را لازم ندارید.

از بین بردن  برجسته و یا کج متن

ویرایشگر متن quicktag  و حذف دکمه های برجسته و یا کج متن با انتخاب <strong>و <em> از آن با افزودن کد در فایل functions.php  ، نویسندگان دیگر نمی خواهد که دکمه های برجسته و یا کج (ایتالیک) استفاده کنند.
# Removes bold and italic quicktags from text editor
function emersothis_quicktags_settings( $qtInit  ) {
    //To disable ALL butons it must be set to "," (not "")
    $qtInit['buttons'] = 'more,';
    return $qtInit;
}
add_filter('quicktags_settings', 'emersonthis_quicktags_settings');
این احتمال وجود دارد که مشتری تصمیم خواهد گرفت،  مورب کل یک مقاله را حذف کند.

غیر فعال کردن دکمه در ویرایشگر بصری

یکی از  ترک ویرایشگر بصری فعال زمانی که نویسنده ها  پست طولانی و یا صفحاتی که ساختار داخلی خود را دارند. به عنوان مثال، یک نویسنده از یک مقاله ۱۰ صفحه ای ممکن است اضافه کردن سرفصل های نیاز دارد. در این شرایط راه اندازی کلاس های سفارشی برای بخش هایو سپس غیر فعال کردن همه دکمه های قالب بندی های دیگر که مورد نیاز نیست انجام دهید. از API وردپرس برای اصلاح TinyMCE به ویرایشگر کمی مشکل است زیرا شما نیاز به نگاه کردن اسم رمز برای اشاره به هر یک از دکمه می خواهید به حذف. شما دریافت می کنید بیشتر بنگ برای جفتک انداختن خود را با از بین بردن “سینک آشپزخانه” را فشار دهید که پستی کل ردیف دوم که شامل دکمه های قالب بندی مشکل ساز است. اضافه کردن کد زیر به تم خود را در فایل functions.php فایل انجام این کار.
# Remove visual editor buttons
function emersonthis_tinymce_buttons($buttons)
{
    # Remove the text color selector
    $remove = array('wp_adv'); //Add other button names to this array
    # Find the array key and then unset
    return array_diff($buttons,$remove);
}
add_filter(
    'mce_buttons',
    'emersonthis_tinymce_buttons'
);
یک ترفند به بدانند نام کد از دکمه شما می خواهید به حذف است و با بررسی نشانه گذاری به فرم. در زمان نوشتن این مقاله، هر دکمه دارای یک نام کلاس است که با شروع mce-i- به دنبال نام کد شما را در آرایه بالا قرار داده است.

حذف “اضافه کردن رسانه ها” را فشار دهید لینک

“اضافه کردن رسانه” را فشار دهید به نظر می رسد به طور پیش فرض هر زمان که یک نوع پست سفارشی پشتیبانی از ویژگی ویرایشگر. اما نوع پست سفارشی می تواند برای طیف گسترده ای از چیزهایی استفاده می شود، و اغلب آن نامناسب است. بسیاری از زمان، هنگامی که من انتظار دارم نویسنده به انتشار یک تصویر را به همراه متن، من با استفاده از ریز عکسها به پست (تصاویر با نام مستعار برجسته). این باعث می شود آن را آسان به ادغام تصاویر را در قالب موضوع، و آن را نیز می دهد کنترل توسعه بیشتری بر اندازه ها و مشخصات برای تصاویر. آگهی تک کاره و عکس های جاسازی شده با استفاده از “اضافه کردن رسانه” را فشار دهید در ویرایشگر سخت به کنترل هستند و آنها تمایل به نگاه بی دست و پا بسته به جایی که نویسنده درج تصویر در رابطه با متن اطراف دارند. آنها همچنین سردرگمی برای بسیاری از نویسندگان می شود، چرا که در یک نگاه “اضافه کردن رسانه” را فشار دهید به راحتی با “تصویر برجسته” دکمه آپلود که بیشتر پایین صفحه (به طور پیش فرض) به نظر می رسد اشتباه است، و ممکن است بسیار متفاوت با موضوع استفاده می شود. من تقریبا همیشه آن را حذف، با اضافه کردن کد زیر به موضوع فایل functions.php فایل.
# Remove media buttons
function emersonthis_remove_add_media(){
    # do this conditionally if you want to be more selective
    remove_action( 'media_buttons', 'media_buttons' );
}
add_action('admin_head', 'emersonthis_remove_add_media');
شما می توانید منطق اضافه قبل از remove_action()به حذف دکمه های رسانه ای مشروط برای انواع پست خاص است. به عنوان مثال، شما ممکن است بخواهید به اجازه نویسندگان اضافه کردن تصاویر به صفحات، اما پست که به جای ریز عکسها به استفاده از وبلاگ است.

غیر فعال کردن تم Customizer گزینه لینک

اگر شما به کار بر روی یک تم کودک، موضوع پدر و مادر ممکن است گزینه های سفارشی سازی است که برای کودک نامناسب هستند را ارائه دهد. گزینه های سفارشی سازی ممکن است استفاده نشده در موضوع کودک خود، و یا دارای پتانسیل برای شکستن همه چیز. در هر صورت، وردپرس تم customizer API را آسان می کند از شر آنها خلاص با اضافه کردن کد زیر به تم خود را در فایل functions.php فایل.
# Remove customizer options.
function emersonthis_remove_customizer_options( $wp_customize ) {
    // $wp_customize->remove_section( 'static_front_page' );
    // $wp_customize->remove_section( 'title_tagline' );
    $wp_customize->remove_section( 'colors' );
    $wp_customize->remove_section( 'header_image' );
    $wp_customize->remove_section( 'background_image' );
    // $wp_customize->remove_section( 'nav' );
    // $wp_customize->remove_section( 'themes' );
    // $wp_customize->remove_section( 'featured_content' );
    // $wp_customize->remove_panel( 'widgets' );
}
add_action( 'customize_register',
            'emersonthis_remove_customizer_options',
            ۳۰);
هر خط در قطعه کد بالا را به یک گزینه سفارشی سازی تم های فردی که شما می توانید با uncommenting آن را غیر فعال مطابقت دارد.

مخفی استفاده نشده داشبورد آیتم های منو لینک

هر سایت دارای همان نوع از محتوا؛ برخی از سایت های هیچ وبلاگ، برای مثال. اگر ما همان منطق تقاضای خود را به داشبورد وردپرس است که ما به هر رابط کاربر دیگر اعمال می شود، آن را گیج کننده و غیر ضروری برای نشان دادن دکمه که کاری انجام نشده است. در این مثال، پست آیتم منو می شود غیر ضروری، پس بیایید آن را حذف با اضافه کردن کد زیر به در فایل functions.php :
function emersonthis_custom_menu_page_removing() {
  // remove_menu_page( 'index.php' );                  //Dashboard
  // remove_menu_page( 'jetpack' );                    //Jetpack* 
  remove_menu_page( 'edit.php' );                   //Posts
  remove_menu_page( 'upload.php' );                 //Media
  // remove_menu_page( 'edit.php?post_type=page' );    //Pages
  remove_menu_page( 'edit-comments.php' );          //Comments
  // remove_menu_page( 'themes.php' );                 //Appearance
  // remove_menu_page( 'plugins.php' );                //Plugins
  // remove_menu_page( 'users.php' );                  //Users
  // remove_menu_page( 'tools.php' );                  //Tools
  // remove_menu_page( 'options-general.php' );        //Settings
}
add_action( 'admin_menu', 'emersonthis_custom_menu_page_removing' );
هر خط مربوط به منو خاص در داشبورد. نام فایل همیشه نامی است که در منوی داشبورد به نظر می رسد، به طوری که خطوط از نظر به عنوان یک مرجع سریع به سمت چپ مطابقت.
آیتم های منو پست به نظر می رسد به طور پیش فرض یا نه سایت دارای یک وبلاگ است. 
داشبورد وردپرس بدون پست آیتم های منو. 
این مهم است که به درک که از بین بردن این آیتم های منو نمی کند در واقع مجوز کاربر را لغو نمی شود. کاربر هنوز هم می تواند از آیتم های منو مخفی دسترسی داشته باشید به طور مستقیم با استفاده از URL. اگر هدف این است که داشبورد کمتر توسط کنترل های مخفی اضافی هم ریخته، پس از آن این است که احتمالا خوب است. اگر هدف این است که در واقع جلوگیری از از دسترسی به کسانی که کنترل یک کاربر، پس از آن شما نیاز به تغییر قابلیت های نقش کاربر . برای انجام این کار، اضافه کردن یک قطعه مانند زیر را به قلاب فعال شدن یک پلاگین (آن تنها نیاز به یک بار اجرا):
global $wp_roles; // global class
$role = 'author';
$cap = 'delete_published_posts';
$wp_roles->remove_cap( $role, $cap );

اضافه کردن یک اشاره در مورد چگونه فواصل خط کار را در ویرایشگر

به طور پیش فرض ویرایشگر بصری (TinyMCE به) یک پاراگراف جدید که پرس نویسنده ایجاد Return. اگر شما فقط می خواهید یک خط قدیمی از مد افتاده (بازگشت نام مستعار حمل) شما نیاز به فشار Shift+Return. این بسیار خوب و قدرتمند اما برای بسیاری از نویسندگان بصری است. من شروع به اضافه کردن یک یادآوری سریع برای جلوگیری از شکایت اجتناب ناپذیر در مورد “یک دسته از فضای سفید عجیب و غریب” نشان دادن در یک پست یا صفحه.
پست وبلاگ را با زشت فضای اضافی سفید. ( مشاهده نسخه بزرگ )
اضافه کردن کد زیر به شما فایل functions.php فایل. تغییر ارزش $tipبه هر آنچه می خواهید به یاد نویسندگان خود را از.
# Adds instruction text after the post title input
function emersonthis_edit_form_after_title() {
    $tip = '<strong>TIP:</strong> To create a single line break use SHIFT+RETURN. By default, RETURN creates a new paragraph.';
    echo '<p style="margin-bottom:0;">'.$tip.'</p>';
}
add_action(
    'edit_form_after_title',
    'emersonthis_edit_form_after_title'
);
این روش می تواند برای تزریق یک یادآوری در مورد هر چیزی که شما می خواهید نویسندگان به یاد داشته باشید که اضافه کردن یا ویرایش محتوا.

هنوز  مدیر حساب

نقش مدیریت سایت وردپرس بسیار قدرتمند است و با قدرت های بزرگ می آید مسئولیت بزرگی . برخی از مشتریان هستند کاربران قدرت وردپرس که سایت خود را به شایستگی اداره را تجربه کرد. بسیاری از آنها است. دومی نباید مجبور باشید به عنوان مدیران. در عوض، آنها یک ویرایشگر و ایجاد یک حساب کاربری مدیر جداگانه با یک رمز عبور فوق العاده قوی. اگر شما یک وابستگی مداوم با مشتری شما می توانید به آن اعتبار آویزان تا زمانی که مشتری آماده برای مدیریت سایت خود است. روش دیگر، به مشتری هر دو مجموعه از اعتبار و آنها را ذخیره اعتبار مدیریت در جایی امن و تنها استفاده از آن برای انجام وظایف مدیریت. بسیاری از مشتریان به سرعت اعتبار مدیریت را از دست بدهند اما خوب است: رمز عبور همیشه می توانید بازنشانی می شود، و این اغلب از مشتریان که شما دوباره استخدام به انجام تعمیر و نگهداری روزمره سایت برای آنها به هر حال. مهم ترین دلیل برای ناشی از خست با حساب های مدیریت بودن این است که آنها یک آسیب پذیری امنیتی هستند. یک اثر جانبی دلپذیر است که کاربران وردپرس مبتدی اغلب زمانی که آنها ورود به عنوان نویسندگان و سردبیران زیرا منوها کمتری برای مرتب سازی از طریق در حالی که یادگیری مهارت های اولیه مانند اضافه کردن و یا پست ویرایش وجود دارد پیدا کنید UI داشبورد کمتر خسته کننده باشد.

استفاده از پلاگین

MU-پلاگین ها / دایرکتوری است برای مدت طولانی وجود داشته است، اما بسیاری از هکرها وردپرس دیدار من با هرگز از آن شنیده می شود. به “مو” مخفف استفاده می کنید باید . دایرکتوری محل جایگزین که در آن پلاگین را می توان نصب است. تفاوت این است که “باید با استفاده از” پلاگین به طور خودکار فعال هستند و نمی توان به طور تصادفی در سراسر داشبورد غیر فعال است. آنها همچنین لود قبل از پلاگین های دیگر است. این است ایده آل برای پلاگین که باید وجود داشته باشد برای این سایت را به درستی اجرا است. این یک جایگزین عالی برای هک غیر نمایشی که به طور معمول ممکن است به موضوع دلخواه خود است این ماجرا نیز فایل functions.php فایل. به عنوان مثال، من می خواهم به تعریف انواع پست سفارشی در یک MU-پلاگین، چرا که محتوا باید باقی بماند یا نه یک موضوع خاص فعال است. MU-پلاگین ها / دایرکتوری در خارج از جعبه وجود ندارد. شما آن را ایجاد دستی در داخل پوشه wp-content / .
wp-content/
    mu-plugins/
    plugins/
    themes/
    ...
بزرگترین محدودیت این است که وردپرس فقط برای فایل های به نظر می رسد در سطح بالای MU-پلاگین ها / و کد داخل یک دایرکتوری فرعی را نادیده گرفت. با این حال، شما می توانید در اطراف این با ایجاد یک فایل PHP در بالای کار MU-پلاگین ها / که کد بارهای از یک دایرکتوری فرعی خواهر و برادر. همچنین در نظر داشته باشید که به روز رسانی به مو پلاگین صدق نمی کند. من فکر می کنم MU-پلاگین ها / به عنوان جایی برای قرار دادن کد مهم است که مشتری هرگز نیازی به فکر کردن در مورد. اطلاعات بیشتر در مورد باید پلاگین استفاده در مستندات. اگر می خواهید نیاز به پلاگین های دیگر با جلوگیری از توانایی آنها را غیرفعال کنید، شما ممکن است پیدا WDS مورد نیاز پلاگین کتابخانه مفید است.

آخر توجه داشته باشید لینک

شما ممکن است پیدا کردن آن خلاف برای غیر فعال کردن قابلیت های که وردپرس به شما می دهد به صورت رایگان. اما به یاد داشته باشید که مشتری خود را پرداخت نمی شما را به آنها بسیاری از دکمه ها را. کار شما این است به یک، وب سایت قوی موثر است که طراحی شده برای مطابقت با اهداف مشتری. با غیرفعال کردن قابلیت مشکل ساز و یا غیر اصلی شما در واقع ارائه ارزش بیشتر . اگر شما می خواهید قطعه بیشتر، من یک ایجاد کرده اند مخزن گیتهاب  از قطعه وردپرس مفید که شامل تا به تاریخ نسخه های هک شده در بالا، و همچنین دیگران من اضافه کردن دوره ای. اگر شما قطعه دستی خود را که شما می خواهید برای به اشتراک گذاشتن، جلو درخواست بیش از خوش آمدید!

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

a54445874545
Lead Engine and Php Code Expert