バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

質問 > フロント機能 > 会員登録ができない2.13.1

フロント機能

新規スレッドを追加する

スレッド表示 | 古いものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
nacho
投稿日時: 2014/3/11 15:39
対応状況: 解決済
一人前
登録日: 2008/12/8
居住地:
投稿: 103
Re: 会員登録ができない2.13.1
yuh様

お返事をありがとうございます。
なるほど!同じようにしてみます。

このたびはありがとうございました。
yuh
投稿日時: 2014/3/10 19:59
対応状況: −−−
登録日: 2013/1/9
居住地: 大阪
投稿: 1819
Re: 会員登録ができない2.13.1
リファラ周りは完全に無視で、規約のページを会員登録の下の方に配置して、会員登録のボタンを押す=規約に同意としてやってます。

色々方法はあると思いますが、ある程度のカスタマイズが必要になったりします。
nacho
投稿日時: 2014/3/10 19:04
対応状況: −−−
一人前
登録日: 2008/12/8
居住地:
投稿: 103
Re: 会員登録ができない2.13.1
yuh様

お返事をありがとうございます。
また、対応策もお教えくださり大変助かります。

リファラーがなくても通る状態にしてしまって
何か問題はないのでしょうか。
リファラーという言葉を初めて聞きまして
検索し、大まかな意味は理解したのですが
会員登録時に規約に同意せずに登録が出来てしまう場合が発生するということで、よろしいでしょうか。

今まではそれでやっていたので、大きな問題ではないと思うのですが
他のみなさまは、どのようにご対応されているのでしょうか。
お客様に都度、バージョンアップ等をご提案する形をとるのか
それとも、
リファラーがある状態でもどのような環境の方にも通用する
なにか対応策があるのでしょうか?

どうぞよろしくお願いしいます。
yuh
投稿日時: 2014/3/10 16:14
対応状況: −−−
登録日: 2013/1/9
居住地: 大阪
投稿: 1819
Re: 会員登録ができない2.13.1
2.11.5の方はリファラーのチェックが効いてないので、リファラーが無い状態でも通っていただけですね。

取り急ぎリファラーが無くても通る状態にするのであれば


public function lfCheckReferer()
{
return true;
}

です。
正直lfCheckReferer()の意味が全くなくなるので、微妙ですが。
nacho
投稿日時: 2014/3/10 15:46
対応状況: −−−
一人前
登録日: 2008/12/8
居住地:
投稿: 103
Re: 会員登録ができない2.13.1
yuh様に教えていただきました箇所を2.11.5と2.13.1を抜粋してみました。
どうぞよろしくお願いします。

(2.11.5)LC_Page_Entry.php
----------------------------------------------------------

// PC時は規約ページからの遷移でなければエラー画面へ遷移する
if ($this->lfCheckReferer($arrForm, $_SERVER['HTTP_REFERER']) === false) {
SC_Utils_Ex::sfDispSiteError(PAGE_ERROR, "", true);
}
.
.
.
/**
* kiyaku.php からの遷移の妥当性をチェックする
*
* 以下の内容をチェックし, 妥当であれば true を返す.
* 1. 規約ページからの遷移かどうか
* 2. PC及びスマートフォンかどうか
* 3. $post に何も含まれていないかどうか
*
* @access protected
* @param array $post $_POST のデータ
* @param string $referer $_SERVER['HTTP_REFERER'] のデータ
* @return boolean kiyaku.php からの妥当な遷移であれば true
*/
function lfCheckReferer(&$post, $referer){

if (SC_Display_Ex::detectDevice() !== DEVICE_TYPE_MOBILE
&& empty($post)
&& (preg_match('/kiyaku.php/', basename($referer)) === 0)) {
return false;
}
return true;
}
----------------------------------------------------------


(2.13.1)LC_Page_Entry.php
----------------------------------------------------------
// PC時は規約ページからの遷移でなければエラー画面へ遷移する
if ($this->lfCheckReferer() === false) {
SC_Utils_Ex::sfDispSiteError(PAGE_ERROR, '', true);
}
.
.
.
/**
* kiyaku.php からの遷移の妥当性をチェックする
*
* 以下の内容をチェックし, 妥当であれば true を返す.
* 1. 規約ページからの遷移かどうか
* 2. PC及びスマートフォンかどうか
* 3. 自分自身(会員登録ページ)からの遷移はOKとする
*
* @access protected
* @return boolean kiyaku.php からの妥当な遷移であれば true
*/
public function lfCheckReferer()
{
$arrRefererParseUrl = parse_url($_SERVER['HTTP_REFERER']);
$referer_urlpath = $arrRefererParseUrl['path'];

$kiyaku_urlpath = ROOT_URLPATH . 'entry/kiyaku.php';

$arrEntryParseUrl = parse_url(ENTRY_URL);
$entry_urlpath = $arrEntryParseUrl['path'];

$allowed_urlpath = array(
$kiyaku_urlpath,
$entry_urlpath,
);

if (SC_Display_Ex::detectDevice() !== DEVICE_TYPE_MOBILE
&& !in_array($referer_urlpath, $allowed_urlpath)) {
return false;
}

return true;
}
----------------------------------------------------------

