【Perl】掲示板を使ろう!
そんな貴方に
set PERL5OPT=-m-flock
flock.pmは自分で用意してね♥ >>100
その代わり実は効いていないのに気がつかない可能性がある #!/usr/local/bin/perl
use CGI $a=new CGI;print"Content-type: text/html\n\n<form action=n.cgi>";
print"<input name=n><input name=t>\n";$n=$a->param('n'),$t=$a->param('t');
if($t){$t=~s/,|<|>|:/*/g;if(!$n){$n="名無しさん@お腹いっぱい";}open(I,">>y"),print I"$n,$t\n";}
open(I,"y"),@I=<I>;for($i=$#i;$i>$#i-10;$i--){($j,$k)=split(/\,/,$I[$i]),print"<hr>$j: $k";}
5行 一時間で書いたから最低なソースだ。
素人丸出し。
でも一応動く。
動けばいいよね。
だめ? #!/usr/local/bin/perl
use CGI $a=new CGI;print$a->header,"<form action=n.cgi><input
name=b><br><input name=c>";($b,$c)=($a->param('b'),$a->param('c'));
if($c){$c=~s/<|>|:/*/g;if(!$b){$b="名無しさん";}open(A,">>d");
print A"<hr>$b:$c\n";}open(A,"d");@e=<A>;@f=reverse(@e);print @f;
少しだけ短くなったかな? なんかアドバイスきぼーん。
もっと短くしたいです。 CGI.pmをつかって「もっと短く」と言われてもなぁ…と思ってしまう。 #!/usr/local/bin/perl
use CGI $a=new CGI;print$a->header,"<form><input name=b><br><input name=c>";
($b,$c)=($a->param('b'),$a->param('c'));if($c){$c=~s/<|>|:/*/g;if(!$b){$b="名無し";}
open(A,">>d");print A"<hr>$b:$c\n";}open(A,"d");@e=<A>;@f=reverse(@e);print @f;
<form action=n.cgi> => <form> #actionはデフォルトで自分自身らしい。
名無しさん => 名無し #これはどうでもいいか・・・。
これで横に長いが何とか4行 どうでもよい話かもしれないが、actionは#REQUIREDです。 >>112
DOCTYPE宣言がない以上ほんとにどうでもよい話ですね。 #!/usr/local/bin/perl
use CGI $a=new CGI;print$a->header,"<form><input name=b>";$b=$a->param('b');
if($b){$b=~s/</</g;open(A,">>c");print A"$b";}open(A,"c");print<A>;
これ以上はむりかな。
だんだん飽きてきた。
つーかこんなのは掲示板じゃない。 >>113
一応補足しておくと、action が #REQUIRED である限りクライアントによってはうまく動作しないことがあるかも知れないという意味を含めていました。 沈みすぎなのでアゲ。
IndexFile.pm改め、IxFile.pmを作りました。
ハッシュだけでなく配列やスカラなどにも対応。
データ構造が変わったので、IndexedFile.pm とはデータ互換性なしです。
詳しくは、
http://www.panton.f2s.com/bbs/lib/IxFile.html
http://www.panton.f2s.com/bbs/IxFile.tar.gz (ブツ)
http://www.panton.f2s.com/bbs/sbbs.cgi (テスト用掲示板) あ、ホントだ (^^
開発に疲れちゃったんだろーなー >>ほういち氏
八月半ばに他のQ&A-BBSでも見かけたよ。
でも2chにはこない…。 タイトルのtypo発見した、ちょっとトクした気分だ。。。 use base 'IxFile';で継承すると
殆どのフィールドを継承できない(フィールド名が_で始まっている為)のですが、
それは仕様ですか? お、意外にも使おうとしている方が・・・
仕様と言えば仕様ですね。
お好みで適当に変えちゃってください。
ただ、今全面的に仕様変更考えてるので微妙です。
特に、インデックスの内部保持方法とその保存形式、
ハッシュや配列へのTieインターフェイスとかいろいろ。
仕事忙しいのでいつになるかわからないけど・・・
なんか意見あったら言ってください。 ナルホド。
弄り始めたばかりですし、特に今のところ意見は無いです。
応援してますんで頑張ってください。 「〜を作ろう」っていうスレで何かが完成した験しは全然無いな。 # IxFile拡張
# IxFIle::clear - IxFileデータベースをクリアする
# $status = clear $ixf;
sub IxFile::clear{
my IxFile $self = shift;
$self->_initialize(2);
$self->{_pointer} = 0;
$self->{_stat} = 0;
$self->{_idxlist} = [];
$self->{_idxhash} = {};
my $idx_ok = truncate $self->_idxhandle, 0;
my $dat_ok = truncate $self->_dathandle, 0;
return $idx_ok && $dat_ok;
} >>135さん
ありがとうございます。clear メソッドはあったほうが良いですね。
マージさせていただいて良いですか?
関係ない話ですけど、
Apache::AntiSpam::HTMLEncodeを見てて、
メールアドレスの一部分だけでもHTML Entitiesに変換すれば、
ロボットのアドレス収集対策にかなり有効なんじゃないかと思いました。
たとえば、?anton@f2s.com とかみたいに。
もっとも、HTML Entitiesを解釈するロボットがあると元も子も無いけど。 あれ、&#112;anton って書いたつもりだったのに・・
bbs.cgiの仕様変わったのかな?
てすと: & > < > マージ
そのつもりで書いたので遠慮なくどーぞ。
> アドレス収集ロボ対策
JAPUさんが会社でやってますね。
ってあまり宣伝しすぎると効果が無くなるんでしょうけど。 s/&#[\d;]*/?/g って感じかな。
>>138
ありがとうございます。
ロボット対策> あら、ほんとですね。さすが。<- JAPUさん このスレ終わっちゃったのカー (゚д゚lll)
テキストに飽きてきたから、使ってみるう おれはいますよ。すんません。
仕事に殺されています。<-言い訳。 IxFileの配列版File::Arrayを構想中。 >>45
> * IO::File
> IO::Fileはかなり大きいので使わずに済ませてもいいのでは?
根拠は?たかだか3889バイトですが?
# と、Google検索でここにきたのでついでに書き込むテスト >>144
IO::Fileは
Carp、Symbol、SelectSaver、IO::Seekable、File::Spec
といろんなモジュールを呼んでますし、呼ばれたモジュールも
色々モジュールを呼んでるので全部あわせると結構な量です。 slashdot型掲示板作られた方は
いませんか? slashdotってひたすら流れがつかみにくいと感じるのは俺だけ? YaBBで似たようなことできるね。
ニュース系サイトなら更新するのに
わざわざ、エディタ&FTP使わなくても
ブラウザだけで更新できるから便利だと思うんです。 >>147
slashdotならslashcode持ってくればいいのでは? ふと思いついて>>143をFileIxって名前で作ってみました。
速度は(Perlということを踏まえた上で)まずまず高速です。
ビルトイン配列とほぼ同じインターフェイスで扱えるのが楽です。
アップしましょうか? 私がたまたまこのスレを見たのも何かの縁でしょうからよろしければアプしてください。
ttp://isweb36.infoseek.co.jp/computer/perldev/cgi-bin/upload/upload.cgi >>154 1.5ちゃんねるも遺物になったりして。。(笑 Perl超初心者なんですけど、
ログの処理を一気に配列化して読み込むと負荷が高いと聞いたので、
1件1件処理するようにしたいのですが、
それはどうやればできるのですか?
kentさんはforeach関数で重いらしいんですけど、やっぱりwhileなんですかね? >>163
while使えるところだったらみんな使った方がいいよ。 foreachだとファイルの中身を全部配列に展開するからメモリを食う。 これ日本語かできないよ〜。
read(STDIN, $str, $ENV{"CONTENT_LENGTH"});
@parts = split('&',$str);
foreach(@parts) {
($variable, $value) = split("=");
$value =~ tr/+/ /;
$value =~ s/%([0-9a-fA-F][0-0a-fA-F])/pack("C",hex($1))/eg;
&jcode'convert(*value, 'euc');
$cgi{$variable} = $value; >>168
ハァ?
無理だと思うなら素直にCGI/CGI::Lite/CGI:Minimal/cgi-lib.pl使えよヴォケ >>168
それは日本語化するルーチンじゃなくてハッシュ化するルーチンなわけだが。
それは置いといて間違ってるところは
5:split(/=/, $_);#splitの使い方間違ってます
7:$value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
#[0-0a-fA-F]←0-0では1-9だった場合に変換されません。
9:$CGI{variable} = $value;
ハッシュは大文字にしたほうがわかりやすいです。強制はしませんが。以上。 ハッシュ化じゃなくよーするにデコードだろ。
単純ミスでギャーギャーわめくよりはモジュール使った方がよほどいいと思うがね。
ついでに、splitの第一引数は単なる文字列でも問題なく動くぞ。
まぁ/pattern/の形のほうが良いとは思うが。 >>172
たかがデコードするのにモジュールなんて使っちゃダメだよ。
どうしてもめんどいor出来ないときだけモジュールを使う。
これ処理を早くするための鉄則。 >>173
デコードルーチンが頭に入ってるなら、もちろんそれでも構わないが。
(まぁそこまで解ってるなら普通は自作モジュールだろうが)
だが「ミスを犯すくらいなら」処理を隠してくれるモジュールが得策だと思わないか? 掲示板で、KENT-WEB(http://www.kent-web.com/)の掲示板は書き込んだあとに
ブラウザの更新ボタンを押すと、エラーで帰ってくるのですが、
tacky(http://tackysroom.com/)の掲示板だと、書き込み後リロードボタンを押しても、
エラーにならず二重登録もされていません。どの辺が違うのでしょうか?教えてください。
Locationですか? &errorでエラーサブルーチンの飛ばすんじゃなくて。
Locationにして掲示板に飛ばしてるんじゃないかな?
あっごめん
>>175に書いた。
あと
エラーサブルーチンの×
エラーサブルーチンに○
間違えた。
でPetitの場合は&html_logでそのまま掲示板に飛ばしてましたよ。
動作確認しました。 http://www.imjnews.com/bcp/cgireqbbs2/wwwforum.cgi?id=14&az=thread&number=575
つーかマルチポストうざい。
2/23からの間お前何やってた?少しは努力したか?少しは調べようとしたか?
ひょっとして他の掲示板にマルチポストして回ってたのか?
全然変わってねーじゃねーか。
ふざけんなボケ。
>>176-178
ありがとうございました。
>>179
マルチポストは別に悪いことじゃないと思うよ(藁)。 >マルチポストは別に悪いことじゃないと思うよ(藁)。
何が(藁)だよ。氏ねカス。 モノを教えてもらうのにこんな態度をでかくしていられるのか、人として不思議に思う。 よくわからんが怖くてやさしい人なのね。
マルチポストがいけないのではなく、
恩返しがないことがいけないことなのかも。
サポート受けたらあなたのリンクをクリック必須とかどう?(藁)。 perlで出来た掲示板の表示を早くする方法ってないですか?
ほとんどの掲示板はtableタグでレイアウトを整えてるじゃないですか。
でも、tableタグは<table>から</table>までが読み込まれたときに、画面に表示されるようなことを聞きました。
どうやったら、早くなりますか。 掲示板の検索機能ってありますよね?
あれをトップページから検索できるようにしたいのですが
どのようにすればいいのでしょうか?(スレ違いなら違うところで質問します >186
テーブルを外してみるのがてっとりばやいね。
最近のデザイン主義のBBSじゃ難しいだろうけど。
>188
トップページからCGIを起動すればできるよ。
トップページのフォームから掲示板の検索機能へ直接値を渡してやるの。
CGI側がRefererを規制してるならそのURLだけは加えてやるのことも必要。 >>189
その詳しいやり方が今一わからなくて..。
どこかに参考になるサイトってありますか? HTMLタグとか分かる?
分かるんだったらBBSの過去ログ検索ページのソースを貼り付けるだけでいけるよ。 >>192
それやっても無理でした。エラーが出ました。 KENTWEBじゃないけど、まぁ同じ様なもんです。
なんしか、トップページに掲示板と同じ(掲示板のログを検索できる)
検索窓をつけたいのですが、うまくできませんです。。 >195
だから教えてくれないと何行目をいじるとか教えられへん。
エラーってどんなエラー?
「refererリファラが違います」とか「いたづらはやめてください」とかだろ?
>>196
一度、KENT WEBでやってみたのでその時の話を。
(ちなみにシンプル掲示板です。)
ワード検索のソースを見て
トップページに貼り付けたのですが、検索結果は出なかったんです。
検索のボタンを教えてもトップページに変わるだけで。 >197
トップページに戻る?
<FORM>が間違ってんだろ。 cgiがeucで表示してるhtmlがS-JISなんておちじゃないだろうね? まさか。 >>199-201
201さんのようなオチではないっす。
<FORM>も丸ごとコピペしたんですが、無理でした。
なんか参考になる、又はこの件に関した技が載っている
サイトってないですかね?何か単純なミスをしてるっぽいです。。
(あと、使っている掲示板はKENTのシンプル掲示板で話を
進めていただけたら。。それでもできないので) action="../bbs.cgi"
相対パスがちがうとか
つーかお前なんかに誰も興味ないから
素直に使ってる掲示板かけや 第三者だがいくらなんでも
>つーかお前なんかに誰も興味ないから
>素直に使ってる掲示板かけや
は酷すぎると思うが..。興味なかったら放置しろよ。
久々にマジで酷い煽りを見た。 >>204
それと、君もシンプル掲示板のソースをもっと見た方がよい。
たぶん、そんなに難しくない。 >>206
まぁまぁ。これが2ちゃん。
確かに同じ教えるにしても、煽るにしても、言い方ひとつ。 >>206
たまにもの凄い酷い煽りがあるからね。
単に氏ねとか馬鹿とか逝ってよしとかよりも
なんか”本心”で言われているような煽りって
はたから見てても気分が悪い。 >>206=204 分かり易すぎ。
204が要領得ん書き方だから煽られるんだろ。
何使ってるのかって数回聞かれてるのに無視してるし。アホか。 >>210
凄いですね〜それなら206-209まで全部自作自演ですね〜
2重カキコに引っ掛かるのにね(w
2ちゃんでも保護レスする人いますよ。ていうか、悪い奴ばかりじゃないし。 つーか、206だけど保護レスというか
205の書き方があまりにも酷いと思わないか? >>212
>凄いですね〜それなら206-209まで全部自作自演ですね〜
ハァ?アホか おっと、ID出しておくよ。ジサクジエンになるからね(w >205の書き方があまりにも酷いと思わないか?
何使ってるっていう再三の情報提供要望を無視して
要領得ないアホな質問を繰り返すよりはマシ。 >>217
シンプル掲示板使っているって書いてあるよ。
あ、漏れもジサクジエンになりますか?(w 197 名前:nobodyさん 投稿日:02/03/21 13:00 ID:Evst2w+i
>>196
一度、KENT WEBでやってみたのでその時の話を。
(ちなみにシンプル掲示板です。)
ワード検索のソースを見て
トップページに貼り付けたのですが、検索結果は出なかったんです。
検索のボタンを教えてもトップページに変わるだけで。
198 名前:nobodyさん 投稿日:02/03/21 13:01 ID:Evst2w+i
教えても→押しても
199 名前:nobodyさん 投稿日:02/03/21 13:26 ID:hXbohRxd
だから何をつかってるのよ
205=199だと思うが、すでに197でシンプル掲示板と書いてある。 >>219
教えて君ってのは元来そういう人間なんだよ。
http://www.nn.iij4u.or.jp/~nabe/osietekunn.html 今、このスレは自作自演のヤシが2人でバトルしてます(w >>223
え!?KENTの掲示板の種類(しかも超有名)だけど... 元々レベルの高いスレだったのに糞スレ化したなぁ。panton氏とかは何処行ったんだ。 今思ったんだが、もしかして199はシンプル掲示板が
なんなのか分からない厨房で、だから
どういう掲示板かわからないから再三、種類を教えろと聞いていた。
しかし、200と201はちゃんと答えて返事書いてる。
これってどっちが厨房になるんだろ... >>226
激しく微妙だな...そう思うと、205の煽りがおもしろくなる(w 194 :nobodyさん :02/03/21 12:45 ID:???
何使ってんねん。KENT-WEB?
195 :nobodyさん :02/03/21 12:49 ID:Evst2w+i
KENTWEBじゃないけど、まぁ同じ様なもんです。
なんしか、トップページに掲示板と同じ(掲示板のログを検索できる)
検索窓をつけたいのですが、うまくできませんです。。
KENTWEBじゃないつってるじゃん 結局どっちなのよ。KENT-WEBのシンプル掲示板?
それとも違うのかよ。 >>228
その2レス後にシンプル掲示板って言ってるよ。
KENTWEBって書いてあるし。 197 名前:nobodyさん 投稿日:02/03/21 13:00 ID:Evst2w+i
>>196
一度、KENT WEBでやってみたのでその時の話を。
(ちなみにシンプル掲示板です。) で、知りたいのは今使ってるヤツでのことじゃないの? シンプル掲示板でもできないのに
他の掲示板(たぶん、難しいやつだろう)でもできるか? シンプル掲示板が有名、って言われてもナー
とりあえずスクリプトぐらいうpしろよ。
>>216
KENTのスクリプトを知らないヤシは厨房ですか(w
んなもん使わないし、仮に使ってても名前なんて覚えてねーよ。 思ったんだが、205って煽り方がちょっと変だけど
別に悪意はないんじゃないか?だって
>つーかお前なんかに誰も興味ないから
>素直に使ってる掲示板かけや
興味ないって言ってるのに、使っている掲示板を教えろって
言ってるし。と言うことは教えてあげるつもりだっただろうし.. ていうか、205が正解をいっている(はず)
シンプル掲示板で試したらできたよ。 ASKA BBS
(シンプル掲示板)
- 2番人気 - できねーんなら、トップページに IFRAME で
検索画面を表示させればいーんじゃねぇの なんで俺が攻撃されてるんだ、、面倒だなぁ。
使ってる掲示板の種類を書かないって事は
「もし自分が2ちゃんに書き込みしてるのがバレたらヤダから詳しい事は書かない」
とか考えてるんだと理解し、
誰もお前自身のことなんかに興味はないから
使ってる掲示板の種類書けばもっと適切な助言してやるよさっさと掲示板の名前出せ
といった趣向のことを二、三行で書くと>>205のようになったのです、
と言えば理解して頂けますでしょうか。 >>226
askaとシンプル掲示板だったら、askaという呼び方の方がメジャーだろ。
それをしきりにシンプル掲示板って言ってた 188 が厨房に決まってら。
それも改造したいスクリプトは言わないしな。
つーか、ここは質問スレなのか? 客「ノートパソコンが動かないんだが」
店「了解しました。お使いのパソコンのメーカーと機種をお願いします」
客「それは言えないが、ソニーのVAIOだと思ってくれ」
http://www.pureweb.jp/~suicidal/cgi-bin/petitf/petitf.cgi
暇だから使ってみた(パクリ) Perlをあまり知らない奴でも
掲示板を1から作れるサイトってない?
KENTのAskaBBS程度のものを作るのが目標。 Perlも知らない、検索も知らないんじゃどうしようもないな 検索の仕方は知らないです。イパーイでてくるので。 >>259
データをかきこむ。
de-taをよみこんで、ひょうじする。
最低限。 data という言葉を間違えない程度の知能。最低限。
なんか、目新しいCGIを作りたいんだけど、これってのがない。
そこで疑問に思ったのだが、2chみたいなスレッド形式の掲示板が
ベストなんだろうか? 猫も杓子も2chを真似てスレッド形式掲示板
を設置しているがもっと使いやすい、見やすい形式の掲示板がある
のではないだろうか?
P2Pの掲示板なんてのもあるみたいだが、やっぱ初心者はブラウザ
さえあれば見れるCGI掲示板に群がるだろう。
みんなどう? >>264
あなたにとって使いやすい、見やすい掲示板の表示上のデザインを、htmlで書いてみてくれ
#スレッド形式掲示板は、すべて2chを真似ているわけではないと思う。 ↓こんなスレがあったのね。
http://pc.2ch.net/test/read.cgi/php/995359658/l50
>265
>スレッド形式掲示板は、すべて2chを真似ているわけではないと思う。
真似てってのは、2chが流行ったからみんな避難所ていうか、
二番煎じみたいなサイトを作ってるって意味。
>あなたにとって使いやすい、見やすい掲示板の表示上のデザインを、htmlで書いてみてくれ
具体的には自分でもよく分からないけど、今のところ思い付く不便さは
1、スレッド一覧が見にくい(かちゅつかえばいい?)
2、参照(>>??ってやつ)をたどるときしんどい。
くらいかな。 >>267
どんな内容よ?
素人向け講座なら腐るほどあるだろ。 >>269
どんな感じよ?
要点を説明するか自分で作れ。 カスタマイズしてつくったのですが、どーしても
ログの検索がうまくいきません。
http://www.saiin.net/~ch/sample/
においています。
最新100とか、1−50とか、全部、、とやると、
処理してくれているようですが、なぜかデータがブラウザに出ず、
ダウンロードを指示されてしまいます。
実際にダウンロードし(つまりディスクに保存し)、
その後ブラウザで読み込めばきちんと表示されます。
どーしたらいいのでしょうか?
しろうとなりに工夫してきましたが、どーしてもここでいきづまっています。 gzipでもしてんの?
ちゃんとContent-type吐き出してる? 見たけどこんなのはいてるぞ。
Content-Type: application/x-httpd-cgi >>274
それをはくってのはおかしなことなんですか?
何をはくようにすればいいのでしょうか?
しろうとですみません。 もうね、馬鹿かと、あふぉかと。
Content-Type: text/html
吐けと。 >>276
ありがとうございます。
そこらへんをさがしています。
>>277
探さなくても検索すれば・・・まぁいいか、
(夏がまだ残っている・・ <php?
for($i=0;$i<999;$i++)
{
print("竹之内豊");
}
?> 今度、自分の学校のサイトを作ることになりました。
掲示板も作りたいと思いますが、次のようなことはperlで可能
なのかどうか、教えてください。
1年(6クラス)2年(6クラス)3年(7クラス)合計19クラスあります。
それぞれにまったく同じタイプの掲示板を作成したいのです。
@とりあえず1つの掲示板を作成する。
A19クラスそれぞれにIDを振ってIDが1のときは
1年1組に該当するログを表示する。ような分岐処理をする。
このようなことは可能でしょうか?
参考サイトなどあるとうれしいです。
アドバイスお願いします。
可能です、そんな基本的な質問してつくる気あるの?
スクリプト配布サイト調べてみ。 どうせ作るなら19個掲示板作って、管理だけ一つのCGIで出来るようにした方がらくでない? >>286
?でログファイル名渡した方が楽だす。
19個も作ったらデザインちょっと変更
したい時なんてやってられない〜。 いや、各クラスがデザインを自由に変えられるというのが楽しいかなぁと思ったので。
apeskinみたく、デザインを外部ファイルから取るとか(爆) 今perl勉強中なんですけどperlで作る掲示板について
詳しく説明してあるサイトないですか? ━―━―━―━―━―━―━―━―━[JR山崎駅(^^)]━―━―━―━―━―━―━―━―━― ∧_∧
ピュ.ー ( ^^ ) <これからも僕を応援して下さいね(^^)。
=〔~∪ ̄ ̄〕
= ◎――◎ 山崎渉 2chで板にアクセスが多くなり過ぎて板分割するのって、
スクリプトを増やすってこと? Frameをつけてみた。
http://ideas.paunix.org/testbbs/mldforum.cgi?cgi_mode=FRAME
2chとphpbbsの間の子みたいな感じに。
動作テスト中なので、適当な文字列を投稿して
試してみて下さい。 >>295
すごいかっこいい
でも
おもいとおもった
>>304
朝鮮系はですねぇ、、機能よりも見かけなんだよ。 >>305
朝鮮系にしないでくれ。(;;
infoseekの機械翻訳を使って英語、中国語にも
対応しています。ただ、今のレベルの機械翻訳
精度では、使えるのは日韓くらいですが。
CGI掲示板での、連続投稿負荷の処理能力は、サーバーのCPU性能にも
依るのでしょうか?
自宅のPCでサーバー立てて、掲示板をmethod=getでも投稿できる
ようにして、imgタグにその投稿時URLを埋め込んだものを100くらい
書いたHTML docをローカルにブラウザで読み込ませて100連続投稿
させると、掲示板ログデータが崩れてしまいます。
30程度なら大丈夫なようですが。
それとも、スクリプトが煩雑すぎる(?)の問題でしょうか? ファイルロックが問題なんですね。
さっそくログ書き込みの部分に
flock()を入れてみました。 >>309
そんなテストの仕方がわかるのに、flockを知らないって…
どういう風にperlを学んだんだYO。 こんなのどう?
ログファイルのバックアップ処理。
# 更新間隔
$span = 30 * 24 * 60 * 60;
# 最終変更時間取得
$log_mtime = (stat($log_file))[9];
$backup_mtime = (stat($backup_file))[9];
if ($log_mtime > $backup_mtime + $span) {
open(BACKUP, "$backup_file") || &error("file open error");
# 更新
print BACKUP @logs;
close(BACKUP);
}
書き込み処理らへんに組み込めばそこそこ使えるかな?
時間じゃなくて書き込み件数で更新したほうが良さそう。 Webで公開されてる掲示板スクリプトとか
Perl初心者入門で入った それで簡単な掲示板は作れるようになったけど、
他には何か面白いscriptあるかな。 パスワードというのは掲示板の管理パスワードのこと。
__∧_∧_
|( ^^ )| <寝るぽ(^^)
|\⌒⌒⌒\
\ |⌒⌒⌒~| 山崎渉
~ ̄ ̄ ̄ ̄ ∧_∧ ∧_∧
ピュ.ー ( ・3・) ( ^^ ) <これからも僕たちを応援して下さいね(^^)。
=〔~∪ ̄ ̄ ̄∪ ̄ ̄〕
= ◎――――――◎ 山崎渉&ぼるじょあ 質問なんですが、OTDとかteacupとかの有名どころはどんなCGIで動いてるのかな?
OTDはC言語らしいけど。 (⌒V⌒)
│ ^ ^ │<これからも僕を応援して下さいね(^^)。
⊂| |つ
(_)(_) 山崎パン 掲示板のデータファイルって
何KBくらいまで動作に支障を
きたさずに保存できるの? >>335
どの掲示板のシステムでどんなスペックのサーバの話ですか? >>336
scriptは自作です。
サーバーはDEC Alpha DS10, NetBSD 1.6.1, Memory 3072MB。
2chはスレごとに固有のデータファイル使用してるの?
それで1000投稿くらいは保存できると。 大きいファイルを作ったくらいで動作が不安定になるOSは無いだろうから、
そういうファイルをどう扱うかがポイント。 自鯖に画像を置かずに、リンク経由で画像が表示できる画像掲示板を作りたいのですが、
参考になる掲示板はご存知ありませんか?
入力フォームで画像のURLを添付すれば、掲示板にその画像が表示されるという感じの・・・。
>>344
どこにでもある、書き込み者がURI書くと
<A HREF=・・・ ができるのがあるでしょ?
あれを <IMG SRC=・・・ に変えるだけでできると思うんだが・・・ リンクだけならまあ許せるが、他のとこの画像を引っ張ってきて
表示させるようなBBSは迷惑だからやめろ!怒 >345
そうなんですか。
自分はオリジナルの掲示板が作りたく、これからPerlを勉強してみようと思っているド素人なもので・・・。
たいへんレベルの低い質問をしてしまったようですね。(笑)
すみませんでした。
確かに勝手に直リンっていう状況になるだろうから
マナー的にイクナイ 直リンは著作権的には良いが、imgタグで勝手に人の絵をはっつけるのはNGじゃなかったか? >>349
著作権法上の「複製」には当たらないと思うが、権利の侵害にはなりうるね。
もし著作権法に触れないとしても、民事で訴えられたらかなり不利だと思われる。 Google のイメージ検索とか、どうなるんだろ? あんな大手検索エンジンにケンカ売るアホはいない。
検索で引っかかるってのは広告出してもらってるのと同じなんだから。 まあ、世の中にはどんなアホがいるか分からないから……(笑)。
でも、Google でも一応、イメージをクリックしたら「この画像には著作権が」云々
が出るから、一応、気をつかってるんだよね。
掲示板でも縮小表示してクリックすると引用元に飛ぶってのなら、どうだろ?
やっぱ、マナー違反かな? 画像の「引用」はある程度認められるだろうけど、
直リンクはどうなんだろうね。
引用ってどういうこと?
自分のサーバー・ディレクトリにコピーを置いちゃうってことかな?
考えようによっちゃ、直リンクより問題がありそうな気も……。 >>351
コピー(複製)はしてないし、リンク元の情報を明記してるからセーフ。
>>353
それに加えてリンク元のURLと、権利者が別に存在することを
明記すれば法的にはセーフかな。マナーは知らんが
>>354
著作権法上の「引用」って著作物の部分的なコピーを指すんだが・・・。 知的財産権について無知なのが多いみたいだけど
直リンごときで訴訟持ち出すやつぁいねーよ
親告罪って言葉を調べてみろ
問題なのはマナーだってのになんで法律の話もちだしたがるかな >>357
一番無知なのはお前だな。今まで何件も訴訟起きてるが。
画像じゃないが直リンによる訴訟で一番有名なのが
トータルニュース社事件。
不実表示、不正競争、商標権・著作権侵害で提訴したが、その後
トータルニュース社が直リンを解除する形で和解。 >>358
直リンって言葉は共通してるけどさ…
もう少し上の話から読めないの?
確かに>>357には画像って書いてないけど。
そもそも企業と個人の目的も…いや、いいや >>359
画像の直リンでも訴訟起きてるって。大きな事件にならなかったせいもあって
ソースが出せないから書かなかったけどさ。
画像の方が一般的にクレジット入ってない分ソースが確定しにくいから不実表示や
不正競争では争いやすい。
個人かどうかも関係ないね。上のトータルニュース社も会社形態は取ってるけど、
スタッフ5人、資本金なんてあってないようなママゴト企業だったわけだし。
とにかく、
>直リンごときで訴訟持ち出すやつぁいねーよ
この一文がデタラメであることと、>>357が知的財産権について恐ろしく
無知である事実に変わりはない。 >>360
はいはい、わかったよ、訴訟オタだってことは。
程度とケースによる法解釈はできないわけ?
2ちゃんに直リン貼ったやつを告訴するか?
winnyだのMXだので違法コピーしてるやつを全員告訴するのが現実的?
このスレで語ってる使い方で訴訟にあげられるのが現実的だと思うのか?
しても警告どまりだろ。だからマナーの問題だって書いてんだよ。
俺は恐ろしく無知かもしれないが、お前は恐ろしくなんでもかんでも一括りで解釈しすぎだよ。
ああ、っていうか無知って書いたのが
気にくわなかったのか。
それなら撤回する。
知識だけある人間がいるんだな。
これ以上はスレ違いの話題だし叩かれそうだから消えるよ。
>>360もひとしきり主張して飽きたら長居しないほうがいいぞ。 >>357
ウザイし適当なこと言うな
人の無知を指摘する前に充分に予習しろ
>>360
ウザイし「写真とるだけで訴えるやつはいない」って言っても
「田代まさしは云々」言って無知だとか言うのか
結論として両名ともにウザイので逝って良し >>361
> 直リンごときで訴訟持ち出すやつぁいねーよ
上記の文が間違ってると指摘しただけなんだがな。
訴訟持ち出すヤツなんて沢山いる。
> 2ちゃんに直リン貼ったやつを告訴するか?
今回「直リン」と呼んでるのは、IMGタグ等で直接コンテンツを
貼る行為だったはずだが。知ってて拡大語句解釈して楽しいか?
もし2chでIMGタグが貼れて、著作権のある画像を貼りまくるやつが
現れたらそいつは告訴される可能性は高いね。
> winnyだのMXだので違法コピーしてるやつを全員告訴するのが現実的?
「違法コピーごときで訴訟持ち出すやつぁいねーよ」といわれたら「ウソつけ」と答えるが。
なんでそういちいち拡大解釈するかね。
> ウザイし「写真とるだけで訴えるやつはいない」って言っても
盗撮したら訴えられて当然だと思うが。比喩表現が下手だな。 まあ、掲示板の場合は、
>>353 >>356 に加え、
・画像を貼る場合は元サイトが転載等を禁止していないか、充分ご配慮下さい。
・貼られた画像に問題がある場合は、お知らせ下さい。ただちに削除します。
の注意書きを加えるということで、ファイナル・アンサー? >>364
もういいって。その話は。
これ以上煽り合いしたいんなら>>357と一緒によそ行ってくれ。
どっち側の書きこみも重箱の隅突っつきながら
自分の都合のいい解釈しかしてないんだから見苦しい。 質問。当方if文for文が書けて簡単なアンケートが作れる程度のものです。
掲示板のCGIを、画像を貼れるように改造したいのですが参考になるソースをご教授願いたく。
アップローダーでなく、URL貼り付けでその画像が表示されるようなものです。
具体的に
[img]http://xx.com/image.jpg[/img]
と書いた場合に、<img src="http://xx.com/image.jpg">というタグが挿入されるような。
アドバイスおねがいいたします。。 >>370
じゃ質問変えて
[url]http://yahoo.co.jp[/url]
と書くと
<a href="http://yahoo.co.jp">リンク</a>
というタグが挿入されるような。
同じですけど urlをimgに変えようってつもりだろ?教えないよ。 >>372
いえ、改心してURLのほうにしました。
ぜひ教えてください urlをimgに変えようってつもりだろ?教えないよ。 つか、この程度いろいろ実験するだけでできると思うのだが >>375
[url]~~[/url]の間までを、変数に入れることができればなんとか・・・。
×〜×間を、という指定がわからず。。。 変数なんて言ってる時点でダメダメ。方法はいくらでも載ってる。検索しれ。 リンク問題は製作板に専用スレあるからそっちでやっとくれ。
>371
置換とか正規表現とかその辺りの言葉で検索してきてくれ。
まずはそれからだ。
二次元配列で掲示板の内容の並べ替えをしたいんですが
ソートがうまくいきません
指定した列で並べ替えるソートかけるにはどうしたらよいのでしょうか? PERLスレの方で配列に関しては回答いただきました
掲示板に適用してみまっす ここのIDのようなものはどのように生成しているのでしょうか。
ただ単にIPをcryptやらrandして生成しているのでしょうか? >>382
間違っても>>383のリンクは踏まないように。
こいつがかの有名な本7というやしだ。
関わるとやけどしちゃうぞ。 2chのIDなんか検索すればいくらでも見つけられるよ ログイン方式以外に安全に個人を認証する方式はないものでしょうか クッキーは認証の継続には使えるが
認証そのものに使うわけじゃないだろ? そのものに使おうかと思ってたりします。 やっぱり危険かな… 安全ならどこでも使ってるぐらい想像つくだろう・・・ そう言われればそうですね(汗
やはりログインしかないかぁ ユーザIDとパスワードを入力させて、セッションIDを
Cookieに保存するのが普通。当然、セッションクッキーとして扱う。
これでもセッションハイジャックの危険性は残る。
詳しくはぐぐればそれなりに解説サイトが見つかるはず。
って、「Perlで掲示板を作ろう」ってこのスレでなぜ? >>398
レスありがとうございます
一応perlで掲示板を制作していたものでしてここでいいのかなぁと思い書き込んだ次第です。 半角カタカナを使えるようにしたいんですがどうしたらいいですか? >>402
スレ違いだろうなぁ〜
こんな死んでるスレで質問したって…
と、マジレスしてみる。 >>402
出力HTMLのcharsetをShift_JISかEUC-JPかUnicode(UTF-8, UTF-16)か
にすりゃあ、余計なことしなけれりゃいわゆる半角カナは使えるが。 2chのIDはcryptで作ってるらしいというのはわかりました。
でもcryptって8文字までですよね? IPは12文字ですがどうやってすべてを
パスワードに反映させるんでしょうか。
まさか3回クリプト? >>405
ぐぐれよ
そんなソースはいくらでも見つかるから open(UNKO, ">unko.log")or die("鹿クが見つかりません。"); perlやCGIに関する知識がゼロの人間が掲示板を作るにあたって
お勧めの本とか何かありませんか?
あまり飛び道具的な知識とかは不要で分かりやすいのがいいのですけど、、 >>411
とほほのperl入門
http://tohoho.wakusei.ne.jp/wwwperl.htm
掲示板と言えども基礎は覚えとかないと出来ないし、
ある程度関数も知ってないと出来ないと思うよ。 ありがとう御座います、とほほのperl入門よんでみます。 ぐぐってもコーティングスレで聞いてもわからないし、出来ないのですが
そういう場合はどうしたらいいのでしょうか?
ちなみに、書き込みページ数を制御する方法です。
(10件たまったら次のページへいくとか) >>414
おれは、ここを参考にしたよ。↓。よっかたらどーぞ。
ttp://village.infoweb.ne.jp/~fwnd7095/perl/chapter03.htm ・・質問です・・
私の環境ではサーバで、cgi-bin以下でしかcgiが置けません。
ブラウザで見るときのパブリックディレクトリはhomeのインデックスです。
user/
歪gi-bin/
鷲oge.cgi
鷲ome/
亙ndex.html
鷲oge.html
この環境で、画像リンクなどではなく、
直接hoge.cgiをロードすることは出来ますでしょうか?
≧≦ こうすると、めのSITAに熊画DEきるんですよ。知ってる人もいますが。 2ちゃんねるプラウザの形をした
掲示板のスクリプトを作って下さい
おねがいします >>424
フレームで上下に分けれじゃいいじゃん。
ってか昔2chってそんなスタイルじゃなかった? perlに詳しい皆さんに質問です。
実は私の管理しているバイト先の掲示板(perl)で荒らしが一人来まして、
特定の人の中傷などを繰り返しているのです。
その掲示板はバイトの連中しかアドレスを知らないので内部犯行間違いなしなのです。
んで、何とか投稿している携帯の機種だけでも分かれば犯人が特定できると思い、
方法はないかと質問させていただきました。
ちなみに私の借りている掲示板にはブラウザ名を表示するような機能はないのですが
そういった機能がある掲示板も見かけますのでなんとか改造したりできれば…とおもってます。
Yahoo!などに見られるサインアップCGIって、ないもんですか? panton氏が作ってたソース、どこいっちゃったんでしょう? ↓のようにCGIテストはうまくいくのですが、
http://umikaze.mydns.to/test.cgi
KENTさんのCGIとか普通のCGIが開けません。
アクセス権の問題だと思うのですが、どのように設定すれば
よいのでしょうか?参考になるページやアドバイスなど
よろしくお願いします。 431ですがOSはwin XP professional使っています。 携帯用掲示板サイト作りたいヤシはここがいいぞ。タグが使えないけど初心者にはかなりおすすめ!!携帯からでも作れる。
http://www.xtend.co.jp/xaffregst.cgi?sid=X00664 スレッドフロート掲示板の改造を作成しようと考えてる者です。
同じ結果を出すにも幾通りものやり方が考えられて迷ってしまう。
ただ単にメインのスレッド表示の部分をきちんとセルで区画整理したい
だけなのだが
スレッドタイトルの出力にセルのタグをいっしょに乗っけていくのか
それともファイルの下地にタグを書いといてマッチングさせてハメこんでいけばいいか。
どちらにせよ<tr>を工夫して入れていけなければいけない。
五つ目のスレッドごとに</tr><tr>はさもうと思っていますが
どちらのほうがベターなのだろうか。
前者だとループカウントで五で割れる数で入れていくか
後者だと最初から<tr>入れておけるやり方でいいと思うのですが。
まあ、他にも多種多様なやり方が考えられるのだろうけども。
意見を聞いてるだけだろ。
偉そうなこといってんじゃねえよ。
てめえに聞いてねえし。
しっかし、常時張りついてやがんだな。
レス投げてから五分も経ってねえぞ。
>436
おまえ人間スクリプトか?
ソース書いてるより
張りついてる時間のほうがあるんじゃねえのか?
レスねえなあ(w
結局ループカウンタ(i%5){
でやってうまくいったわ。
つうかよ、ベターなやり方がわからなくても
先ずは手をつけろだな。 マルチスレッドの掲示板を作ろうとたくらみましたが、レス記事の処理に困る。
通常の掲示板だったら、ログに普通のデータを保存していけばよかったんですが、レス記事も管理しないといけないとなると、別途ファイルが必要となります(一つのファイルでやるというのも手ですが)。
ファイルを分離するとなると、記事削除などのもろもろの処理が大変そうなんですが、どうなんでしょ?
考えてるのは
./bbs.log
記事番号<>投稿者名<>投稿日時・・・
./bbs_r.log
親記事番号(上での記事番号と一致させる)<>投稿者<>・・・
親記事を削除したときの子記事をどうするか、それが問題です。
放置しても問題無さそうですが・・・出来るだけ綺麗に処理したいので。
アドバイスがあればお願いします。 >>441
記事削除の処理はそれほど難しくないと思いますよ。bbs_r.logを走査して、該当する親記事番号を持っている行を削除すればいいだけですから。。。
処理をキレイに・・・というのがちょっとよくわかりませんが、親記事のないレスを残しておいても容量を食うだけですので、削除しちゃったほうがいいと思います。。 親記事と子記事をそれぞれ1ファイルにするメリットがよくわかんないんだけど。普通は下記パターンに必要ならインデックス系のファイルを追加するくらいじゃないの?
1投稿/1ファイル
1スレッド/1ファイル
全部/1ファイル
ファイル構造も↓で統一すればいいのでは?
記事番号<>親記事番号<>投稿者名<>投稿日時・・・
2ch型フローなら記事番号は必要ないかもね。記事に返信するわけではなく、スレッドに返信するわけだから。記事単位で表示とか削除するなら必要だけど。 open FH, "+<log.txt";
print "Content-Type: text/html\n\n", <FH>, $_="$ENV{QUERY_STRING}<hr>";
print FH if $_ ne '<hr>';
close FH; 掘り起こしします。。
習作でperlで認証制掲示板を作っています。
懸案の一つに、「各種ログ.datを直接見られないようにするためにどうすべきか」というのがあるんですが、
対処方法としてはどういうものが考えられるんでしょうか?
なるべく多くのwebスペースで動くスクリプトにしたいと思っているので、.htaccessは使わない方向で考えています。
とりあえず
・データ保存フォルダの権限をきちんと設定すること
・データ保存フォルダの名前をスクリプト内の変数に設定できるようにして、設置者に任意の名前のフォルダを作ってもらう
という二点を考えたのですが、これ以外にどういうことが考えられるでしょうか。
また、私の知識ではデータ保存フォルダの名前が分からない限りアクセス方法が無いと思うのですが、
上記の対応をしても見られてしまうものなのでしょうか?
ご教授お願いします。。 似たような考え方をしているものを知っているけど、クラックされたことがある。
それはファイル一覧がネットから丸見えになった瞬間があったらしいけど。 このどっちかを満たせれば十分でしょ。
HTTPでアクセスできないディレクトリに置く。
拡張子をcgiにして、CGIディレクトリに置く。 >>446
見られてヤバいモノをdocument_rootに置くなよと。
まあ、大企業が次々とそういうポカミスをやっちまうくらいだから仕方ないのかも知れんが。 質問なんですけど
jcode.plってActivePerlでも問題なく動きますか?? ありがとうございます
解決しました。(・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・デコードしてませんでした・・・ ttp://s3p.net/~channel2/webpro/marunage/joyful/img/271.zip
投げてやる!
煮るなり焼くなり好きに汁! 止まっているスレに投稿するのは気がひけるんですけど質問です。
DesignBBS(tp://www.pris.jp/moon-web/)にCGI ROOMのワードチェックを
取り付けているのですが、特定の文字列を投稿すると設定しているNGワード
がないにも関わらず引っかかってしまいます。
これはどうしてなんでしょうか。
また解決方法がありましたら教えてください。
ワードチェックCGI内で指定している内容は以下の通り。
・ローマ数字1〜4まで大小
・半角カタカナ全部
・´`ωд∇∀゚
・スタイルシート使用不可にするため style=
(フォント装飾タグは認める設定なので、スタイルシートだけを禁止させられなかった(^^;←知識不足です
ごめん、ミス(;;)
自分なりに原因ぽいものを思いついて投稿しようとしていたんですが
もうちょい考えようと・・・消したのはいいが投稿ボタンをおしちゃいました 原因わかりました。
>>455
>・半角カタカナ全部
こいつが原因でした。
どのカタカナかは追求しませんでした(>>456のほかにも引っかかることがあるので)
どういう風にすれば半角カタカナを投稿できないようにできるでしょうか。
どこかの掲示板スクリプトにあったような気がしますが・・・ やってみたいけど、テンプレのサンプルとかリンク先消えててかなしい……。 中学生向けの掲示板を運営しているものですが、
中学生にとって教育上よろしくない言葉はスパム制限をかけて、
書き込みできなくしてあります。
しかし、中学生がキーボードの乱発打による書き込みには
制限をかける方法を見つけられていません。
このような場合は、書き込み規制をかける方法を
ご存じの方いらっしゃいましたら、教えて下さい。 言葉に絶対にならない物(略などには注意)や、
文字数制限をしてみてはどうですか? >>463
> 言葉に絶対にならない物
そんなのを判定する軽いアルゴリズムがあったら教えて欲しい。 サイトを転々としながらPerlを学んでるんですが、構成が頭で作れても
それを文にすることができない。。
たとえば、掲示板の二重投稿制限はIP抜き取って二回目の投稿でIPが一致したら
24時間投稿を制限させる など。「こんな感じかなー」
と、頭では分かっているのに書けない。。
こんな俺に合いそうな書籍やらサイトやらありませんかね?
是非紹介して欲しいです。。 >>465
ヒント:IPアドレス保持 条件判定 規制
アルゴリズム勉強したほうがいいと思うけど、書籍とかはーオライリーが高いけどいいかな
>>465
頭でわかって書くことができないのは練習が足りないだけ。
とにかくまず書いてみる。書いたものが自分の期待通りの動きか確認する。
たぶんバグっているので書き直す、の繰り返し。
本を読むだけでは絶対にかけるようにはならないので何でもいいから作ってみ。 画像アップ可能な掲示板プログラムを、PDFもアップ可能に改造したいのですが、
難しいのでしょうか? メール送信フォームで前回送ったアドレスとか名前とかを、メール送信フォームに戻った時に残ってる様にするにはどうすりゃいいかな?
<html><head><title>掲示板</title><body><p>うんこちんこまんこ</p></head></body> ∧_∧
( ・∀・) | | ガガッ
と ) | |
Y /ノ .人
/ ) .人 < >_∧∩
_/し' < >_∧∩`Д´)/
(_フ彡 V`Д´)/ / ←>>329
/ ←>>293 誰でも簡単にネットで稼げる方法など
参考までに、
⇒ 『半藤のブブイウイウレレ』 というサイトで見ることができます。
グーグル検索⇒『半藤のブブイウイウレレ』
D07AXWOOYT ☆ 日本の、改憲を行いましょう。現在、衆議員と参議院の
両院で、改憲議員が3分の2を超えております。
『憲法改正国民投票法』、でググってみてください。国会の発議は
すでに可能です。平和は勝ち取るものです。お願い致します。☆☆ プログラミングを誰でも習得できる方法は、「前場アキドルのプログラミングマスター方法」というブログで見られるらしいよ。ネットで調べると見られるらしいです。
8AOP7