« わらびやまとの湯 | トップページ | 沖縄行きの前に・・・ »

p++BBS(PHP)で禁止ワード設定

ここ1~2ヶ月ほど、温泉オーストラリアスイスで共通に使っている掲示板への宣伝書き込みがうざすぎる

まめに消しているつもりでも、旅行中とかちょっと目を離した隙に似たようなのがいくつも書かれる。

もちろん「マナーは守ってね。宣伝は禁止ね」なんて改めて書く気はない。だってそういうのを真面目に読むような人はそもそもマナー違反の書き込みなんてしないし、宣伝書き込みをする奴らはそんなのいちいち読んでいるわけないからだ(しかも掲示板自動投稿ソフトなんて使っているから、ロボット相手に法を説くようなもの)。

対策としては・・・禁止ワード設定ぐらいしか思いつかない。

つまり、禁止ワードをコメント本文や名前の欄に書くとエラーが出るようにする。相手の宣伝アドレスを禁止ワードにしてしまえば、最初の書き込みは防げなくても二度目からはシャットアウト。

ところが、私が使っている掲示板、レッツPHP!p++BBSには禁止ワード設定の機能が無い。

・・・ここで諦めてはいけない。

スクリプトと名の付くものが苦手でも、ここはなんとか改造してp++BBS禁止ワードを弾くのだ

というわけで、やってみた。

幸い同じ作者様のP-BBSという掲示板には禁止ワード設定ができるようになっているので、こちらを参考にさせていただく。

以下、自分のメモであるとともにもし同じ悩みの人がいたらどうぞ活用下さい。

1.スクリプト本体のpppbbs.phpを開く

2.Aの記述をBの下に挿入する

 A この記述をコピーして挿入する

// 使用禁止ワード
$no_word[] = '死ね';
$no_word[] = '馬鹿';

 B スクリプトから以下の記述を探してその下にAの記述を挿入(別にここでなきゃいかんというわけじゃないが)

/* 過去ログ一つに書き込む行数 */
define("PAST_LINE", 50);

3.Cの記述をDの下に挿入する

 C この記述をコピーして挿入する

  // 禁止ワード
  if (is_array($no_word)) {
    foreach ($no_word as $fuck) {
      if (preg_match("/$fuck/", $com)) error("使用できない言葉が含まれています!");
      if (preg_match("/$fuck/", $sub)) error("使用できない言葉が含まれています!");
      if (preg_match("/$fuck/", $name)) error("使用できない言葉が含まれています!");
    }
  }

 D スクリプトから以下の記述を探してその下にCの記述を挿入(別にここでなきゃいかんというわけじゃないが)

  if(strlen($name) > MAXNAME) error("名前が長すぎますっ!");
  if(strlen($sub) > MAXSUB)   error("タイトルが長すぎますっ!");
  if(strlen($com) > MAXVALUE) error("本文が長すぎますっ!");

4.書き込み前の処理に関する以下の記述に$no_wordを追加する。

 つまり・・・

