توی این مقاله قصد داریم به یکی دیگه از مشکلات امنیتی که مربوط به XML-RPC در وردپرس هستش بپردازیم.اما لازمه بدونید که این ویژگی به خودی خود مشکل ساز نیستش ولی هکرها با استفاده از این پروتکل دست به یک سری حملات می زنند.هکرها با استفاده از این فایل دست به حملاتی مثل DDOS می زنند که می تونه مشکلات اساسی برای سایت شما بوجود بیاره.پس با توجه به مشکلات امنیتی که این پروتکل با خودش به همراه داره توصیه می شه که XML-RPC در وردپرس غیرفعال بشه.
XML-RPC یه پروتکل فراخوانی دستور از راه دور اطلاعات هستش که اطلاعات رو از طریق XML و با استفاده از پروتکل HTTP منتقل می کنه.به زبان ساده تر شما با استفاده از این ویژگی می تونید با دستگاه هایی مثل تلفن همراه در وب سایت وردپرسی خودتون مطلب قرار بدید.
این ویژگی در فایلی به اسم xmlrpc.php قرار داده شده.
همونطور که گفتیم این ویژگی به خودی خود مشکل ساز نیستش و بصورت مستقیم باعث مشکلات نمی شه بلکه به شکل غیر مستقیم با کمک این فایل به وب سایت حمله می شه.
به طور مثال هکرها با استفاده از این قابلیت به عنوان یکی دیگه از راه های Brute Force و دسترسی به اطلاعات سایت وردپرسی شما استفاده می کنند.
افزونه های متعددی برای غیر فعال کردن XML-RPC در مخزن وردپرس وجود داره که ما توی این مقاله از افزونه ِDisable XML-RPC استفاده می کنیم.ابتدا افزونه رو دانلود کنید و بعد از نصب و فعال سازی XMl-RPC در وب سایت شما غیر فعال خواهد شد.
بعد از نصب و فعال سازی افزونه هیچ بخش اضافی به پیشخوان وردپرس شما اضافه نخواهد شد و نیازی به پیکربندی ندارد.
برای انجام این کار لازم که یک سری کدها رو به قالب وردپرس خودتون اضافه کنید.درصورتی که قالب شما دارای بخش ویرایشگر قالب هست می تونید وارد این بخش بشید و بعد کدهای زیر رو به فایل functions.php اضافه کنید.در غیر این صورت وارد پوشه ی فایل های وردپرس قالبتون بشید و فایل functions.php رو پیدا کنید و کدهای زیر رو به اون اضافه کنید.
function remove_x_pingback($headers) {
unset($headers['X-Pingback']);
return $headers;
}
add_filter('wp_headers', 'remove_x_pingback');
add_filter('xmlrpc_enabled', '__return_false');
ابتدا فایل htaccess موجود در public_html را پیدا کرده و سپس کدهای زیر را به آن اضافه کنید.
# Block WordPress xmlrpc.php requests
order deny,allow
deny from all