一括表示

− 野ざらし言 −

[4583] Web Forum のログから最新コメント削除

めざら 2021/09/20(Mon) 22:38
http://mezala.la.coocan.jp/
この掲示板は,としき氏のスパム避け改造が施してあって,スパムの書込みはほとんどありません。
先日,久々にスパムが書き込まれたので,ログをダウンロードして書き直し,再アップしました。

掲示板の基本機能に指定発言を削除する機能があるのに,どうしてわざわざそんなことするのか?
何故って,単に削除するだけでは番号が飛んでしまうからなんです。そういう痕跡もイヤ。
なので,1発言削除したうえで次の新規発言番号を戻して,書込みがなかったことにするわけです。

= del1spam = by H_ear
#if 0
Web Forumのログから最新発言を削除
#endif
* mad for vz!
1 ^\ "" ?.
        #^ #< &n (r<1)?.                ;削除する発言番号
        a=d=r, &s
        mp[=2, ps[=pa, RX[-, mb-,
        #F &?("\x ^%d<>",d) #m
        #c
        (r==-1)?{ &m("削除対象発言がありません") >z }
        #b #> #> #d #y #^ #<
 :l     ; ---- 次に新しい発言を探す ----
        #F &?("\x ^%d<>",a--) #m
        #c
        (r==-1)?{
                (a<2)?{ &m("次の番号がありません") >z }
                >l
        }
        #> #>
        (6){ &> }
        #b (-1){ #s (cd=='>')?{#d} } #G ;paにIPアドレスを取得
        #s #s ps=pr,
        #b (-1){ #s (cd=='>')?{#d} } #G ;prにUNIX時間を取得
        #^ #< #l
        &?("%d<>%s<>%s<>",a,pa,pr)
        #< &m("正常終了")

 :z     ; ---- exit ----
        RX], ps], mp],
        &d #] .
00:     #s (cd!='<')?>^
*
[Variables]
        d       削除する発言の番号
        a       前の発言番号
[Buffers]
        pa      番号検索とIPアドレス取得
        pr      UNIX時間を取得
[History]
2006/05/21 0.10 1st ver.
[Notes]
工夫した点は特になし。面倒だからできればいいのさ。

あ,もちろん,スパム投下の直後でないと使えませんので。
あと,発言番号が16ビットに収まってないとダメって気づいた。
まぁ,当面は問題にはならないから,対応は後でいいや。

[4585] Re: Web Forum のログから最新コメント削除

としき 2021/09/23(Thu) 23:31
[4583]へのコメント http://toshiki.la.coocan.jp
> = del1spam = by H_ear

すごいですね、このマクロ。
最初の行、日時の欄まで書き戻すのですか。
私もスパムにはめったに書き込まれていないので番号戻しは手作業ですがね。
日時のほうはそのまんま。

やるなぁ。

[4587] Re^2: Web Forum のログから最新コメント削除

めざら 2021/09/24(Fri) 07:56
[4585]へのコメント http://mezala.la.coocan.jp/
UNIX時間を「取得」なんてありますが,「文字列」です。お恥ずかしい限り。

もはや,スパムどころか発言自体がまれなので,発言があった段階でログを保存しておいて,スパムがあったらそのログをアップロードするという対応をしてきたので,ずいぶん長いこと使っていなかったのですが,先日たまたま保存タイミングがずれたので実行する機会が訪れたというのが本当のところです。

UNIX時間,そのままで支障はないですか?
次の発言で上書きされるから,問題ないのかな。無駄だった?

[4588] Re^3: Web Forum のログから最新コメント削除

としき 2021/09/25(Sat) 00:00
[4587]へのコメント http://toshiki.la.coocan.jp
> UNIX時間,そのままで支障はないですか?

私もコードを全て追いかけたわけではないのですけど。
今のところ、問題は顕在化していません。
ただ、このwforumってスクリプト、改造の素材というか、ある意味で不必要とすら思えるような機能がてんこ盛りですよね。例えば、発言一覧の下部、メッセージ投稿欄の直上、ページ前後のボタンとリンクと両方あるけど、どちらかだけで掲示板としては十分機能します。これは、私からしたら、こういうこともできるんだぞ、というサンプル的なものに見えるのですよ。
というところから敷衍して。
もしかしたらログ冒頭のUNIX時間も、そういった何かに使えるように残してあるだけではないだろうか、という気もしています。

[4590] Re: Web Forum のログから最新コメント削除

konno 2021/09/26(Sun) 00:17
[4583]へのコメント
めざらさん、こちらではお久です。

> 掲示板の基本機能に指定発言を削除する機能があるのに,どうしてわざわざそんなことするのか?
> 何故って,単に削除するだけでは番号が飛んでしまうからなんです。そういう痕跡もイヤ。
> なので,1発言削除したうえで次の新規発言番号を戻して,書込みがなかったことにするわけです。
> 
> = del1spam = by H_ear
> #if 0
> Web Forumのログから最新発言を削除

これはありがたい、参考になります。m(__)m

私は掲示板の管理画面からの削除機能を改造して、同じような動作にしています。
ただし

>   ;paにIPアドレスを取得
>   ;prにUNIX時間を取得

この辺の処理は分からないので、手を付けずにそのままにしています。
上書きすれば問題ないかな、という考えです。
削除前にレスが付くと、番号が飛びます。

今となってはどこをどうしたかも分からないのですが、
いつか弄る時はこのマクロを参考にさせてもらいます。m(__)m

[4591] Re^2: Web Forum のログから最新コメント削除

めざら 2021/09/28(Tue) 21:55
[4590]へのコメント http://mezala.la.coocan.jp/
> 私は掲示板の管理画面からの削除機能を改造して、同じような動作にしています。

え〜,そういうの教えてくださいよ。
掲示板の機能でできるに越したことはないですからね。当該マクロは,Web Forum は削除した番号が飛んでしまうので,仕方なくマクロで対応しているわけですから……

> いつか弄る時はこのマクロを参考にさせてもらいます。m(__)m

いやいや,ご参考にもなりませんですよ。
としきさんも,ログ冒頭の UNIX TIME は無視しているみたいですから。

[4592] Re^3: Web Forum のログから最新コメント削除

konno 2021/09/30(Thu) 00:46
[4591]へのコメント
> え〜,そういうの教えてくださいよ。
> 掲示板の機能でできるに越したことはないですからね。当該マクロは,Web Forum は削除した番号が飛んでしまうので,仕方なくマクロで対応しているわけですから……

LOGが壊れる可能性もあるので、削除前には、LOGをバックアップしますよね。
だから、手間はそんなに変わらないかと思ったのですが。(^^;

> としきさんも,ログ冒頭の UNIX TIME は無視しているみたいですから。

そういうことなら、ちょっとソースを見てみます。
バージョンが違うので参考になるかわかりませんが。

ここにソースを上げてもいいですよね。

[4593] Re^4: Web Forum のログから最新コメント削除

めざら 2021/09/30(Thu) 09:52
[4592]へのコメント http://mezala.la.coocan.jp/
> LOGが壊れる可能性もあるので、削除前には、LOGをバックアップしますよね。

あ〜,そう言えばそうですね.
確かに手間は変わらないです.
ですが,どこをどういじればという参考にさせていただきたいので,該当部分の変更箇所・手順を教えてもらっていいですか?
よろしくお願いします.

バージョンって,違ってましたっけ….うわ,現時点は 8.0 か……
改造後に上がったら,対応が面倒でそのままだったかも,…が継続.

今はスマートフォン対応だから画像も扱えるのですね.ふむ.

[4594] Re^5: Web Forum のログから最新コメント削除

konno 2021/10/01(Fri) 01:35
[4593]へのコメント
> バージョンって,違ってましたっけ….うわ,現時点は 8.0 か……

げげ、もうそんなに上がってるんですか。
私のは一番古いと思います。

  Web Forum v4.5 <wf_admin.cgi>

> 今はスマートフォン対応だから画像も扱えるのですね.ふむ.

この機能は欲しいかも。
でも今更一から改造し直すのは無理ですね。(^^;


一応私の改造部分を抜き出せたので、参考になるかわかりませんが


51行目

	open(IN,"$logfile") || &error("Open Error: $logfile");
	$top = <IN>;
# 以下 3行追加
	$topn = $top;
	if ($topn =~ /</) {$topn = $`;}
		print "$top  $top2  $top1 
\n";
	while (<IN>) {


57行目

#		if ($lx) { $sp="&nbsp;&nbsp;&nbsp;" x $lx; } else { $sp=""; }
		if ($lx) { $sp="&nbsp;&nbsp;" x $lx; } else { $sp=""; }

60行目

		$msg =~ s/>/&gt;/g;
		$ll = 100 - $lx * 2;
#		if (length($msg) > 60) { $msg = substr($msg,0,58); $msg .= '..'; }
		if (length($msg) > $ll && $lx > 0) { $msg = substr($msg,0,$ll); $msg .= '..'; }

67行目

#		print "- <B>$nam</B> $dat 【$hos】$url $wr \n";
		print "- <B>$nam</B> $dat 【$hos】\n";
#		print "<dd>$sp<span style='font-size:11px;color:$no_color;'>$msg</span>\n";
		print "<dd>$sp<span style='font-size:10px;color:$no_color;'>$msg</span>\n";


253行目

	open(IN,"$logfile") || &error("Open Error: $logfile");
	$top = <IN>;
# 以下 5行追加
	$topn = $top;
	$top1 = 1;
	if ($topn =~ /</) {$topn = $`;}
	$top = substr($top,length($topn));
	$top2 = $topn ;
	while (<IN>) {


261行目

		foreach $del ( split(/\0/, $in{'no'}) ) {
			if ($del == $no || $del == $oya) {
# 1行追加
			if ($del == $topn && $del == $oya) {$topn--;}
				$flag=1;
				last;
			}
# 1行追加
		if ($top1 < $no && $no <= $topn) {$top1 = $no;}
		}


271行目

	# ログを更新
# 以下 3行追加
	$top2 = $topn;
	if ($top1 < $topn ) {$topn = $top1;}
	$top = $topn . $top;
	unshift(@new,$top);

[4595] Re^6: Web Forum のログから最新コメント削除

めざら 2021/10/03(Sun) 18:50
[4594]へのコメント http://mezala.la.coocan.jp/
ありがとうございます。

いやー,随分久々に admin.cgi を眺めましたが,もう一切いじれなくなっていますね。しばらく前は,職場で仕事用の掲示板を少し改造してみせたりして,それなりにヤレると思っていましたが,もうダメです。絶対ムリ。

元々付け焼き刃だったし,「改造」と言ってもちょっと出力を変えてみたりというような「ナンチャッテ改造」くらいしかやってないから,十年経ってるとチンプンカンプンであります。

教えていただいておいて申し訳ないですが,Perl は撤退ですね。
老後……てゆうか既に老後……に手が空いたら何か作ろうと思っていたのですが,Python なんかも手を出せないだろうなー。。。(涙)

[4598] Re^7: Web Forum のログから最新コメント削除

konno 2021/10/06(Wed) 01:04
[4595]へのコメント
> いやー,随分久々に admin.cgi を眺めましたが,もう一切いじれなくなっていますね。しばらく前は,職場で仕事用の掲示板を少し改造してみせたりして,それなりにヤレると思っていましたが,もうダメです。絶対ムリ。

私も同じようなものです。
変更箇所は、テキストの比較マクロで機械的に抜き出したので、中身は読めません。

> 教えていただいておいて申し訳ないですが,Perl は撤退ですね。
> 老後……てゆうか既に老後……に手が空いたら何か作ろうと思っていたのですが,Python なんかも手を出せないだろうなー。。。(涙)

これも同様ですね。(^^;
老後の趣味と思っていたら、既に頭が全く働かないです。(;_;)

でもリハビリを頑張れば、多少は回復するかも。(^^;

[4597] Re^6: Web Forum のログから最新コメント削除

としき 2021/10/04(Mon) 19:17
[4594]へのコメント http://toshiki.la.coocan.jp
konnoさん、perlなんかわからないフリをして、まだまだ十分現役じゃありませんか。

> > バージョンって,違ってましたっけ….うわ,現時点は 8.0 か……
> げげ、もうそんなに上がってるんですか。
> 私のは一番古いと思います。

みなさん、いろいろと改造しているとは思います。
私の場合、wforum.cgiのタイムスタンプは今年の3月。
それの一つ前のバックアップは去年の10月。
ところがなんと、wf_admin.cgiのタイムスタンプは2006年2月。
我ながらびっくり。

> 一応私の改造部分を抜き出せたので、参考になるかわかりませんが

私も、全部きちんと追いかけていないのでアレなんですが、ちょっと気がついたところで、今回のツリーの話題とは違う改造の件が混ざっていませんか?
例えば、

> 57行目

こことか

> 67行目

こことか。

[4599] Re^7: Web Forum のログから最新コメント削除

konno 2021/10/06(Wed) 01:05
[4597]へのコメント
> konnoさん、perlなんかわからないフリをして、まだまだ十分現役じゃありませんか。

いやあ、分からないまま弄ってるんですよ。(それが一番危ない)

> 私の場合、wforum.cgiのタイムスタンプは今年の3月。
> それの一つ前のバックアップは去年の10月。
> ところがなんと、wf_admin.cgiのタイムスタンプは2006年2月。

オリジナルが変っていないということでしょうかね。

> 私も、全部きちんと追いかけていないのでアレなんですが、ちょっと気がついたところで、今回のツリーの話題とは違う改造の件が混ざっていませんか?
> > 57行目
> こことか
>
> > 67行目
> こことか。

うう、見てみましたが、全くわかりません。(>_<)
さすがとしきさんですね。

↑ このページの先頭