バージョン選択

フォーラム

メニュー

オンライン状況

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

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
居住地:
投稿: 630
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,664名です
総投稿数は82,195件です

投稿数ランキング

1
seasoft
7331
2
AMUAMU
2712
3
nanasess
1632
4
yuh
1372
5
red
1059
6
fukap
907
7
shutta
827
8 ramrun 789
9
tsuji
782
10
umebius
671
11
tao_s
646
12 sumida 638
13
homan
633
14
468
630
15 karin 609
16 DELIGHT 571
17
patapata
502
18
flealog
483
19 tonton 436
20
ecbg
387


ネットショップの壺

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