バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

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

フロント機能

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
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;
}
----------------------------------------------------------

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 19:04
対応状況: −−−
一人前
登録日: 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/11 15:39
対応状況: 解決済
一人前
登録日: 2008/12/8
居住地:
投稿: 103
Re: 会員登録ができない2.13.1
yuh様

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

このたびはありがとうございました。
« 1 (2)
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


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

統計情報

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

投稿数ランキング

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
1298
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.