ようこそ!逆襲のニートブログへ

ブログ内検索

最近の記事

はてなブックマーク数

この日記のはてなブックマーク数

カテゴリー

月別アーカイブ

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

F-boardの改造

以前の日記で書いていた「F-board」のクラック対策ですが、
http://zapanet.info/blog/item/747/catid/17
で紹介されていた、「投稿前のチェックボックスを一つ追加」でとりあえず回避する方法を検討してみました。
(1) チェックボックス(□にレ印を入れるやつ)の表示を追加する
/lib/widget/default/WidgetPost.php
の175行目付近(パスワード入力欄の表示位置の直下)に、

$htmlString .= '
<tr>
<td class=row1><b>投稿確認</b></td>
<td class=row2><input type="checkbox" name="confirm">投稿時にチェックを入れてください。</td>
</tr>';



というコードを追加する。
=「confirm」という名前のチェックボックスを1個追加した。
=違う場所に表示させたければ、コードを追加する場所を適宜変更




(2)スレッドに新規投稿時の確認処理追加
投稿ボタンをクリックすると、
<form action="post.php" method="POST" name=message>
<input type="HIDDEN" name="act" value="submitThread">
という動作になっている。

/post.php
の112行目付近に、

$confirm = PreVar::getVar('confirm','POST');



というコードを追加する。
=(1)で追加した「confirm」の値のチェック処理を追加

/post.php
の124行目付近に、

$fv->isEmpty($confirm,'投稿確認が未チェックです。');



というコードを追加する。
=チェックボックスにチェックが入力されていない場合、エラーメッセージを表示させる処理を追加




(3)スレッドに返信時の確認処理追加
投稿ボタンをクリックすると、
<form action="post.php" method="POST" name=message>
<input type="HIDDEN" name="act" value="submitReply">
という動作になっている。

/post.php
の198行目付近に、

$confirm = PreVar::getVar('confirm','POST');



というコードを追加する。
=(1)で追加した「confirm」の値のチェック処理を追加

/post.php
の210行目付近に、

$fv->isEmpty($confirm,'投稿確認が未チェックです。');



というコードを追加する。
=チェックボックスにチェックが入力されていない場合、エラーメッセージを表示させる処理を追加




以上の3点の修正で、投稿時にチェックボックスの入力項目(レ印)が1個追加できます。

チェック方式を変更する場合、
/lib/class_FormValidator.php
のFormValidatorクラスに、新たなメソッドを追加すればOKだと思います。

上記(1)~(3)のチェックは、FormValidatorクラスのisEmptyメソッド(空値のチェック)をそのまま利用しています。

http://zapanet.info/blog/item/747/catid/17
「投稿前にランダムに文字列画像を生成して、その文字列を投稿者に入力してもらう」

これをやるなら、PEARライブラリのCAPTCHAとかを利用できそうですね。
http://www.doyouphp.jp/sample/sample_others_captcha.shtml
CAPTCHA α版のセキュリティは、まだ十分ではないようですが。
http://cl.pocari.org/2006-02-11-2.html


関連記事

コメント

コメントの投稿


管理者にだけ表示を許可する

トラックバック

トラックバックURL:
http://gooddays1.blog37.fc2.com/tb.php/69-87a55792

FC2Ad

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。