Title: Secure XML-RPC
Author: Eric Mann
Published: <strong>1 ژانویه 2014</strong>
Last modified: 30 آگوست 2014

---

جستجوی افزونه‌ها

![](https://ps.w.org/secure-xml-rpc/assets/banner-772x250.png?rev=975920)

این افزونه **با ۳ نگارش عمدهٔ اخیر وردپرس آزمایش نشده است**. ممکن است دیگر نگهداری
یا پشتیبانی نشود و هنگام استفاده با نگارش‌های تازه‌تر وردپرس مشکل سازگاری داشته 
باشد.

![](https://ps.w.org/secure-xml-rpc/assets/icon-256x256.png?rev=975920)

# Secure XML-RPC

 توسط [Eric Mann](https://profiles.wordpress.org/ericmann/)

[دانلود](https://downloads.wordpress.org/plugin/secure-xml-rpc.1.0.0.zip)

 * [جزئیات](https://fa.wordpress.org/plugins/secure-xml-rpc/#description)
 * [نقد و بررسی‌ها](https://fa.wordpress.org/plugins/secure-xml-rpc/#reviews)
 *  [نصب](https://fa.wordpress.org/plugins/secure-xml-rpc/#installation)
 * [توسعه](https://fa.wordpress.org/plugins/secure-xml-rpc/#developers)

 [پشتیبانی](https://wordpress.org/support/plugin/secure-xml-rpc/)

## توضیحات

Rather than sending usernames and passwords in plain text with every request, we’re
going to use a set of public/secret keys to hash data and authenticate instead.

On your WordPress profile, you will see a new “Remote Publishing Permissions” section
listing out the applications that have permission to publish, along with their public
and secret keys.

New applications can be added whenever you want. You can also change the names of
applications, or revoke publishing permission by deleting them.

### Additional Information

Lock graphic designed by Scott Lewis from the thenounproject.com

## عکس‌های صفحه

[⌊The new Remote Publishing Permissions area of the user profile.⌉⌊The new Remote
Publishing Permissions area of the user profile.⌉[

The new Remote Publishing Permissions area of the user profile.

## نصب

#### Manual Installation

 1. Upload the entire `/secure-xml-rpc` directory to the `/wp-content/plugins/` directory.
 2. Activate Secure XML-RPC through the ‘Plugins’ menu in WordPress.

## سوالات متداول

  How do I use the new authorization?

The old username/password paradigm can still be used, but will result in a `X-Deprecated`
header being returned by the server.

From now on, you will send an `Authorization` header. This header will be the publishing
application’s public key, two pipe (`|`) characters, and a hash of the application’s
secret key concatenated with the body of the request.

  How do I generate the message hash?

Say your application has the following information:
 * Public Key: b730db0864b0d4453ba6a26ad6613cd4*
Secret Key: 7647a19f5bf3e9fd001419900ad48a54

And you want to make the following request (whitespace/indentation added for readability,
but is removed when calculating hashes):

    ```
    <?xml version="1.0"?>
    <methodCall>
      <methodName>wp.getPosts</methodName>
      <params>
        <param>
          <value><i4>1</i4></value>
        </param>
        <param>
          <value><string></string></value>
        </param>
        <param>
          <value><string></string></value>
        </param>
      </params>
    </methodCall>
    ```

Note that the second and third parameters (traditionally `username` and `password`)
are empty. Usernames and passwords can still be specified, but will result in the
server returning an `X-Deprecated` header.

Your Authorization header would thus become:

    ```
    b730db0864b0d4453ba6a26ad6613cd4||3fac15f99f7a178f922bcc4942e62dc9001b2a45118fc3a6f3aebd77d25f4d58
    ```

The second part of the header is generated in PHP by calculating:

    ```
    hash( 'sha256', '7647a19f5bf3e9fd001419900ad48a54' . hash( 'sha256', '7647a19f5bf3e9fd001419900ad48a54' . {request_body} ) )
    ```

WordPress will read the header and log you in as usual, but you never need to send
your password across the wire.

In this paradigm, application secret keys should _also_ be treated as passwords –
they are sensitive information!

  Why are we using the secret key twice?

Some developers raised concerns about [length extension attacks](https://blog.whitehatsec.com/hash-length-extension-attacks/)
in previous editions of the plugin. While length extension isn’t strictly necessary
when dealing with XML-based messaging, a double hash helps end the discussion around
potentially-related vulnerabilities.

The double-hash is similar to but simpler than HMAC and is fairly easy to implement
in any programming language. Just note, PHP’s `hash()` function returns a base64-
encoded string, not a raw hash of the data passed in.

  Do I have to copy/paste my application keys into remote systems?

Not necessarily.

The latest version of the plugin adds a new XML-RPC method to the system that allows
for the generation of user-specific application keys remotely. _Please only ever
call this method over a secure/trusted network connection_ when setting up an application
for the first time.

## نقد و بررسی‌ها

![](https://secure.gravatar.com/avatar/06288c97f5f235cc2685c817994161456093c02621eaa5ce0856b8ee3fab3299?
s=60&d=retro&r=g)

### 󠀁[Secure fail ?](https://wordpress.org/support/topic/secure-fail/)󠁿

 [Anonymous User 13245058](https://profiles.wordpress.org/anonymized-13245058/) 
3 سپتامبر 2016

This plugin has been hacked on a client website…

![](https://secure.gravatar.com/avatar/c0c5b4ff7ab8a4de9e2651d48d0fd7d2ebd77c5ba1bc9bf67f58b2d9ea0c2341?
s=60&d=retro&r=g)

### 󠀁[Very useful plugin](https://wordpress.org/support/topic/very-useful-plugin-440/)󠁿

 [benjib0t](https://profiles.wordpress.org/benjib0t/) 7 فوریه 2017

 [ خواندن تمامی 3 نقد و بررسی‌ ](https://wordpress.org/support/plugin/secure-xml-rpc/reviews/)

## توسعه دهندگان و همکاران

“Secure XML-RPC” نرم افزار متن باز است. افراد زیر در این افزونه مشارکت کرده‌اند.

مشارکت کنندگان

 *   [ Eric Mann ](https://profiles.wordpress.org/ericmann/)

[ترجمه “Secure XML-RPC” به زبان شما.](https://translate.wordpress.org/projects/wp-plugins/secure-xml-rpc)

### علاقه‌ مند به توسعه هستید؟

[کد را مرور کنید](https://plugins.trac.wordpress.org/browser/secure-xml-rpc/)، [مخزن SVN](https://plugins.svn.wordpress.org/secure-xml-rpc/)
را بررسی کنید، یا از طریق [RSS](https://plugins.trac.wordpress.org/log/secure-xml-rpc/?limit=100&mode=stop_on_copy&format=rss)
در [گزارش توسعه](https://plugins.trac.wordpress.org/log/secure-xml-rpc/) مشترک شوید.

## گزارش تغییرات

#### 1.0.0

 * New: Add a custom RPC method for generating application keys remotely.
 * Dev change: Move all functional implementations inside our pseudo-namespace.
 * Dev change: Use a constant-time string comparison method for better security 
   and less data leakage during authentication.
 * Dev change: Use a double-hash to prevent any potential length-extension attacks.

#### 0.1.0

 * First release

## اطلاعات

 *  نگارش **1.0.0**
 *  آخرین به‌روزرسانی **12 سال پیش**
 *  نصب‌های فعال **50+**
 *  نگارش وردپرس ** 3.8 یا بالاتر **
 *  آزمایش‌شده تا **4.0.38**
 *  زبان
 * [English (US)](https://wordpress.org/plugins/secure-xml-rpc/)
 * برچسب
 * [authentication](https://fa.wordpress.org/plugins/tags/authentication/)[oauth](https://fa.wordpress.org/plugins/tags/oauth/)
   [security](https://fa.wordpress.org/plugins/tags/security/)[xmlrpc](https://fa.wordpress.org/plugins/tags/xmlrpc/)
 *  [نمایش پیشرفته](https://fa.wordpress.org/plugins/secure-xml-rpc/advanced/)

## امتیازها

 3.7 از 5 ستاره.

 *  [  امتیاز 2 5-ستاره     ](https://wordpress.org/support/plugin/secure-xml-rpc/reviews/?filter=5)
 *  [  امتیاز 0 4-ستاره     ](https://wordpress.org/support/plugin/secure-xml-rpc/reviews/?filter=4)
 *  [  امتیاز 0 3-ستاره     ](https://wordpress.org/support/plugin/secure-xml-rpc/reviews/?filter=3)
 *  [  امتیاز 0 2-ستاره     ](https://wordpress.org/support/plugin/secure-xml-rpc/reviews/?filter=2)
 *  [  امتیاز 1 1-ستاره     ](https://wordpress.org/support/plugin/secure-xml-rpc/reviews/?filter=1)

[Your review](https://wordpress.org/support/plugin/secure-xml-rpc/reviews/#new-post)

[مشاهده همه بررسی‌ها](https://wordpress.org/support/plugin/secure-xml-rpc/reviews/)

## مشارکت کنندگان

 *   [ Eric Mann ](https://profiles.wordpress.org/ericmann/)

## پشتیبانی

چیزی برای گفتن دارید؟ نیاز به کمک دارید؟

 [مشاهده انجمن پشتیبانی](https://wordpress.org/support/plugin/secure-xml-rpc/)

## کمک مالی

آیا تمایل دارید از پیشرفت این افزونه حمایت کنید؟

 [ کمک مالی به این افزونه ](http://wordpress.org/plugins/secure-xmlrpc)