web-dev-qa-db-ja.com

Wordpressのログインを偽造するにはどうすればいいですか?

多くの人が知っているように WPEngine は、ユーザーがログインしていない限りPHP SESSIONSをサポートしません。その場合、WPEngineは考慮を開始します。 PHP SESSIONSと hybridauth に基づくソフトウェアのように Wordpressソーシャルログイン または Wordpressのソーシャル招待状 でも問題ありません。

だから私の質問は:Wordpressのログインを偽造する方法はありますか?

4
chifliiiii

ダミーユーザーを作成し(権限なし)、このダミーユーザーを使用してすべての訪問者にログインできます。これはかなり簡単にできます。

wp_set_auth_cookie($uid, true);
wp_set_current_user($uid);

しかし、私の意見では、これはかなり欠陥のある回避策です。

あなたの主な問題は、ログインしていないユーザのためのすべてのページがページキャッシュから来ているということです。これはまた、ページキャッシュがアクティブである限り、すべてのユーザーが同じHTML出力を受け取ることを意味します。だから訪問者に基づいてあなたのページに違いはないはずです。すべての訪問者は同じ出力を受け取ります。

もっと良い方法はWPEngineでチケットを作成し、あなたのサイトのページキャッシングを無効にするように彼らに依頼することです。それは実際にあなたがリンクしているページで彼らが提案する方法でもあります。

2
s1lv3r

手っ取り早い解決策はこれをあなたのヘッダインクルードファイルに入れることです:

<?php
  // Re-enable sessions for WPEngine
  setcookie('wordpress_logged_in_' . md5("test"), md5("random"), time()+3600);
?>

それは間違っていますが、うまくいきます。

1
Jayme Brereton