「Yomi-Search 改造支援」さんで紹介している「認証キー設定」( http://ys.daihouko.com/spam02.html )が、記載漏れと思われる箇所があるためこのままでは動きません。
とても良いスパム対策だと思いますので、勝手に補完。

これは、認証キーを入力してもらわないと新規登録ができないようにする改造です。
認証キーは管理室から設定できるようになっています。

※この記事の内容について「Yomi-Search 改造支援」さんに質問をするのはご遠慮下さい

 

 

使用ファイル

  • regist_ys.cgi
  • pl/cfg.cgi
  • template/regist_new.html
  • template/regist_mente.html
  • template/regist_new_preview.html
  • template/regist_new_admin.html
  • template/regist_mente_admin.html
  • template/admin/config.html

カスタマイズ

template/admin/config.html

  • 659行あたり
    「登録禁止ワードの設定」の上に、以下を追加。

    <li><a href="#regist_submit"><b>認証キーの設定</b></a><br>
    <ul>
    <input type=text name=Spamkey value="$EST_reg{Spamkey}" size=70>
    </ul><br>
    

 

pl/cfg.cgi

  • 163行目あたり
    'sougo'=>'0',
    'to_admin'=>'1',
    );
    }
    

    この中にある'to_admin'=>'1', の下に次を追加

    'Spamkey'=>'',
    

    追加後はこんなカンジになります。

    'sougo'=>'0',
    'to_admin'=>'1',
    'Spamkey'=>'',
    );
    }
    

管理室に入り、環境設定から認証キーを設定して下さい。

 

regist_ys.cgi

  • 396行目あたり
    sub check{
    #(4)入力内容のチェック(&check)
    
    

    の下に次を追加

    ##認証キー<br>
    	unless ($FORM{Spamkey2} eq "$EST_reg{Spamkey}") { &mes("認証キーが正しくありません","認証キー誤入力","back_reg"); }
    
    
    

    追加後はこんなカンジ

    sub check{
    #(4)入力内容のチェック(&check)
    
    ##認証キー<br>
    	unless ($FORM{Spamkey2} eq "$EST_reg{Spamkey}") { &mes("認証キーが正しくありません","認証キー誤入力","back_reg"); }
    
    
    

 

template/regist_new.html

  • 170行目あたり
    <input type=submit value="  登録する  ">
    

    の上あたりに次を追加

    <!--認証キー-->
    <li>【認証キー】
    <ul>※自動登録防止のためのキーワード設定です。<br>※認証キー「$EST_reg{Spamkey}」を入力してください。<br>
    <input type=text name=Spamkey2 size=60></li></ul><br>
    

 

template/regist_new_preview.html

  • 55行目
    <input type=hidden name=changer value="$FORM{changer}">
    <input type=hidden name=pass value="$FORM{pass}">
    

    の下に次を追加

    <input type=hidden name="Spamkey2" value="$FORM{Spamkey2}">
    

 

template/regist_mente.html

template/regist_new_admin.html

template/regist_mente_admin.html

それぞれのファイルの中の

<input type=hidden name=pre_mark value="$Pdata[3]">

の下に次を追加

<input type=hidden name="Spamkey2" value="$EST_reg{Spamkey}">

以上です。



メモ

利用者が増えると、認証キー「$EST_reg{Spamkey}」の文章からキーを抽出される可能性があります。
離れた場所に書くとか、直接キーを載せず簡単なクイズにするとかいろいろやってみてください