Re: [解決済み] 1.04にしたら買い物カゴに商品が追加できなくなった
フォーラム › 使い方全般 › [解決済み] 1.04にしたら買い物カゴに商品が追加できなくなった › Re: [解決済み] 1.04にしたら買い物カゴに商品が追加できなくなった
2011年7月7日 7:48 AM
#62337

キーマスター
mamekichi さん、情報ありがとうございます。
正にその通りです。何らかの理由でzrea では$_SERVER が取得できないと思い前回修正案を提示させて頂きましたが、取得できないのではなくて別の値が入ってしまっていたのですね。
そもそもこの様なサーバーはEC構築には不向きなのですが、上位のCORESERVERも恐らく同じ仕組みでしょう。(更にセーフモードでしたよね)
次のような修正が有効でしたら正式にWelcart 本体に組み入れたいと思います。お手数でなければ試してみていただけますでしょうか。
usc-e-shop/classes/usceshop.class.php
【修正1】
5536 $postfix = ( isset($_SERVER['REMOTE_ADDR']) && !empty($_SERVER['REMOTE_ADDR']) ) ? $_SERVER['REMOTE_ADDR'] : 'REMOTE_ADDR';
5537 $sessid = $chars . '_' . $postfix;
↓
5536 $postfix = ( isset($_SERVER['REMOTE_ADDR']) && !empty($_SERVER['REMOTE_ADDR']) ) ? $_SERVER['REMOTE_ADDR'] : 'REMOTE_ADDR';
追加行 $postfix = apply_filters('usces_sessid_force', $postfix);
5537 $sessid = $chars . '_' . $postfix;
【修正2】
5548 $postfix = ( isset($_SERVER['REMOTE_ADDR']) && !empty($_SERVER['REMOTE_ADDR']) ) ? $_SERVER['REMOTE_ADDR'] : 'REMOTE_ADDR';
5549 if( 'acting' != $addr && 'mobile' != $addr && $postfix != $addr ) {
↓
5548 $postfix = ( isset($_SERVER['REMOTE_ADDR']) && !empty($_SERVER['REMOTE_ADDR']) ) ? $_SERVER['REMOTE_ADDR'] : 'REMOTE_ADDR';
追加行 $postfix = apply_filters('usces_sessid_force', $postfix);
5549 if( 'acting' != $addr && 'mobile' != $addr && $postfix != $addr ) {
【フィルター】
テーマ内functions.php に追記
add_filter('usces_sessid_force', 'my_sessid_force');
function my_sessid_force( $notuse ){
return $_SERVER['HTTP_X_FORWARDED_FOR'];
}