暇な人生を謳歌中なので細かいメンテナンスを。
このブログにコメントをつけるときの方法を変えました。
コメントスパムを排除するため、いままでメアド入力必須とか、承認が必要とかにしていましたが、流行りのランダムナンバー入力をする方式に変えました。
この方が以前より少しはコメントつけやすくなるんではないかと思います。
ネットから修正ネタをいろいろ探しましたが、ビンゴなのはなかったので自分で少しソースを修正しました。
実装の方法は以下のとおり。
環境はXOOPS + WordPress ME 5.0RC です。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
<blockquote> 1.以下からtrencaspamer 1.0rc のソースをゲットする。 <a href="http://www.estherfuldauer.com/2004/11/08/trencaspammers-10rc-wp-plugin-anti-spam-para-wordpress/" target="_blank" rel="noopener noreferrer">http://www.estherfuldauer.com/2004/11/08/trencaspammers-10rc-wp-plugin-anti-spam-para-wordpress/</a> <a href="http://cafelog.net/" target="_blank" rel="noopener noreferrer">Cafelog.NET</a>さんの<a href="http://cafelog.net/archives/2004/12/09/trencaspammers-10rc/" target="_blank" rel="noopener noreferrer">TRENCASPAMMERS 1.0rc</a>とかいうサイトは見れなくなっていたので仕方なくミラー?しているサイトからもらいました。 2.解凍したら、trencaspammers.phpを自分のXOOPS環境の modules/wordpress/wp-content/plugins の下に入れる。 58行目の <blockquote>$_SERVER[HTTP_USER_AGENT]] は $_SERVER['HTTP_USER_AGENT'] </blockquote> にしといた方がいいかも。 3.wordpress/themes/default/comments-template.php に追加 56行目の < ?php } // comment_moderation != 'none' ?> の次に追加する。 <blockquote><pre class="code"><?php <span class="keyword">$ts_random</span>=rand() ?> <span class="tag"><input <span class="attr">type=</span><span class="value">"hidden"</span> <span class="attr">name=</span><span class="value">"ts_random"</span> <span class="attr">value=</span><span class="value">"<?php print $ts_random; ?>"</span></span>" /> <span class="tag"><p></span> <span class="tag"><img <span class="attr">src=</span><span class="value">"<?php echo get_settings('siteurl'); ?>"</span></span>/wp-content/plugins/trencaspammers.php?ts_random=<?php <span class="keyword">print</span> <span class="keyword">$ts_random</span>; ?>" alt="Random Number" /> <span class="tag"><br /></span> <span class="tag"><label <span class="attr">for=</span><span class="value">"ts_code"</span>></span> <?php <span class="keyword">echo</span> _LANG_WPCM_COM_SPAMCHECK; ?><span class="tag"><BR></span> <?php <span class="keyword">echo</span> _LANG_WPCM_COM_SPAMCHECK2; ?> <span class="tag"></label></span> <span class="tag"></p></span> |
4.modules/wordpress/wp-comments-post.php に追加
52行目の
1 |
if ($_comment == 'comment' || $_comment == '') { |
のif文の次あたりに追加
12345 $ts_code=trim($_POST['ts_code']);$ts_random=$_POST['ts_random'];if ( !ts_is_human($ts_random, $ts_code)){redirect_header($_location ,5,_LANG_WPCP_ERR_RANDOM);}
5.modules/wordpress/wp-lang/lang_ja.php に追加
入れる場所はどこでもいいが、496行目あたりが適当かと。
define(‘_LANG_WPCM_COM_SPAMCHECK’,’ ※ スパム対策の為、コメント投稿時に上記ランダムナンバー(半角)を入力してください。 ‘);
define(‘_LANG_WPCM_COM_SPAMCHECK2′,’ ※ ナンバーが間違っているとコメントは無効になるので注意!’);
define(‘_LANG_WPCP_ERR_RANDOM’,’Error: ランダムナンバーが間違っています。’);
以上の変更をしたのち、WordPressの設定画面で、trencaspamer プラグインを有効にする。
>