2016-07-25 8 views
0

私は、あるWebサイトから別のWebサイトにセッション変数を取得しようとしています。変数を持つウェブサイトは店舗、もう1つは通常のウェブサイトです。別のWebサイトでセッションデータを使用する

ユーザーがログインしているかどうかは、通常のウェブサイト(私がどのアカウントを知る必要がない場合のみ)と、カート内のアイテムの数を知りたいです。

私の計画は、空白のページにjsonオブジェクトをエコーし​​て、これを達成し、変数を取得するために他のウェブサイトでjQuery.getを使用することでした。ショップ内のページ(transferdata.php)は、正しいオブジェクト(

{"logged":1,"cart":9})を表示します。
ただし、このデータを検索ページ(getdata.php)は

{"logged":0,"cart":0}を取得します。

コードtransferdata.php(shopwebsite内のファイル)

# Check login status 
if ($ca->isLoggedIn()) { 
    $transferdata['logged'] = 1; 
} else { 
    $transferdata['logged'] = 0; 
} 

# Get amount of items in a cart 
$transferdata['cart'] = count ($_SESSION['cart']['products']) + count ($_SESSION['cart']['addons']) + count ($_SESSION['cart']['domains']); 

# Display transferdata 
echo json_encode($transferdata); 

コードについてgetdata.php(通常のウェブサイト内のファイル)

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script> 
<script> 
$.get("https://**.*******.nl/transferdata.php", function(data) { 
    $(".result").html(data); 
    alert("Load was performed."); 
}); 
</script> 

<div class="result"></div> 

ためのお店です通常のウェブサイトのフォルダにあります(ショップはサブドメインにあります)。私は店のために定期的なウェブサイトにナビゲーションを持っているように、ユーザーが簡単に通常のウェブサイトから店に行くことができるようにしようとしている。ログインしたユーザーの通常のナビゲーションまたはバージョンを表示する必要があるかどうかを知るには「ログ」が必要です。ナビゲーション内の「カート(0)」に表示するカートアイテムが必要です

この?最良の答えがjsonオブジェクトでない場合は、私は提案のために開いています。

+0

コードを見てみましょう。 – buster

+0

コードが追加されました。元の投稿には含めないと申し訳ありません。 –

答えて

0

データベースまたは他の共有バックエンドデータストアを使用します。フロントエンド経由でセッションデータを送信する場合は、ユーザーが実際にログインしていない場合は"logged":1、他のユーザーのカートを調べる場合は"cart":9に設定します。

1

2つのサイトが物理的に分離されていると仮定すると、定義することはできません。セッションデータをこのように要求できる場合は、セキュリティ上の重大なリスクになります。

異なるサイトのログインステータスを確認するには、Single Sign-onのような適切な手法を実装します。

+0

ショップは通常のウェブサイトのフォルダにあります(ショップはサブドメインにあります)。私は店のために定期的なウェブサイトにナビゲーションを持っているように、ユーザーが簡単に通常のウェブサイトから店に行くことができるようにしようとしている。通常のナビゲーションやログインしているユーザーのバージョンを表示する必要があるかどうかを知るには「ログ」が必要です。ナビゲーションの「カート(0)」に表示するにはcartitemcountが必要です。 –

+0

2つのアプリケーションがセッションIDとストレージを共有しない限り、セッションは分離されます。とにかく(アクセス中にセッションがロックされるため)一度に1つのアプリケーションしかセッションにアクセスできないため、協調プログラミングが必要です。 カート用の共通データベースとログイン用のSSOテクニックをお勧めします –

0

セッションは、発信元URIを介して識別されることが期待されます。特に脆弱性につながるクライアントから同じのいずれかの操作を行おうと

悪名高い:Session_fixationソリューションは、いずれかの認証後に第二のリソースへのセキュアなAPI呼び出しを通じて、クロスオリジン・リクエストを使用することです

クライアントまたはサーバー自体から取得します。シングル/ソーシャルサインインなどの概念はこれに基づいています。

関連する問題