23

Wordpress を使用してサイトを立ち上げており、そのセッションに便乗したいと考えています。しかし、プラグインやドキュメントさえも見つかりません。ハッキングを開始する前に、提案や参照はありますか?

注: WP が標準の PHP セッション自体を使用するかどうか、およびどのように使用するかについて質問しています。たとえば、session_start() を使用して PHP セッションを追加する方法ではありません。どうやらWPが維持する状態は、他の手段によって達成されます。したがって、PHP セッションを使用したい場合は、スレッドにあるような手法を使用して、完全に自分で追加して維持する必要があります。

皆さんありがとう!

4

9 に答える 9

18

セッションを使用できるようにWPコアファイルを変更することは非常に悪い考えです。私が見つけた最良の方法は、session_start()frominitアクションフックを呼び出すことです。

function kana_init_session() {
  session_start();
}

add_action('init', 'kana_init_session', 1);

functions.phpテーマのファイルに入れることができます。

詳細な記事はここで見つけることができます:http ://www.kanasolution.com/2011/01/session-variable-in-wordpress/

于 2011-01-22T17:42:43.367 に答える
15

session_start()WordPress はステートレスであることを望んでおり、register_globals定義されている場合は自動的に破棄するため、呼び出しているようには見えません。$_SESSION

于 2010-03-25T08:43:20.573 に答える
5

WordPressTransientAPIの使用を検討してください

トランジェントAPIを使用して保存された値は、トランジェントの取得に使用される一意の識別子に応じて、現在のユーザーだけでなくすべてのユーザーに表示されます。各ユーザーに一意の識別子を割り当てると、本質的にトランジェントがセッションのように動作します。

さらなる考慮事項:

  • オブジェクトキャッシュなどを使用して設定したユーザーによっては、トランジェントが常にDBに保存されるとは限りません(memcachedなど)。セッションにトランジェントを使用すると、データがかさばり、メモリがすぐにいっぱいになる可能性があります(memcachedを使用)。

  • また、WPはトランジェントの自動ガベージコレクションを行わないようです: https ://wordpress.stackexchange.com/questions/6602/are-transients-garbage-collected

于 2011-03-17T00:23:04.717 に答える
1

session_start()この場合、 onで関数をフックするwp_loadedとうまくいくようです。

于 2012-08-10T14:48:06.280 に答える
1

このコードを wp-config.php の最初の行に挿入します。

if (!session_id()) {
    session_start();
}

このコードをテーマの header.php の最初の行に挿入します。

session_start();

次に、すべてのセッション変数を維持します。

于 2011-04-13T12:08:19.983 に答える
1

ここで解決策を確認しましたか?これはここで機能する可能性があり、簡単な方法です

http://thedigilife.com/wordpress-how-to-set-session-custom-variable-while-login/

于 2012-08-09T11:59:52.467 に答える
-1

独自のセッション値を使用したい場合、Wordpress はそれをサポートしています。

の上部に次の行を追加する必要がありますwp-config.php

if (!session_id()) {
    session_start();
}

次に、先頭に次の行を追加しますheader.php

session_start();
于 2011-11-02T06:45:37.790 に答える