PHP, ВИХРЕВОЕ сообщение для входа в систему в WordPress

Сначала настройте style.xml следующим образом: -

<style name="AppTheme.PopupOverlay" parent="ThemeOverlay.AppCompat.Light" />

, а затем примените к своему заказу toolbar: -

<android.support.v7.widget.Toolbar
    android:id="@+id/toolbar"
    android:layout_width="match_parent"
    android:layout_height="?attr/actionBarSize"
    android:background="?attr/colorPrimary"
    app:popupTheme="@style/AppTheme.PopupOverlay" >

  <TextView
        .....
        android:text="@string/search_by_title_or_artist"
        android:textColor="@color/text_shadow_white"
        .... 
    />


</android.support.v7.widget.Toolbar>
16
задан Peter Mortensen 22 June 2014 в 07:20
поделиться

4 ответа

Kalium получил это право - пути в интерфейсе WordPress являются относительными, из-за чего интерфейс администрирования не работает должным образом при доступе таким образом.

Ваш подход вызывает беспокойство в нескольких отношениях, поэтому я хотел бы дать несколько быстрых рекомендаций.

Во-первых, я бы попытался найти способ убрать жестко запрограммированные переменные $ username и $ password . Подумайте, как легко это взломать - если, например, пароль обновляется через интерфейс администрирования, жестко запрограммированное значение в вашем коде больше не будет правильным, и ваш «автоматический вход» теперь не сработает. Более того, если кто-то каким-то образом включает сайт и получает доступ к handshake.php - что ж, теперь у них есть имя пользователя и пароль для вашего блога.

Похоже, ваша установка WordPress находится на том же сервере, что и сценарий рукопожатия, который вы написали, учитывая, что путь к / blog является относительным (в вашем примере кода). Соответственно, я бы предложил попытаться имитировать сеанс, который они проверяют, при входе в систему ваших родительских приложений. Я делал это несколько раз в прошлом - просто не могу вспомнить подробностей. Так, например, ваш сценарий входа в систему не только установит ваши учетные данные для входа, но также установит ключи сеанса, необходимые для аутентификации WordPress.

Этот процесс потребует рытья большого количества кода WordPress, но в этом вся прелесть открытого исходного кода! Вместо использования cURL и значений жесткого кодирования попробуйте просто интегрировать механизм аутентификации WordPress в механизм входа в систему вашего приложения. Я бы начал с просмотра исходного кода для wp-login.php и оттуда.

Если ничего не помогает, и вы полны решимости не пытаться объединить механизм аутентификации сеанса с механизмом WordPress, вы можете немедленно решить свою проблему (без исправления наиболее важных аспектов вашего подхода) с помощью этих изменений в вашем коде. :

Сначала добавьте следующий curl_opt:

curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie);  // Enables session support

Затем добавьте это после закрытия обработчика cURL:

curl_close($ch);
// Instead of echoing the result, redirect to the administration interface, now that the valid, authenticated session has been established
header('location: blog/wordpress/wp-admin/');
die();

Итак, в этом далеко не идеальном решении вы должны использовать cURL для аутентификации пользователя, а затем вместо попытки чтобы захватить административный интерфейс на этой текущей странице, перенаправьте их на обычный административный интерфейс.

Надеюсь, это поможет! Дайте мне знать, если вам понадобится дополнительная помощь / решение неясно.

13
ответ дан 30 November 2019 в 22:50
поделиться

Проверьте источник HTML. Это кажется, что ссылки WP могут быть относительными. Вместо того, чтобы делать этот процесс еще более сложным, чем он уже, однако, я предлагаю, чтобы Вы выполнили вход в систему, вручили пользователю независимо от того, что cookie требуются и перенаправляют их.

Иначе Вы кодируете прокси, часть частью.

1
ответ дан 30 November 2019 в 22:50
поделиться

Если ваш сценарий не выполняет все функции, которые вам нужны за одно выполнение, вам может потребоваться проанализировать значения файлов cookie, сохранить их в файле, а затем повторно отправить при следующем выполнении. . Проверьте параметр CURLOPT_COOKIEFILE.

1
ответ дан 30 November 2019 в 22:50
поделиться

Да, это вызовет __ автозагрузку .

Автозагрузку запускает не только «новое» - это будет делать любая ссылка на неизвестный класс. Даже что-то вроде использования класса _ существует вызовет автозагрузку (это не всегда желательное поведение, поэтому у class_exists есть второй параметр для отключения автозагрузки)

-121--2553687-

Исторически x86 был очень обратно совместим. x86-64 выбросил некоторые очень старые команды (например, команды BCD), но маловероятно, что такие изменения повторятся (по крайней мере, пока не произойдет что-то огромное, как 64-битный переход адресного пространства).

Если вы хотите обеспечить работу кода практически на всех процессорах x86, придерживайтесь набора команд 386 (если код 32-разрядный) или набора команд x86-64 (если он 64-разрядный).

-121--4013168-

Для управления файлами cookie используется класс Zend Framework. В прошлом я использовал это для обхода защищенных разделов веб- сайта с помощью ЗАВИТКОВ .

0
ответ дан 30 November 2019 в 22:50
поделиться
Другие вопросы по тегам:

Похожие вопросы: