477 :
◆WinMIRVY :
>>474 あ、仕様にも8バイトって書いてある(^_^;)恥〜
>>475 おお、文字列とバイナリをそのまま連続して渡せるのか(^_^;)了解
ってことで、こんな感じで・・・・
1 IPにcryptを掛けて末尾3文字(情報量は16ビット)を取ったもの
2 板名
3 日替わりで/dev/randomから取った値8バイト
を並べてMD5を掛けたものの下8文字をIDにする。
乱数で生成された8バイトが判明しない限りIPからIDを再生できない。
日替わりのランダム値を予測するのは非常に困難。
万一バレて総当りされたとしても、65536通りの値の
どれであるかはわからない。
478 :
◆WinMIRVY @マァヴ ★:01/09/10 00:00 ID:???
>>476 そですね(^_^;)
入力が128bit超えても、散布状態は変わらないんですもんね(^_^;)
いやぁ、勉強になります。
479 :
◆WinMIRVY @マァヴ ★:01/09/10 00:02 ID:???
というわけで、MD5は下8文字を使うことで解決。
乱数は元々充分でかかったので問題なかったってことで解決(^_^;)
半可通なもんで、色々手間がかかるおいらを許して(^_^;)
480 :
名無しさんの声:01/09/10 00:06 ID:FabxguXc
>>479 状況が打開された様で、よかったであります。
ヽ(`Д´)ノマァヴアゲ
マァヴさん♪お疲れ様です。
日曜の夜まで・・ヤットオウエンデキタヨ!オジャマシマシタ。。
483 :
名無しさんの声:01/09/10 00:18 ID:ZsyeOveQ
ヽ(`Д´)ノシューケーニンアゲ
test
test
486 :
名無しさんの声:01/09/10 03:04 ID:1eHUpUls
ID生成用の乱数が漏れることを防ぐためには、サーバー側で書き込んできたIPごとに
完全なる乱数を生成し、そのIPと乱数との対応テーブルを保存しておく。そしてその
IPが次に書き込んだとき、そのIPの最後の書き込みから一定時間が経過していない
場合は、新たに乱数を生成せずIP-乱数テーブルから前の乱数を取る。一定時間が経過
していたら掲示板から抜けたと見なして新たに乱数を生成してIP-乱数テーブルを
更新する。なお、「最後の書き込み」を「最初の書き込み」に読み替えて、
IP-乱数テーブルをスレッドごとに管理すると、そのスレッド内では最初の書き込み
から一定時間しかIDが保持されず、粘着防止に使えます。
>486 ユニークユーザーが10万人いる2chでそれやるとテーブルが凄い事に
ならんですか(現状、ID制が事実上デフォルトになってるだけに余計)?
そもそも、あまり頻々にID変わるとIDの意味がないしね。
一日の中で変化させるとしても、せいぜい、2〜3回(12時間ごと〜8時間ごと)
が限度と思います。それ以上こまごまと変化させるならID否定の方が、余程
立論がすっきりします。
----------------------------
後、>486とは関係ないけど、ID制は板単位でやってこそ意義がありますよ。
2chは、板別に構成されていて、板ごとに住人がいるのが基本形だから、その
範囲で発言者の同定ができなきゃね(但し、身元の方は分からない)。
こっちのスレで自作自演し、あっちのスレで荒らしをし、そっちのスレですっとぼ
けて説教し、又別のスレで無関係を装う、そんな利益までワザワザ保護する必
要ないよ(なりきり板みたいな特別の板を除く)。
気軽に書ける=無責任な書きこみ、ではないと考えるです。
>別のスレで無関係を装う
これが守るべき利益なんだがなぁ。
俺は荒らしのつもりはないが、全てのスレで、首尾一貫した書き込みなどできん。
しかし、それぞれのスレにおいて書いていることは、まさに書きたいことだ。
それを、同定され矛盾を指摘されることに気を使って、あるいはあるスレに参加
していることがばれて「お前、××のファンじゃねぇか、説得力無し」と粘着に
絡まれるリスクを避けて筆が鈍ることは避けるべき不利益だと思うんだがな。
逆に同一スレ内なら、IDが一ヶ月くらい固定されていてもいいとも思う。
で、専用ブラウザに、ID指定あぼーん機能でも搭載してもらえれば荒らしも
恐くない、ということで。
>>488 無責任に書き込みしたい奴は、逝ってください。
>「お前、××のファンじゃねぇか、説得力無し」
は、むしろ正当な反論。実際、説得力ねぇし。
そもそも書きたいからって、無責任に書き散らすのは、
ご勘弁願いたいもんですわ。
------------------------------------
レスがちぎれちまったい。
うーん、荒らし対策ではなく、2ch健全化計画の為にID導入を主張する
輩こそ、2chから逝って欲しいのだがな。ま、ここでやる話じゃないか。
やっぱりスレッド別選択制が無難のように思えるんですけどね。
技術的にはどうなんでしょうか?
>>487 1日単位では、毎晩2chの何処かで書き捨てるのを日課としてから、
他の掲示板で素知らぬ顔をしてるようなアンチを把握することは出来ません。
これからは板単位でそれをやる人も出てくるのではないでしょうか?
逆に、普通のリピーターにとっては、書き込んでいる時間帯等から色々な推測が
可能です。固定層が多い板等で、うっかり無意識に個人情報を漏らせば、
他の書き込みと総合してかなりの分析(ストーカー?)が可能ではないでしょうか?
ですから、切り替え周期は時間帯毎がいいような気がしますが、
さもなくば逆に、削除人が余裕で巡回できる位の長期(手動?)にするべきだと思います。
>>489 だからこそ、必要な情報提供等の書き込みまで減ってしまう。という話なのでは?
コウモリと呼ばれて荒れる元を作ってしまっては、スレの住人に申し訳ないでしょうし。
まあ、個別の板で話し合って、導入・解除スレで要望を出した方がいいでしょうね。
できれば、最初に提案したスレッド別案も検討してもらえれば。
>>492 それは、導入・解除を要望するスレ・・・。
>>493 >これからは板単位でそれをやる人も出てくるのではないでしょうか?
>逆に、普通のリピーターにとっては、書き込んでいる時間帯等から色々な推測が
>可能です。固定層が多い板等で、うっかり無意識に個人情報を漏らせば、
>他の書き込みと総合してかなりの分析(ストーカー?)が可能ではないでしょうか?
それを言い出したらキリなし。
神経質は減ってくれた方がうれしいです。
>>「お前、××のファンじゃねぇか、説得力無し」
>は、むしろ正当な反論。実際、説得力ねぇし。
ID賛成派にはこういう馬鹿しかいないってのは管理側も分かってるんだろう。
特定のファンじゃない人、ネタが書けない人などには理解不能だろう。
>「お前、××のファンじゃねぇか、説得力無し」
は、やってる事といってることとが齟齬した典型例の例示だがね。
その意味で、正当な反論となりえるはずだが?
少なくとも説得力を失うのは当然だね。
確かに
>>496には、理解不能なんだろうな。
>>488もまともに読解してもらえなくて可哀想だね(w
>>488 そんなに他の発言と関連付けられてしまうのが嫌なら、
レスするごとに繋ぎなおせばいいんではないだろうか?
しかも、
>矛盾を指摘されることに気を使って
矛盾だったら指摘されて当然。そんなリスクすら負いたくないと?
つーかここまで発言に無責任で書きなぐり状態の人は、
少々筆が鈍ってくれた方がうれしいです。:-P
君らには想像力というものがないのかね。
繋ぎ直す手間をかけるくらいなら、書き込むのをやめるよ。
で、俺一人が書き込めないことを嘆いているんじゃない。んな
ものは、書かなきゃいいだけのこと。ただ、そういう感じで、
皆が書き控えるようになるのが嫌だというわけだ。
ある事実関係が大嘘の投稿があったとする。それをちらっと見かけた
誰かがさくっと間違いを指摘する。これがマスを獲得した2chの
強みだった。しかしそこで「こいつは何でそんなことを知っているんだ」
「どこそこのスレで、こんな事を書いている奴でっせ」「どこぞの出版
関係者らしい」などと波及してはめんどくさいから書き込みを控えると
する、すると大嘘投稿がそのまままかり通ってしまう。
書き込めるのは確信犯厨房と、何かの利益を代弁して同じ事ばかり
いう「責任ある、笑」職業アジテーターだけになってしまっては、
2chの価値を損なうのよ。
荒らしにばっかり目を向けて、多数のめんどくさがり名無しさん情報
提供者をないがしろにして、なにが嬉しいのかね、というこっちゃ。
500 :
奈々資産:01/09/11 16:25 ID:Zc4CiXo2
結局IDはどうなってるの?
芸能板でも切断して書き込んだらID変わるけど?
でも板ごとにはID変わるんだけど、これは前から?
スクリプトのバージョンの関係じゃあないかな
てか、ERROR画面の下にCGIのバージョン(read.cgiみたいに)入れて欲しいかなぁ
502 :
:01/09/11 17:45 ID:8c5LAUBA
おそらく既出だと思うけど、IDって板ごとに変わるのですか?
ほとんど同じ時間にガイドライン・アニメ・葉鍵に書きこんだのですが、
全部違うIDでした。
503 :
名無しさんの声:01/09/11 17:51 ID:qiaEAYsQ
運営側としてはまずアクセス数が減るのが嬉しいんだよ。
504 :
:01/09/11 18:52 ID:l1g2voJY
>502 最終的には、全部板ごとにIDは変わるはずです。今はまだ一部同じに
なっちゃうところがあるらしいので・・・(確認してませんが)。
>499みたいに転送量を無駄遣いする奴は、真っ先に消えてほしいんだろな。多分。
508 :
名無しさんの声:01/09/16 01:29 ID:7jKo1VGk
その後,MD5使用,アルゴリズム完全公開IDシステムの開発はどうなっておりますでしょうか?
509 :
名無しさんの声:01/09/16 14:32 ID:OZwAQpbc
510 :
1:01/10/03 03:49 ID:y28MqH3c
1
511 :
2:01/10/03 03:50 ID:y28MqH3c
2
eol
retry &?&
514 :
名無しさんの声:01/10/06 20:25 ID:cn9uXCaA
IDが自作自演防止の意味だけならスレッド内のユニークな投稿者について番号を振っていくだけ、というのはダメ?
例:
1 :名無し :01/09/07 21:40 ID:#1
新スレ立てたよ。関連スレッドは
>>2です。
2 :名無し :01/09/07 21:40 ID:#1
関連スレッド。。。
3 :名無し :01/09/07 21:40 ID:#2
わーい。
4 :名無し :01/09/07 21:40 ID:#3
ごくろうさまです。
5 :名無し :01/09/07 21:40 ID:#1
いえいえ、どういたしまして。
----ずっと同じじゃ嫌なら---
6 :名無し :01/09/08 00:04 ID:#4
1です。日付け変わったね。
生IP規制中。。
>>514 スレ単位じゃなく、板単位でユニークかどうかわからないとあまり効果がない。
517 :
( ● ´ ー ` ● ) はスバラシイ:01/10/14 05:17 ID:MTbgzy5s
test
518 :
心得をよく読みましょう:01/10/14 05:31 ID:f3GmlXea
ちょっとテスト
519 :
心得をよく読みましょう:01/10/14 05:32 ID:f3GmlXea
もいっちょテスト
520 :
心得をよく読みましょう:01/10/14 05:59 ID:6/Skh/EF
接続切ってもID変わらなくなった。
今のIDのキャラ変えたいのに変わらん…鬱…
521 :
心得をよく読みましょう:01/10/14 06:00 ID:6/Skh/EF
テスト
ここもかよ…
>>523 よくわからないですけど、変わらないですよ。
馬鹿キャラから元に戻したいのに今日このまま!?
嫌だ…
もう一回テスト
分かった、これが原因だ。
$idnum = crypt($idnum, $idnum);
先頭じゃなくて末尾から8文字取らなくちゃダメだ。
$idnum = crypt(substr($idnum,-8), $idnum);
ちょっとマァヴ呼んで来る。
527 :
たしか…:01/10/14 06:13 ID:9gRjCRFy
接続切っても(日付と)IPアドレスが同じならIDも同じだと思われ。
528 :
オチ:01/10/14 06:13 ID:fLUg1fHc
クッキー抜いてるのか?
じゃなくて、そもそも仕様ではIPは32ビットフルに使うことに
なってたような。
$ip = pack('C4', split(/./, $ENV{'REMOTE_ADDR'}));
適当に書いたから間違ってそうだけどこんな感じ?
確か4時半くらいに一回切られて繋ぎ直した時には変わりました。
もうようわからん…
DESは7ビットしか見ないから8ビットの生データは駄目。
よって
use MIME::Base64;
$idcrypt = pack('C4', split(/\./, $ENV{'REMOTE_ADDR'}));
$idcrypt = encode_base64($idcrypt);
かな。
532 :
心得をよく読みましょう:01/10/14 06:49 ID:Yskdwxvp
まとめ。
仕様では32ビット→16ビットの均質劣化を掛けることに
なっています(つまりIP全てを使う)。IPの一部分のみ取り出して
使用するのは脆弱になるか、IDがかぶる確率が高くなりすぎる
のが理由で却下されました(過去ログ参照)。
しかるに、現行のスクリプトでは、IPから上位8バイトのみ
を取り出して使用しています。
my $idnum = $ENV{'REMOTE_ADDR'};
$idnum =~ s/\./0/g;
$idnum = crypt($idnum,$idnum);
この部分はIPを32ビット全て使うように変更してください。
たとえば、
use MIME::Base64;
my $idnum = pack('C4', split(/\./, $ENV{'REMOTE_ADDR'}));
$idnum = encode_base64($idnum);
533 :
マァヴ ★:01/10/14 07:03 ID:???
おお(^_^;)ありがとう
いつのまにかこんなに進展してる・・・・。
こっちはもうちっとかかりそうなのよ(^_^;)ごめん
ちょっと意味不明でした。
×IPから上位8バイトのみ
○IPを文字列化したものから上位8バイトのみ
しかも提案してるほう一行足りないし。cryptしないでどうする。
use MIME::Base64;
my $idnum = pack('C4', split(/\./, $ENV{'REMOTE_ADDR'}));
$idnum = encode_base64($idnum);
$idnum = crypt($idnum,$idnum);
536 :
時輔:01/10/14 07:15 ID:h0d4Isiy
H&Cが一枚かんでんだろ?こーやって、こーやって
537 :
マァヴ ★:01/10/14 07:19 ID:???
MIME::Base64
入ってないそうだ・・・・(^_^;)
>>534-535を反映してまとめを書き直し。
仕様では32ビット→16ビットの均質劣化を掛けることに
なっています(つまりIP全てを使う)。IPの一部分のみ取り出して
使用するのは脆弱になるか、IDがかぶる確率が高くなりすぎる
のが理由で却下されました(過去ログ参照)。
しかるに、現行のスクリプトでは、IPを文字列化したものから
上位8バイトのみを取り出して使用しています。
my $idnum = $ENV{'REMOTE_ADDR'};
$idnum =~ s/\./0/g;
この部分はIPを32ビット全て使うように変更してください。
たとえば、
use MIME::Base64;
my $idnum = pack('C4', split(/\./, $ENV{'REMOTE_ADDR'}));
$idnum = encode_base64($idnum);
う、入ってないんですか。
8ビットのものを7ビットにできればなんでもいいんですけど。
540 :
マァヴ ★:01/10/14 07:32 ID:???
そのあたりはおいらには全然ついていけない・・・・(^_^;)ごめん
夜勤さんにMIME::Base64頼むしかないかなぁ
面倒だからcrypt取ってる部分もMD5にしちゃおうかなあ。
$idnum = md5_base64($ENV{'REMOTE_ADDR'});
md5_base64だとちょうど16ビットの情報量にするのが
面倒だからmd5_hexかな。
この場合、3文字ではなくて4文字取る必要があります。
use Digest::MD5 qw(md5_hex);
$idnum = md5_hex($ENV{'REMOTE_ADDR'});
$idnum = substr($idnum,-4);
543 :
心得をよく読みましょう:01/10/14 07:44 ID:Yskdwxvp
ということで代案です。
仕様ではIPに32ビット→16ビットの均質劣化を掛けることに
なっています。均質劣化が達成できれば、
・cryptを掛けて末尾3バイトを取る
方式である必要はありません(
>>286-287参照)。
したがって、MD5を掛けてhex形式で表現したものの末尾
4バイトを取ることにします。
具体的には、
my $idnum = $ENV{'REMOTE_ADDR'};
$idnum =~ s/\./0/g;
$idnum = crypt($idnum,$idnum);
$idnum = substr($idnum,-3);
の部分を
use Digest::MD5 qw(md5_hex);
my $idnum = md5_hex($ENV{'REMOTE_ADDR'});
$idnum = substr($idnum,-4);
のように書き換えてください。
544 :
心得をよく読みましょう:01/10/14 08:13 ID:Yskdwxvp
あげときます
545 :
マァヴ ★:01/10/14 08:18 ID:???
りょかいです(^_^;)teriで試してみるね。
おまかせになってごめん。