バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

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

管理機能

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
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
居住地:
投稿: 3217
Re: セッションの引き継ぎができない
トップページとその他のページで、http://とhttps://のページが混在しているという事は無いでしょうか?


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

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

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

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


 



ログイン


EC-CUBE公式 Amazon Payプラグイン

統計情報

総メンバー数は88,291名です
総投稿数は109,691件です

投稿数ランキング

1
seasoft
7365
2
468
3217
3
AMUAMU
2712
4
nanasess
2303
5
umebius
2085
6
yuh
1818
7
h_tanaka
1610
8
red
1568
9
mcontact
1240
10
tsuji
958
11
fukap
907
12
shutta
835
13
tao_s
796
14 ramrun 789
15 karin 689
16 sumida 641
17
homan
633
18 DELIGHT 572
19
patapata
502
20
flealog
485


ネットショップの壺

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

Copyright© EC-CUBE CO.,LTD. All Rights Reserved.