/* 書き込み前の処理 */
function RegCheck($sub,$name,$email,$url,$color,$pwd,$com,$res){
  global $PHP_SELF,$REQUEST_METHOD,$log,$thread;

とあるのを、

/* 書き込み前の処理 */
function RegCheck($sub,$name,$email,$url,$color,$pwd,$com,$res){
  global $PHP_SELF,$REQUEST_METHOD,$log,$thread,$no_word;

と書き換える。

以上で、禁止ワード設定ができるはず。

禁止ワードはいくらでも追加できるので、$no_word[] = '馬鹿';のところをコピーして、「馬鹿」の代わりに弾きたいサイトのアドレスとかじゃんじゃん入れてみて下さい。

同様の方法で禁止ホスト設定などもできますが、私は.htaccessを使ってホスト制限やリファラ制限を行っているのでPHPではこちらは必要としませんでした。

そうして禁止ワード措置をして使っている掲示板はこちら→ガーデンテラス掲示板

※2006年11月追記 この方法でもスパム書き込みを防げない場合は、こちらの記事も参考にして下さい。→英文リンクスパム迷惑書き込みと戦う

|

« わらびやまとの湯 | トップページ | 沖縄行きの前に・・・ »

web」カテゴリの記事

パソコン・インターネット」カテゴリの記事

日記・コラム・つぶやき」カテゴリの記事

コメント

うはぁ。PHPの改造したのかぁ。
大変だったねぇ お疲れ様。
今後の参考にさせてもらいまぁす。

投稿: れもん | 2005/06/23 23:35

ううー、れもんはこの苦労を判ってくれるのね。嬉しいわ~。
それにしても毎回思うけど、私って本当にこういうの向いてな~い。
目的があるからなんとか乗り越えるけど、設置するのが趣味、改造が趣味なんて言える人とは程遠いの。
本当ならスクリプトとにらめっこなんて、毎回やりたくないだわさー。

投稿: よしか | 2005/06/24 22:40

ついに禁断の改造というものに手を出してしまいましたね(笑)。
スクリプトはデリケートなプログラムですから(プログラム全てがデリケートです)、悪戦苦闘それたのではないでしょうか。

投稿: シバク | 2005/06/25 15:32

シバクさん、ブログの方にもコメント書いて下さってありがとうございます。
いやー、スクリプト開くの憂鬱で先延ばしにしていたのですが、ここ一ヶ月ぐらいあまりにも酷いので、ついに重い腰を上げました。
たぶんこの辺→http://spa.tea-nifty.com/spa/2004/06/pbbs.html
以来の作業だと思います。
あのときもresallについて次回は書きますとか予告まで打っているのについに書かなかったな(笑)。
そんなことも記憶にあったので、今回は忘れないうちにメモを記事にしておきました(情けないことにもうresallについてどういじったのか忘れてしまった)。

気が付くとPHP掲示板も使い初めて1年以上が過ぎました。
CGI改造よりはPHP改造の方が楽でした。
どっちにせよ、極力やりたくないです(笑)。

投稿: よしか | 2005/06/26 17:29

私も掲示板は元を改造して利用しておりますが、そのまま使っているのと比べるとより愛着がありますね。
アップしてみたら表示されず、よくよく見てみたらスペルを間違えをしていたということもしばしばでした。
悪戦苦闘した分、大切なページどなりましたよ(^^♪。

投稿: シバク | 2005/06/27 17:51

シバクさん、ありますあります~。
もうさっぱり動かないと泣きたくなります~。
原因の見当が付くときはまだ救いようがあって、原因が思いつかないときは頭の中ぐちゃぐちゃになります(笑)。
シバクさんみたいに得意な方が羨ましいです。

次にやるとしたら掲示板ログのワード検索ですが、これも地熱http://spa.s5.xrea.com/
のTOP頁の検索でとりあえず事足りてしまっているので、未だに手を着けていません。

投稿: よしか | 2005/06/27 21:38

よしかさん、今晩は。
TBさせていただきました。

投稿: グリンデル | 2005/07/10 23:21

グリンデルさん、どーもありがとございます。実はTB返し、期待してました。最近は新手の宣伝方法として、ライブドアブログに捨てブログ作って、主婦だの女子大生だのに見せかけた生活ブログを一週間ぐらい書いて、最新の目立つところに「こんな副業で100万円もうけちゃいました」みたいなリンクを作って二重に誘導するというのが立て続けに来ました。
捨てブログのアドレスが毎回違うので、仕方なくライブドアブログ自体を立入禁止措置にしてしまいました。
もういい加減にしてほしいです。

投稿: よしか | 2005/07/12 21:24

 はじめまして。
 わたしの運営するサイトでも、最近業者の宣伝書き込みが来るようになって困っていました。
 掲示板はp++BBSではなく、同じれっつPHP!さんのミニモニBBSを使っていますが、まったく同じ改造方法で禁止ワードの設定ができました。

 大変助かりました。ありがとうございます。

投稿: サクラキャンドル | 2006/05/19 07:22

サクラキャンドルさん、参考になることがあって嬉しいですー。自分のメモのつもりでしたが、お役に立てたなら幸い。ところでスパムの相手が英文のリンクをずらずら並べるタイプで、この禁止ワード設定でも弾ききれないときは、こちらの記事も参考にして下さい↓
http://spa.tea-nifty.com/spa/2006/04/post_fac5.html

投稿: よしか | 2006/05/20 15:57

今更ながら、P++BBSを使い始めたのですが、恐ろしいほどの数の迷惑な書き込みがされて困っていたところにこのブログを見つけ、とても助けられました。
php初心者の自分にも解りやすく、本当にありがたかったです。
どうもありがとうございました。

投稿: junki | 2010/08/01 03:45

junkiさん、お役にたてれば幸いです。

しかしせっかく迷惑書き込み対策を万全に装備したP++BBSだったのですが、当方はつい数ヶ月前に事情があってレンタル掲示板に差し替えざるを得ませんでした。

事情はこの辺↓にありますが(おそらくXREA側の事情)、

http://spa.tea-nifty.com/spa/2010/04/post-cfac.html

非常に不本意で、本当は気に入っていたP++BBSを使い続けたかったです。

投稿: よしか | 2010/08/03 12:37

コメントを書く



(ウェブ上には掲載しません)


コメントは記事投稿者が公開するまで表示されません。



トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/39137/4675728

この記事へのトラックバック一覧です: p++BBS(PHP)で禁止ワード設定:

» 掲示板荒らし対策 [Grindel's Graffiti]
PCクラッシュから1ヶ月が過ぎ、その後遺症にいくつか悩まされています。そのひとつ [続きを読む]

受信: 2005/07/10 23:19

« わらびやまとの湯 | トップページ | 沖縄行きの前に・・・ »