در روزهای اولیه وردپرس، ویژگی هایی وجود داشت که به شما امکان می داد با وب سایت خود از راه دور تعامل داشته باشید. همین ویژگی‌ها امکان ساختن یک جامعه را با اجازه دادن به وبلاگ‌نویسان دیگر برای دسترسی فراهم کرد وبلاگ شما. ابزار اصلی مورد استفاده برای این منظور " XML-RPC '.

« XML-RPC "یا" XML درخواست روش از راه دور قدرت بسیار خوبی به WordPress می دهد:

  • اتصال به سایت خود با SmartPhone
  • TrackBacks و Pingbacks روشن است وبلاگ شما
  • استفاده پیشرفته از Jetpack

اما مشکلی در " XML-RPC "، که باید برای حفظ امنیت خود حل کنید وبلاگ وردپرس.

نحوه استفاده XML-RPC در وردپرس

برگردیم در روزهای ابتدایی وبنوشتها (خوب قبل از وردپرس) ، بیشتر نویسندگان در اینترنت استفاده می کنند شماره گیری وبگردی. نوشتن مقاله و ارسال آنلاین آن دشوار بود. راه حل این بود که به صورت آفلاین با رایانه خود بنویسید و " کپی / coller مقاله شما افرادی که از این روش استفاده کرده اند ، به دلیل دشوار بودن متن آنها ، حتی اگر این سند با فرمت HTML ذخیره شده باشد ، به خصوص مشکل دارند.

Blogger یک رابط برنامه نویسی برنامه ایجاد کرده است (API) اجازه می دهد تا سایر توسعه دهندگان به وبلاگ های Blogger دسترسی پیدا کنند. کافی بود نام وب سایت را مشخص کنید ، که به کاربران اجازه می دهد مقالات را به صورت آفلاین ایجاد کنند و سپس از طریق XML-RPC به Blogger API متصل شوند. سایر سیستم های وبلاگ نویسی نیز از آن پیروی کردند و در نهایت یک MetaWeblogAPI وجود داشت که دسترسی را به طور پیش فرض استاندارد می کرد.

پس از ده سال، بیشتر برنامه های ما روی گوشی ها و تبلت های ما هستند. یکی از کارهایی که مردم دوست دارند با تلفن های خود انجام دهند این است که به تلفن خود پست کنند وبلاگ وردپرس. در سال 2008-09، Automattic مجبور شد تقریباً برای هر سیستم عامل تلفن همراه یک برنامه وردپرس ایجاد کند.همان Blackberry و Windows Mobile).

این برنامه ها از طریق رابط XML-RPC اجازه استفاده از اعتبار WordPress.com شما را برای اتصال به یک سایت وردپرس که در آن حقوق دسترسی خاصی دارید ، قرار می دهند.

چرا باید XML-RPC را فراموش کنیم؟

سازگاری با XML-RPC از روز اول بخشی از وردپرس بوده است. WordPress 2.6 در 15 ژوئیه 2008 منتشر شد و فعال سازی " XML-RPC به تنظیمات WordPress اضافه شده است ، و پیش فرض "" خاموش '.

یک هفته بعد ، نسخه ای از وردپرس برای آیفون منتشر شد و از کاربران خواسته شد تا این ویژگی را فعال کنند. چهار سال بعد از پیوستن برنامه آیفون به خانواده ، وردپرس 3.5 " XML-RPC '.

نقاط ضعف اصلی مرتبط با XML-RPC عبارتند از:

  • حملات Brute force: مهاجمان سعی می کنند با استفاده از xmlrpc.php با همان تعداد ترکیب نام کاربری و رمز ورود به وردپرس وارد شوند. هیچ محدودیتی برای آزمایش وجود ندارد. یک روش در xmlrpc.php به مهاجم اجازه می دهد تا از یک دستور واحد استفاده کند (system.multicall) برای حدس زدن صدها کلمه عبور.
  • انکار حملات سرویس از طریق Pingback

راحتی در مقابل امنیت WordPress

بنابراین ، در اینجا ما دوباره می رویم. دنیای مدرن به شدت با سازش های خود خسته کننده است.

اگر می خواهید اطمینان حاصل کنید که هیچ کس بمبی را روی قایق شما نیاورد ، فقط آن را از طریق فلزیاب ها رد می کنید. اگر می خواهید هنگام خرید از ماشین خود محافظت کنید ، درها را قفل کنید و شیشه ها را ببندید. برای محافظت از آن نمی توانید به رمز ورود وب سایت اعتماد کنید (آیا شیشه های ماشین محافظت کافی را دارند؟)، به ویژه اگر از برنامه های Jetpack و یا تلفن همراه استفاده کنید.

نحوه غیرفعال کردن XML-RPC در وردپرس

بنابراین ، شما به همه این ابزارها وابسته شده اید که به نوبه خود به XML-RPC وابسته هستند. من درک می کنم که شما واقعاً نمی خواهید "XML-RPC" را حتی برای مدتی خاموش کنید.

با این حال ، در اینجا چند افزونه وجود دارد که به شما در انجام این کار کمک می کند:

  • توقف حمله XML-RPC : فقط به Jetpack و سایر ابزارهای Automattic امکان دسترسی به xmlrpc.php از طریق .htaccess را می دهد.
  • کنترل انتشار XML-RPC: به سادگی گزینه قدیمی انتشار از راه دور را به گزینه های نوشتن برگرداند.
  • iThemes Security, ضد تروجان امنیت و فایروال Brute-Force et همه در یک WP Security & Firewallاین ابزارهای امنیتی با هدف کلی شامل محافظت از نیروی بی رحمانه در نسخه های رایگان است. آنها تلاش های مکرر ورود به سیستم را با یا بدون xmlrpc.php تماشا می کنند و شما را از سؤالاتی که سعی در شکستن سایت شما دارند ، محافظت می کنند.

بازگرداندن (و OAuth) به نجات

اکنون ممکن است بدانید که توسعه دهندگان وردپرس به راه حل REST روی آورده اند. توسعه دهندگان در تیم REST API چند مشکل در حال آماده شدن بودند ، از جمله در مورد سکه احراز هویت که برای حل مسئله XML-RPC در نظر گرفته شده است. هنگامی که این سرانجام اجرا شود (در حال حاضر برای WordPress 4.7 در پایان 2016 برنامه ریزی شده است) ، برای اتصال با نرم افزاری مانند JetPack دیگر نیازی به استفاده از XML-RPC نخواهید داشت.

در عوض ، شما از طریق پروتکل OAuth تأیید اعتبار می کنید. اگر نمی دانید پروتکل OAuth چیست ، به یاد بیاورید که وقتی یک وب سایت از شما بخواهد با Google ، Facebook یا حتی توییتر وارد شوید چه اتفاقی می افتد. به طور کلی در این سیستم عامل ها پروتکل مورد استفاده OAuth است.

تست WordPress REST API

همانطور که قبلاً گفتم ، REST API هنوز در هسته وردپرس ادغام نشده است و ماهها نخواهد بود. امروز می توانید آزمایش آن را در محیط های آزمایشی خود شروع کنید:

Rest API قطعاً آینده وردپرس خواهد بود. ما قبلاً چندین آموزش در مورد مقاله دوم نوشته ایم که به شما ایده می دهد چگونه می توانید اجرای آن را شروع کنید:

برای این آموزش تمام شد. امیدوارم در مورد خطرات مربوط به استفاده از XML-RPC بهتر مطلع شوید. دریغ نکنید از ما سوال بپرسید فرم نظرات.