バージョン選択

フォーラム

メニュー

オンライン状況

37 人のユーザが現在オンラインです。 (28 人のユーザが フォーラム を参照しています。)
登録ユーザ: 0
ゲスト: 37
もっと...

PR

デザインテンプレート EC-CUBE3.0版が登場!
広告掲載について

サイト内検索

質問 > 管理機能 > セッションの引き継ぎができない

管理機能

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
bysk
投稿日時: 2017/3/10 1:00
対応状況: −−−
半人前
登録日: 2016/5/26
居住地:
投稿: 22
セッションの引き継ぎができない
[EC-CUBE] 3.0.10
[レンタルサーバ] hetemlサーバ
[サーバーOS] Linux
[PHP] PHP 5.4.27
[データベース] MySQL 5.6.13
[WEBサーバ] Apache
[ブラウザ] Chrome/50.0.2661.102
[導入プラグインの有無] GmoPaymentGateway

[やりたい事]
あるサイトからECCUBEページへリファラを掛けており、そのサイトからのみアクセスを許可しております。

下記の様なイメージです

hoge.com/shop.php→EC CUBEページ

hoge.com/shop.phpからアクセスした場合
$_SESSION['judge']にOKフラグ
$_SESSION['judge']がOKフラグじゃない場合はng.phpにリダイレクトさせています。

TOPページは上手くいくのですが商品ページ等、下層ページにいくとセッションの値が引き継がれずにNG処理になってしまいng.phpにリダイレクトされてしまいます。

TOPページから下層ページに$_SESSION['judge']を引き継ぎたいのですが方法が分からず困っております。

コントローラやフックポイント等の設定が必要なのでしょうか?
そのあたりがイマイチ理解できておらずどなたかご教示頂けますと幸いです。

どうぞ宜しくお願い致します。

index.phpに下記の記述をしております。

// リファラ取得
$referrer = $_SERVER['HTTP_REFERER'];

// 現状のURL取得
$_SESSION['now_url'] = $_SERVER['REQUEST_URI'];

//管理画面URL(ecadmin)が含まれている場合adminフラグ
if(strpos($_SESSION['now_url'], "ecadmin") !== false){
$_SESSION['admin'] = "admin";
}else{
$_SESSION['admin'] = "no_admin";
}

// 指定ページからアクセスの場合、もしくは管理画面の場合はOK
if ($referrer == "hoge.com/shop.php" || $_SESSION['admin'] == "admin" || $_SESSION['judge'] == "OK"){
$_SESSION['judge'] = "OK";
} elseif ($_SESSION['judge'] == null || $referrer == null){
$_SESSION['judge'] = "NG";
}


// フラグがNGの場合はng.phpにリダイレクト
if ($_SESSION['judge'] == "OK"){
}elseif($_SESSION['judge'] == "NG"){
header("Location:https://hoge-ec.com/ng.php") ;
exit ;
}
aoki.u
投稿日時: 2017/3/10 17:33
対応状況: −−−
常連
登録日: 2017/2/19
居住地:
投稿: 53
Re: セッションの引き継ぎができない
https://xoops.ec-cube.net/modules/newbb/viewtopic.php?viewmode=flat&topic_id=18707&forum=11

上のページでYuya,uさんが書かれているものとほぼ同じ内容での再掲ですが、試されましたか?

$referrer = $_SERVER['HTTP_REFERER'];
if ($referrer == "http://xxx.com/shop.php" || $_SESSION['judge'] == "OK"){
$_SESSION['judge'] = "OK";
} else {
//Session登録は何もしない
header("Location:https://hoge-ec.com/ng.php") ;
exit ;
}



$referrerの値をvar_dumpなどで確認してみてくださいね。

この方法ならコントローラやフックポイント等の設定は必要ないと思いますよ。


----------------
ECCUBE3系のインテグレートパートナーとして
カスタマイズやプラグイン開発に専念しています。
ぜひご相談ください。

bysk
投稿日時: 2017/3/10 23:07
対応状況: −−−
半人前
登録日: 2016/5/26
居住地:
投稿: 22
Re: セッションの引き継ぎができない
aoki.u様

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

同じ記述にしてもダメなようです...

var_dumpで$referrerの値と$_SESSION['judge'] がOKなのを確認してもTOPから別ページに遷移するとng.phpにリダイレクトしてしまい、TOPページ以外アクセスできない状況です..

リダイレクトされてng.phpで$_SESSION['judge']を確認すると"OK"になっております。

なぜ、$_SESSION['judge']がOKなのにリダイレクトされるのか謎で困っております。

何卒宜しくお願い致します!
468
投稿日時: 2017/3/11 23:03
対応状況: −−−
仙人
登録日: 2008/10/26
居住地:
投稿: 805
Re: セッションの引き継ぎができない
トップページとその他のページで、http://とhttps://のページが混在しているという事は無いでしょうか?


----------------
株式会社シロハチ
■ECCUBE2系、3系構築カスタマイズご相談ください。
EC-CUBE3マニュアル
blog

bysk
投稿日時: 2017/3/15 22:39
対応状況: −−−
半人前
登録日: 2016/5/26
居住地:
投稿: 22
Re: セッションの引き継ぎができない
468様

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

確認しましたが全てhttpsで共通となっておりました。
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


EC-CUBEペイメント

クレジットカード情報の非保持化対応

統計情報

総メンバー数は20,614名です
総投稿数は83,613件です

投稿数ランキング

1
seasoft
7331
2
AMUAMU
2712
3
nanasess
1663
4
yuh
1433
5
red
1077
6
fukap
907
7
shutta
827
8
468
805
9 ramrun 789
10
tsuji
784
11
umebius
726
12
tao_s
651
13 karin 641
14 sumida 638
15
homan
633
16 DELIGHT 571
17
patapata
502
18
flealog
483
19 tonton 436
20
ecbg
387


ネットショップの壺

EC-CUBEインテグレートパートナー

Copyright© LOCKON CO.,LTD. All Rights Reserved.