[解決済み] さくらの共有SSL環境でカート画面から先に進まない

2013 年 12 月 10 日

ホーム フォーラム 使い方全般 [解決済み] さくらの共有SSL環境でカート画面から先に進まない

このトピックには4件の返信が含まれ、2人の参加者がいます。3 年、 10 ヶ月前 takabi さんが最後の更新を行いました。

5件の投稿を表示中 - 1 - 5件目 (全5件中)
  • 投稿者
    投稿
  • #57659

    takabi
    参加者

    WordPress のバージョン:3.6

    Welcart のバージョン:1.3.9.1311071

    ご利用のテーマ:uCart Default Theme バージョン 2.1

    症状を確認したブラウザ:chrome,Firefox

    サーバー(会社名、サービス名):さくら スタンダード

    SSLの利用: 共用SSL

    WordPress のパーマリンク設定:


    どうもお世話になっております。

    Welcartのバージョンアップ後、下記の不具合が発生しました。

    最近、カート画面で「暗号化されていない要素がある」との表示を見つけ、確認したところ、サムネイルの画像が非SSLの接続になっていました。

    そして、その際にカート画面から先に進まなくなっていることにも気づきました。

    それで、このフォーラムや下記のサイト記事を見て、取り敢えず(カート内のサムネイル画像を消去しようと)試行したのですが、上手く行かなかったので今は試行前の状態に復旧し、また、SSL(共有SSL)の使用を止めています。

    参考:【WordPress welcart】サムネイルを非表示 | 忘却の彼方 | 560Days:

    http://560days.com/lab/2013/08/001381.php

    さくらスタンダード&Welcartで、テーマの異なる複数のネットショップを運営しているのですが、SSLの使用を止めた後はどのサイトも正常に動作しています。

    カート画面のサムネイル画像でSSL不全の表示が出始めたのは最近のバージョンアップ後だと思うのですが、共有SSLを使用した状態で上記の不具合を解決することはできないでしょうか?

    お忙しい中で心苦しいですが、解決できる問題でしたら、よろしくお願いいたします。

    #68084

    nanbu
    参加者

    こんにちは。

    「uCart Default Theme バージョン 2.1」はかなり古いですね。

    SSL警告が出るのは、恐らく下記のコードをテーマ内のfunctions.phpに追記してやればおさまるのではないでしょうか。

    /***********************************************************
    * SSL
    ***********************************************************/
    if( $usces->options['use_ssl'] ){
    add_action('init', 'usces_ob_start');
    function usces_ob_start(){
    global $usces;
    if( $usces->use_ssl && ($usces->is_cart_or_member_page($_SERVER['REQUEST_URI']) || $usces->is_inquiry_page($_SERVER['REQUEST_URI']) || is_admin()) )
    ob_start('usces_ob_callback');
    }
    if ( ! function_exists( 'usces_ob_callback' ) ) {
    function usces_ob_callback($buffer){
    global $usces;
    $pattern = array(
    '|(<[^<]*)href="'.get_option('siteurl').'([^>]*).css([^>]*>)|',
    '|(<[^<]*)src="'.get_option('siteurl').'([^>]*>)|'
    );
    $replacement = array(
    '${1}href="'.USCES_SSL_URL_ADMIN.'${2}.css${3}',
    '${1}src="'.USCES_SSL_URL_ADMIN.'${2}'
    );
    $buffer = preg_replace($pattern, $replacement, $buffer);
    return $buffer;
    }
    }
    }

    カートページから次へ進めないのは、JavaScriptのエラーが出ていないでしょうか。一度ご確認ください。

    ここで推測できるのはこれくらいです。もしうまく行かないようでしたら調査(有償)してみる必要があるかと思います。よろしくお願いいたします。

    #68085

    takabi
    参加者

    お返事をくださり、また、functions.php追記のご指導、ありがとうございます。

    まず、テーマについては、下記の2つを複数のサイトで使用しています。

    uCart Default Theme バージョン 2.1

    Mansion バージョン 0.3

    また、私の方では、テーマの問題ではないと感じています。

    もっとも、開発された方の方が知識が豊富でしょうから、実際の結論はそちらで下されてください。

    問題発生当初の状態-1&2

    funjction.php-追記適用後 1&2

    上記ファイルは、functions.phpを追記する前後のブラウザ(Firefox)画面のスクリーンショットです。

    「問題発生当初の状態-1&2」を確認すると、商品のサムネイル画像が当初は非SSL接続になっており、また、funjction.phpの追記適用後(funjction.php-追記適用後 1&2)にSSL接続になっていることがわかると思います。

    それで、問題発生後、カート画面から先へ進もうとするとトップページに戻ってしまう現象が起きたのですが、functions.phpへ追記した後もその現象が発生し続けています。

    また。繰り返しになりますが、この現象は、ここ1~2回分のwelcartアップデートを適用した後に発生し始め、それ以前は発生していませんでした。

    この問題について、私の個人的な環境による問題ではなく、さくらレンタルサーバ共有SSL+Welcart運用環境における共通の問題の可能性を感じます。

    アップデート後、カートの動作確認を怠り、同じ現象に気付かないで現在に至る人が私の他にも存在するのではないでしょうか。

    的はずれな指摘であったり、失礼な部分があったなら申し訳ありません。

    個人的な問題でないという印象をぬぐえないため、有償の調査というご提案については、今回は考えさせてください。

    [attachment=16895,323] [attachment=16895,324] [attachment=16895,325] [attachment=16895,326]

    #68086

    nanbu
    参加者

    SSL警告の問題は解決したという事ですね。

    カートから次へ進めないのは、セッションがうまく行っていないのかもしれません。試に、カートに1つ商品を投入した後トップページに行き、トップページからカートへのリンクをクリックしてカートページを見てみて下さい。これを何回かやって見て、もしカートに商品が無いようでしたらセッションの異常ということになります。

    また、テーマが原因かどうかを確かめるには、新しいWelcart Default テーマをインストールしそれで動作確認してみることはっきりします。

    今お使いのテーマがwelcart_defaultという名前のままご使用でしたら、あたらしいWelcart Default テーマをwelcart_default2などの様にフォルダ名を変更してアップすれば利用できるようになります。

    なお、新しいWelcart Default テーマは、plugins/usc-e-shop/theme/の中にあります。

    #68087

    takabi
    参加者

    お返事ありがとうございます。

    早速ですが、問題が解決しましたので報告させていただきます。

    まず、SSL警告の方の問題は解決しております。

    それは、テーマのfunctions.phpに教えていただいた記述を追加したからで、試みに改めて記述を削除すると、再び非SSL接続の警告が出ます。

    >カートから次へ進めないのは、セッションがうまく行っていないのかもしれません。試に、カートに1つ商品を投入した後トップページに行き、トップページからカートへのリンクをクリックしてカートページを見てみて下さい。これを何回かやって見て、もしカートに商品が無いようでしたらセッションの異常ということになります。

    上記のように、カートから「次へ」をクリックしても、トップからカートへ移動しても商品が入っていませんでしたので、“セッションの異常”で間違いなかったと感じます。

    それで、セキュリティのためにLogin LockDownとChap Secure Loginを導入していたのですが、結論から書きますと、この「Chap Secure Login」プラグインがセッション異常の原因でした。

    SSL警告 → functions.phpに記述を追加

    セッション異常 → Chap Secure Loginプラグインを削除

    上記の通り、個別の2つの問題が同時にあらわれていました。

    SSL警告は、バージョンアップにともないプログラム・テーマの構成が変わっためでしょうか?

    また、セッション異常は、全くの自己責任でした。

    それで、先の質問で開発者に責任があるかのような発言をし、申し訳ありませんでした。

    また、親切に解決策をご提示くださり、本当にありがとうございました。

5件の投稿を表示中 - 1 - 5件目 (全5件中)

このトピックに返信するにはログインが必要です。