質問 > フロント機能 > モバイル機能の利用 |
フロント機能
スレッド表示 | 古いものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
ゲスト |
投稿日時: 2007/3/29 5:10
対応状況: −−−
|
Re: とりあえず見れるようになりました。 大河内様、お世話になっております。
設定をしてみたところ、ちゃんとできるようになりました! 重ね重ねお礼を申し上げます。ありがとうございました。 |
|
nanasess |
投稿日時: 2007/3/28 15:56
対応状況: −−−
|
神 登録日: 2006/9/9 居住地: 投稿: 2313 |
Re: とりあえず見れるようになりました。 大河内です.
php_info()で session.hash_bits_per_character が 6 になってないでしょうか? プログラム側で, 32文字を想定しているのを変更すると, アップグレード時などにマージしなくてはならなくなるので, 極力プログラムは変更しないようにした方が良いと思います. session.hash_function = 0 <- MD5 アルゴリズム session.hash_bits_per_character = 4 <- 32文字 上記設定を EC-CUBE は想定しているようです. php.ini 又は, .htaccess などで上記の設定に変更してやることで, 32文字の セッションID が付加されるようになると思います. |
ゲスト |
投稿日時: 2007/3/28 12:04
対応状況: −−−
|
Re: とりあえず見れるようになりました。 引用:
if (preg_match('/^[0-9a-zA-Z,-]{32,}$/', $sessionId) < 1) { 確認してみたら、生成されたPHPSESSIDが27文字だったので、 リダイレクトし続けてたようです。 if (preg_match('/^[0-9a-zA-Z,-]{20,}$/', $sessionId) < 1) { これで、できるようになりました。 皆様、ありがとうございました!! |
|
ゲスト |
投稿日時: 2007/3/28 11:56
対応状況: −−−
|
Re: とりあえず見れるようになりました。 nanasess様
お返事ありがとうございます。 クッキーon・offそれぞれで確認をしてみましたがそのときは見えておりませんでした。 ezwebでも閲覧不可でした。 if ($sessionId === true || !lfMobileValidateSession()) { で、ezweb・ソフトバンクでチェックをしてみましたが、 問題なく注文できました。 ほかの方はfalseで運用できてるのでしょうか…? とりあえず、trueで運用できているので、 問題がなければこのままいこうと考えていますが。。 >if (preg_match('/^[0-9a-zA-Z,-]{32,}$/', $sessionId) < 1) { ありがとうございます!これでもテストしてみます。 |
|
ゲスト |
投稿日時: 2007/3/28 9:46
対応状況: −−−
|
Re: とりあえず見れるようになりました。 data/include/mobile.inc内の関数
lfMobileGetSessionId で セッションIDの文字列長チェックを行っている if (preg_match('/^[0-9a-zA-Z,-]{32,}$/', $sessionId) < 1) { を私の環境では32から26文字以上に修正してリダイレクトのループは回避できました |
|
nanasess |
投稿日時: 2007/3/28 7:53
対応状況: −−−
|
神 登録日: 2006/9/9 居住地: 投稿: 2313 |
Re: とりあえず見れるようになりました。 引用:
これは, cookie が無効になっているためではないでしょうか? URL パラメータを使用せず, session を利用するには, 必ず cookie が必要です. 公式サイトで cookie が無効でも入れるとのことですが, 公式サイトでは session.use_trans_sid = off になっているようです. 現在, 検証できない環境にあるので, 確証はないですが... session.use_trans_sid = on の状態で cookie が無効になっていた場合, session が必要なケースでも header('Location: 〜') を使用すると, PHPSESSID が付加されないため, リダイレクトのループが起きてしまうことは考えられます. phpinfo() のセッション項目の状態, クライアント端末の種類等を教えて頂ければ, もう少し詳しくわかるかもしれません. また, HTTP/1.1 の RFC を読むと, header('Location: 〜') を使用する場合は, 必ず絶対 URL を使用しなければならないとあります. 以前から気にはしていたのですが, PC用ブラウザは, 相対URL でも許容するため, あまり問題視していませんでした... しかし, これは修正する必要がありそうですね. # ざっと検索してみましたが 1.2.0beta で # header('Location: 〜') を使用しているのが 102ヶ所. # 全部調べる必要がありそうです... |
ゲスト |
投稿日時: 2007/3/28 1:34
対応状況: −−−
|
とりあえず見れるようになりました。 if ($sessionId === false || !lfMobileValidateSession()) {
を if ($sessionId === true || !lfMobileValidateSession()) { に変えていただいて、 PHPSESSIDを持ったURLでつなげるととりあえず見れるようになります。 原因は、 「セッションIDまたはセッションデータが無効」 ってことですね。 引き続き、原因を探ってみますが、もしお分かりになる方がいらしたら ご教授いただけると大変助かります。便乗してますが、よろしくお願いします。 |
|
ゲスト |
投稿日時: 2007/3/27 15:36
対応状況: −−−
|
Re: モバイル機能の利用 こんにちは。
私のところでも、同じ現象が起こっています。 何度もリダイレクトしてそのたびにPHPSESSIDが替わり、 FIREFOXで、 「このアドレスへのリクエストに対するサーバのリダイレクト設定がループしています。」 と表示されます。 クッキーの設定か?と思って調べてみたのですが、 公式サイトはクッキーがなくても当然入れるので、 ほかの原因を探していますが、分かっていません。。 |
|
ゲスト |
投稿日時: 2007/3/22 10:01
対応状況: −−−
|
Re: モバイル機能の利用 皆さん、ありがとうございます!
絶対URLへの変更を行ってみたのですが やはりリダイレクトがループしています・・・ 何度も何度もリクエスト⇒リダイレクト ⇒やがて真っ白画面でタイムアウト? EC-CUBEのデモサイト(管理画面の出力サイト)は http://demo.ec-cube.net/mobile/index.php PCからアクセスしても、携帯版ページが表示されるので こういう最終形になるんだろうというイメージはあるのですが 何が悪いんでしょう・・・ |
|
ゲスト |
投稿日時: 2007/3/21 16:28
対応状況: −−−
|
Re: モバイル機能の利用 u1です。
私の携帯で http://ドメイン名/ にアクセスすると、 無効なデータを受信しました(302) と表示され終了します。 一部の携帯ではPHPリダイレクトに相対URLは使えないようです。 require.php 47行目 header("Location: " . URL_DIR . "mobile/$path"); を header("Location: " . SITE_URL . "mobile/$path"); と絶対URLに変更すると問題なくリダイレクトされて表示される ようになりました。 |
|
(1) 2 » |
スレッド表示 | 古いものから | 前のトピック | 次のトピック | トップ |