• Здравствуйте
    Возникла проблема с апи вордпреса
    Сделал всё как велели в статье, использовал библиотеку для XML-RPC, в итоге получаю Incorrect username or password
    Пароль и логин правильные, много раз проверял. Запрос тоже выглядит правильным, вот он:

    
    <?xml version="1.0" encoding="UTF-8"?>
    
    <methodCall>
      <methodName>wp.getPost</methodName>
      <params>
        <param>
          <value>
            <struct>
              <member>
                <name>username</name>
                <value>
                  <string>Admin</string>
                </value>
              </member>
              <member>
                <name>password</name>
                <value>
                  <string>****</string>
                </value>
              </member>
              <member>
                <name>post_id</name>
                <value>
                  <int>1</int>
                </value>
              </member>
              <member>
                <name>fields</name>
                <value>
                  <array>
                    <data>
                      <value>
                        <string>post_content</string>
                      </value>
                    </data>
                  </array>
                </value>
              </member>
            </struct>
          </value>
        </param>
      </params>
    </methodCall>
    

    Обращение идёт по адресу https://dev.devnullinc.pp.ua/unir/xmlrpc.php через HTTPS

    Может кто попробует залогиниться, сайт тестовый, его не жалко.
    Пишу на Go, использую библиотеку kolo/xmlrpc

    Ошибка выглядит так: error: "Incorrect username or password." code: 403

    Спасибо

    • Тема изменена 5 лет, 8 месяцев назад пользователем uquark.
    • Тема изменена 5 лет, 8 месяцев назад пользователем Yui. Причина: пароли не оставляйте

    Страница, с которой нужна помощь: [войдите, чтобы увидеть ссылку]

Просмотр 11 ответов — с 1 по 11 (всего 11)
  • Модератор Yui

    (@fierevere)

    永子

    не нужно на форуме оставлять данные для входа
    никакие
    ни работающие, ни не работающие
    а вдруг это не ваш сайт и вы пытаетесь таким образом обставить «попытки взлома»? всякое бывает.

    WP чистый? без плагинов «защиты и безопасности» ?

    Данные для входа оставил, чтобы люди могли проверить все ли в порядке, сайт мой, могу это доказать.
    WP чистый, только поставленный

    Данные для входа оставил, чтобы люди могли проверить все ли в порядке,

    Такие данные никогда и нигде нельзя оставлять. Где гарантии что они не попадут к злоумышленникам?
    Теперь смените хотя бы пароль и как можно скорее.

    Запрос тоже выглядит правильным, вот он:

    Возможно это ошибка при копипасте, но обращаю внимание, что тут первая срока пустая.

    Где гарантии что они не попадут к злоумышленникам?
    Теперь смените хотя бы пароль их как можно скорее.

    Сайт специально был создан чтобы быть изнасилованным моей программой, когда я закончу её писать — сайт тут же удалю, он нужен только для тестов.

    обращаю внимание, что тут первая срока пустая.

    Это я поделил его на разные строки и добавил табов, настоящий запрос написан в одну строку без разрывов

    Ок, давайте порассуждаем логически..
    1. Вероятность того, что кто-то, кроме злоумышленников будет пытаться законектиться ИМХО крайне низка.
    2. Даже если и попытаться — получат туже ошибку. Так смысл?

    Очевидно что сайт не принимает данные.

    Но я бы для начала проверил какой-нить стандартной (заведомо рабочей) тулзой. Напр клиентом wp.com.

    Это валидные данные для входа через консоль WP, чтобы посмотреть что там.
    Если мне там что-то испортят — вообще не вопрос, поставлю заново.

    wp.com требует Jetpack и подключение к wordpress.com
    Мне нужно использовать XML-RPC на стендалон-сайтах, без подключения к wordpress.com

    wp.com требует Jetpack и подключение к wordpress.com

    Для коннекта в обычный сайт с этим клиентом ничего не нужно. Но там не очень явно видно как к ним подключиться.

    View post on imgur.com

    View post on imgur.com

    Скриншоты wp.com
    Захожу в Add self-hosted site, просит сделать вот это

    Не надо коннектиться в wp.com. Совершенно. Нужно отказаться и там где-то будет возможность подключить обычный сайт.
    У меня сейчас нет этого клиента, но это в нём точно есть.

    Но кроме этого клиента есть и другие. И десктопные и мобильные и аддоны к браузерам.

    Через мобильный клиент зашло. С моего — по-прежнему та же ошибка. Прилагаю код програмы, может кто поможет. Спасибо.

    wpapi.go:

    
    package wpapi
    
    import (
      "github.com/kolo/xmlrpc"
      "fmt"
    )
    
    type Client struct {
      User  string  <code>json:&quot;user&quot;</code>
      Pass  string  <code>json:&quot;pass&quot;</code>
      APIURL string <code>json:&quot;api_url&quot;</code>
    }
    
    type Post struct {
      Content string <code>xmlrpc:&quot;post_content&quot;</code>
    }
    
    func (c *Client) GetPost(postID int) (Post, error) {
      xmlrpcClient, err := xmlrpc.NewClient(c.APIURL, nil)
      if err != nil {
        return Post{}, err
      }
      result := Post{}
      args := struct{
        User string <code>xmlrpc:&quot;username&quot;</code>
        Pass string <code>xmlrpc:&quot;password&quot;</code>
        PostID  int <code>xmlrpc:&quot;post_id&quot;</code>
        Fields  []string  <code>xmlrpc:&quot;fields&quot;</code>
      }{
        User: c.User,
        Pass: c.Pass,
        PostID: postID,
        Fields: []string {"post_content"},
      }
      b, err := xmlrpc.EncodeMethodCall("wp.getPost", args)
      if err != nil {
        fmt.Print(err)
      }
      fmt.Print(string(b))
      err = xmlrpcClient.Call("wp.getPost", args, &result)
      if err != nil {
        return Post{}, err
      }
      return result, nil
    }
    

    debug.go:

    
    package main
    
    import (
      "fmt"
      "./lib/wpapi"
    )
    
    func main() {
      c := wpapi.Client{
        User: "имя пользователя",
        Pass: "пароль",
        APIURL: "https://dev.devnullinc.pp.ua/xmlrpc.php",
      }
      p, e := c.GetPost(1)
      fmt.Print(p, e)
    }
    
Просмотр 11 ответов — с 1 по 11 (всего 11)
  • Тема «XML-RPC API: «Incorrect username or password.»» закрыта для новых ответов.