ログアウト後 403 Forbidden が表示されログアウトできない。

2012 年 8 月 2 日

ホーム フォーラム テンプレート(テーマ) ログアウト後 403 Forbidden が表示されログアウトできない。

このトピックには2件の返信が含まれ、2人の参加者がいます。5 年、 2 ヶ月前 shotka さんが最後の更新を行いました。

3件の投稿を表示中 - 1 - 3件目 (全3件中)
  • 投稿者
    投稿
  • #51725

    shotka
    参加者

    はじめまして。

    Welcartを利用させていただいてECサイトの制作を進めております。

    質問するところが間違っているなどございましたら、ご指摘くださいませ。

    表題の件ですが、以下の環境・条件等で構築を進めている中で発生した事象です。

    単純なミスによる事象かと思っているのですが、はまってしまった為投稿させていただきました。

    ご回答いただければ幸いです。


    開発環境


    server: coreserver

    SSL:共用SSL

    wordpress ver : 3.3.2

    Welcart Ver : Welcart1.1.10


    コンテンツが表示される条件


    通常会員以上でのアカウントでログインしない限りコンテンツを表示させないようにしたい。

    サイトアクセス時は、ログイン画面が表示されます。

    サイト内にある各リンクへのアクセスはもちろんログイン後以外閲覧することはできません。


    カスタム内容


    テーマファイル内のfunction.phpに以下の内容を記載し

    ログイン後による表示は可能になっております。

    function usces_the_member_status() {
    global $usces,$wpdb;

    if( !$usces->is_member_logged_in() ) return $res = -1;

    $member = $usces->get_member();
    $ID = $member[ID];

    $tableName = $wpdb->prefix . "usces_member";
    $query = $wpdb->prepare("SELECT * FROM $tableName WHERE ID = %d", $ID);
    $data = $wpdb->get_row( $query, ARRAY_A );
    $res = $data[mem_status];

    return $res;
    }

    add_action('get_header', 'member_page');
    function member_page(){
    if(!is_page(5) && usces_the_member_status() != 0 ){
    wp_redirect(get_permalink(5));
    exit;
    }
    }

    ▼追記

    (coreserverの共用SSL利用している為ログイン後、非SSLページに遷移後セッションがきれてしまうため以下も追記しています。

    add_filter('usces_sessid_force', 'my_sessid_force');
    function my_sessid_force( $notuse ){
    if (!empty($_SERVER['HTTP_X_FORWARDED_FOR']))
    return $_SERVER['HTTP_X_FORWARDED_FOR'];
    else
    return $_SERVER['REMOTE_ADDR'];
    }

    ※上記ソースは、他サイトを参考にしたものです。

    is_page(5) は、メンバーページのIDになります。

    通常会員以上の方がログインすることで、サイト内のコンテンツが表示されるようになっております。

    ログイン前の状態では、ログインページしか表示されません。

    function.php から上記のコードを削除しても、ログイン後は403 Forbiddenが表示されます。

    また、デフォルトのメンバーページである上記のページID”5″にリダイレクトするのは避け、別に1ページ作成し、そちらのページへリダイレクトさせ、ログイン後に再度ログアウトを試しましたが、同じ症状が発生いたします。

    もし、ご回答いただけるような内容にふさわしいものであれば、ご回答いただけると幸いです。

    以上、何卒よろしくお願い申し上げます。

    #65129

    nanbu
    参加者

    こんにちは。

    じっくり検証していませんが、フックは’get_header’ではなく’template_redirect’を使うと良いのではないでしょうか。

    #65130

    shotka
    参加者

    お世話になります。

    ご回答ありがとうございます。

    一度、試してみます。

    また、参考になりそうなことがわかりましたら、ここに追記させていただきます。

3件の投稿を表示中 - 1 - 3件目 (全3件中)

このトピックに返信するにはログインが必要です。