バージョン選択

フォーラム

メニュー

オンライン状況

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

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
居住地:
投稿: 52
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
居住地:
投稿: 536
Re: セッションの引き継ぎができない
トップページとその他のページで、http://とhttps://のページが混在しているという事は無いでしょうか?


----------------
株式会社シロハチ
■ECCUBE2系、3系構築カスタマイズご相談ください。
■360°画像ビューワーimg360
■ECCUBE技術資料blog

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

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

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

 



ログイン


EC-CUBEガイドブック

統計情報

総メンバー数は19,366名です
総投稿数は81,313件です

投稿数ランキング

1
seasoft
7331
2
AMUAMU
2712
3
nanasess
1619
4
yuh
1326
5
red
1049
6
fukap
907
7
shutta
827
8 ramrun 789
9
tsuji
778
10
umebius
670
11
tao_s
646
12 sumida 637
13
homan
633
14 karin 609
15 DELIGHT 571
16
468
536
17
patapata
502
18
flealog
483
19 tonton 436
20
ecbg
387


ネットショップの壺

EC-CUBEガイドブック
Copyright© LOCKON CO.,LTD. All Rights Reserved.