バージョン選択

フォーラム

メニュー

オンライン状況

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

PR

デザインテンプレート EC-CUBE3.0版が登場!
広告掲載について

サイト内検索

質問 > フロント機能 > 1日の会員登録者数の制限をかけることは可能でしょうか

フロント機能

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
mochizuki
投稿日時: 2017/4/17 10:39
対応状況: 確認中
新米
登録日: 2017/3/14
居住地:
投稿: 1
1日の会員登録者数の制限をかけることは可能でしょうか
▼テンプレート
[EC-CUBE]
2.13.5

[現象]
一度に大量の会員登録がされてしまいました。
そのため1日の会員登録数の制限をかけたいです。
IPごとではなく全体でです。

何か方法はありますでしょうか。
よろしくお願いいたします。
468
投稿日時: 2017/4/17 11:47
対応状況: −−−
仙人
登録日: 2008/10/26
居住地:
投稿: 534
Re: 1日の会員登録者数の制限をかけることは可能でしょうか
制限される数は固定値で問題無いのでしょうか?
管理画面で変更できるようにする場合は、その情報を変更できる画面やテーブルなどを用意する必要があると思いますので、
それなりに手を加える必要が出てくると思います。

プラグイン化せずに直接カスタマイズするのであれば、
/data/class/pages/entry/LC_Page_Entry.phpのactionメソッド内に判定処理を追加すればいいのではないかと思います。

dtb_customerにcreate_dateカラムがありますので、
これを条件に件数をカウントさせれば、その日の会員登録件数をカウントできそうな気がします。


----------------
株式会社シロハチ
■ECCUBE2系、3系構築カスタマイズご相談ください。
■360°画像ビューワーimg360
■ECCUBE技術資料blog

yuh
投稿日時: 2017/4/19 1:05
対応状況: −−−
登録日: 2013/1/9
居住地: 大阪
投稿: 1326
Re: 1日の会員登録者数の制限をかけることは可能でしょうか
ざっくりと書いたので動作するかはわかりませんが、
LC_Page_Entry_Ex.phpに下記のコードを追加でできると思います。
//一日の最大会員登録数
//エラー時のテンプレート
部分は変更する必要があります。

    function action(){
        $objQuery =& SC_Query_Ex::getSingletonInstance();
        $checknum = 10 ;//一日の最大会員登録数
        $query = "
        SELECT
            CASE
                WHEN
                    coalesce((
                        SELECT
                            COUNT(*)
                        FROM
                            (
                                SELECT 
                                    create_date 
                                FROM 
                                    dtb_customer 
                                ORDER BY 
                                    customer_id DESC 
                                LIMIT 10
                            ) as a
                        WHERE 
                            create_date > date_trunc('hour',NOW())
                    ),0) < ?
                THEN    ?
                ELSE
                    0
            END
        ";
        $check = $objQuery->getOne($query,array($checknum,$checknum));
        if($check == 0){
            $this->tpl_mainpage = 'entry/〇〇〇.tpl';//エラー時のテンプレート
            $this->tpl_title    = '会員登録(会員登録制限)';
            return;
        }

        parent::action();
    
    }


----------------
ec-cube2系の速度UPしてみました。(商品数:100万件)
http://speedtest2.ec-lab.net/products/list.php?category_id=15
ec-cube2系最速!(自称)

スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ

 



ログイン


EC-CUBEガイドブック

統計情報

総メンバー数は19,356名です
総投稿数は81,274件です

投稿数ランキング

1
seasoft
7331
2
AMUAMU
2712
3
nanasess
1619
4
yuh
1326
5
red
1045
6
fukap
907
7
shutta
827
8 ramrun 789
9
tsuji
778
10
umebius
670
11
tao_s
646
12 sumida 636
13
homan
633
14 karin 609
15 DELIGHT 571
16
468
534
17
patapata
502
18
flealog
483
19 tonton 436
20
ecbg
387


ネットショップの壺

EC-CUBEガイドブック
Copyright© LOCKON CO.,LTD. All Rights Reserved.