nacho
投稿日時: 2014/3/10 15:34
対応状況: −−−
一人前
登録日: 2008/12/8
居住地:
投稿: 103
Re: 会員登録ができない2.13.1
yuh様

ご回答をありがとうございます。

EC-CUBE2.11.5では、こういったお問い合わせはなかったのですが
2.13.1と違う仕様になったということなのでしょうか。

リフェラの送信を許可する設定はお客様側のセキュリティソフトやブラウザの問題ということでしょうか。
その場合、都度お客様にバージョンアップ等をお願いしなくてはならなくなるかと思いますので
出来れば、こちら側でどのような環境の方にも会員登録画面を
表示できるように(2.11.5の時のように)したいのですが
phpの知識がないため、こちらでお教えいただけますと助かります。

どうぞよろしくお願いします。
yuh
投稿日時: 2014/3/10 14:10
対応状況: −−−
登録日: 2013/1/9
居住地: 大阪
投稿: 1819
Re: 会員登録ができない2.13.1
リファラが取得できない事が原因と思います。
ブラウザでリファラを送信しない設定にすると同じ現象が起こります。
処理部分はLC_Page_Entry.phpのlfCheckReferer()ですね。
nacho
投稿日時: 2014/3/10 12:42
対応状況: −−−
一人前
登録日: 2008/12/8
居住地:
投稿: 103
Re: 会員登録ができない2.13.1
会員規約の下の「同意して会員規約へ」をクリックすると、
「不正なページ移動です」と表示され、その後の登録画面へ移行することができません。

上記のようなお問い合わせがありこれで3件目となりました。
こちらでも検証してみたところ分かったことがありましたのでご報告します。

同意して会員登録へをクリックして移動すると会員登録入力画面へ移動できるのですが
URLを直に入力してアクセスするとこちらの環境でも
同じ現象が起こりました。

同意して会員登録へのボタンのソースコードは以下のようになっています。

<li class="button02">
<button type="button" onclick="location.href='<!--{$smarty.const.ENTRY_URL}-->'"><span>同意して会員登録へ</span></button>
</li>

そして、ボタンクリックですと移動できますが
以下のURLを直で入力すると「不正なページ移動です」となります。
https://ドメイン/entry/
https://ドメイン/entry/index.php

お気づきのことなどございましたら、お教えいただけますと助かります。
どうぞよろしくお願いします。
nacho
投稿日時: 2014/3/10 11:51
対応状況: −−−
一人前
登録日: 2008/12/8
居住地:
投稿: 103
Re: 会員登録ができない2.13.1
red様

お返事をありがとうございます。
ご教授いただきました通り、じっくり調べてみようと思います。

お付き合いくださりありがとうございました。
red
投稿日時: 2014/3/9 18:56
対応状況: −−−
登録日: 2010/2/15
居住地: 東京都
投稿: 1570
Re: 会員登録ができない2.13.1
そのエラーログはたぶん関係ないです

んー
そのお客様だけがそこで不正なページエラーとなるのか
ブラウザなど環境はなにか
ブラウザを変えたらどうなるのか

この辺りをじっくり調べていくしかないような気がします


----------------
EC-CUBEのカスタマイズ、トラブル解決承ります
お気軽にお問い合わせ下さい
https://www.ec-cube.net/integrate/partner/partner.php?partner_id=690

(1) 2 »
スレッド表示 | 古いものから 前のトピック | 次のトピック | トップ


 



ログイン


EC-CUBE公式 Amazon Payプラグイン

統計情報

総メンバー数は89,090名です
総投稿数は110,033件です

投稿数ランキング

1
seasoft
7367
2
468
3217
3
AMUAMU
2712
4
nanasess
2314
5
umebius
2085
6
yuh
1819
7
h_tanaka
1649
8
red
1570
9
mcontact
1297
10
tsuji
958
11
fukap
907
12
shutta
835
13
tao_s
799
14 ramrun 789
15 karin 689
16 sumida 641
17
homan
633
18 DELIGHT 572
19
patapata
502
20
flealog
485


ネットショップの壺

EC-CUBEインテグレートパートナー

Copyright© EC-CUBE CO.,LTD. All Rights Reserved.