Yoh-Chu-Sha (Larva House) - 12.februar platz
- 発見!
http://www2.odn.ne.jp/cak11490/larva/audio/feb12platz.html
ないしょさん向けな音楽だ
Yoh-Chu-Sha (Larva House) - 12.februar platz
http://www2.odn.ne.jp/cak11490/larva/audio/feb12platz.html
ないしょさん向けな音楽だ
wiki SPAM対策として、崩れた数字を表示させて人間かどうかチェックするというアイディアを言っちゃったので。
言い出しっぺの法則でさっくり書いて見た。
でも、、、崩れた数字で~~って特許とられてないか心配で実装が止まってる。
まぁ、萌え絵3種からえらばせてもいいか。
pukiwiki 1.4.4 の
lib/auth.phpのところに
function check_human(){
$system_salt="ablacatabra";//将来的にはpukiwiki.iniへと
$uri= urlencode($_SERVER{"REQUEST_URI"});
if(! isset($_COOKIE{"human"}))
header("Location: human_check.php?url=".$uri);
$tmp = preg_split('/:/',$_COOKIE{"human"});
$utime=$tmp[0];
$hash=$tmp[1];
if($utime + 3 < time() ||
$hash != md5($system_salt.$utime))
header("Location: human_check.php?url=".$uri);
}
こげな関数たして
check_editableのところで
function check_editable($page,$auth_flag=TRUE,$exit_flag=TRUE)
{
global $script,$_title_cannotedit,$_msg_unfreeze;
if (edit_auth($page,$auth_flag,$exit_flag) and is_editable($page))
{
check_human();
return TRUE;
}
~~~~~以下省略~~~~~
と言うふうにパスワード突破で承認するまえにだすようにする。
そんでもって以下のようなhuman_check.phpを用意すればOk
<?
if($_POST{"human"}=="yes"){
$system_salt="ablacatabra";//将来的にはpukiwiki.iniへと
$utime=time();
$hash=md5($system_salt.$utime);
setcookie('human',$utime.':'.$hash);
header("Location: ".urldecode($_POST{"url"}));
}
if(isset($_POST{"url"}))$url=$_POST{"url"};
else $url=$_GET{"url"};
$url=urldecode($url);
?>
<html>
<body>
Aar you human?<br>
<form action="./human_check.php" method="POST">
<input type="hidden" name="url" value="<? print htmlentities(urlencode($url)) ?>">
<input type="text" name="human">
<input type="submit">
</from>
</body>
</html>
setcookieのところで本当はpathを指定してpukiwikiディレクトリ以下からしかクッキーをとれないようにしなきゃいけないんだけど。
とりあえずは省略
あと、md5のところでハッシュのキーがutimeだけだけど。本当は乱数も追加したいね。
ノーガード戦法どころか。これはハニーポットか?と思うほどのサイトってあるんですねぇ。。
問題は消費者がどうやってそういう悪徳サイトに引っかからないようにするかだ。
ふとおもったが、犯罪被害者のふりして名簿横流ししてるやつとかいそうだな。
YBBの例でいくなら。わざとセキュリティをあまくしておいて。甘いことを
外の人におしえてお金をもらう。みたいな。。。
数字をくずして。が特許取られているとしても。身体性を利用した認証とかすればいいのかな?
「西の反対はなんでしょう?ひらがなで入力してください」
とか、この絵は女の子でしょうか?男の子でしょうか?
とか。
http://d.hatena.ne.jp/yumeno/20050105
今年は本格的にwiki SPAM対策を考えた方がいいのかなぁ?とおもいつつ。
まぁよくあるのは崩れた文字の画像をを表示させて入力させるものとかあるし。
別に、萌えきゃらの絵をだして。このキャラの名前は?とn択問題にするもよし。
それとは別にUNIX風のugo+rw形式の認証構造を持つのも悪くはないかな?とおもいつつ。
無論これはwikiの誰でも書き換えられるの哲学に反するという指摘も有るけど。
全てのページを書き換えられる必要性はそー多くはないんじゃないかなとおもう。
たとえばサイトポリシーとか、、、。
いやね、これじつは会員制ポータルサイトというかグループウェアというか。。。
みたいなものにwikiがあると便利だよね~という話になって。。。そこからきてるん
だけどね。。。
PHPLibの認証回りをPEAR AUTHとの整合性もたせるように書き換えればかなりいけるのかなぁ。。。。
認証ルーチンを関数ひとつ追加するだけでできるようにしないといろんな
アプリケーションに追加するのは難しくなるからねぃ。
DNSがもたつくなーとおもいつつ放置してたけど。
どうもdnscacheは性能劣悪みたいだね~。
設定簡単だから気に入ってるんだけどなぁ。
ログはきでロックされてしまわないように、マルチスレッド化すればいいのかなぁ?