>>>>>CGI改造工房<<<<<

このエントリーをはてなブックマークに追加
1鍛冶屋のスミス
「こういうふうにCGIを改造したいけどやりかたわかんないよー」
という人がいましたらここで聞いてください。
ひょっとしたらアドバイス出来るかもしれません。

なお、質問するときは
1)そのCGIのある場所(url必須!!!)
2)どんな風に改造して欲しいのか?
(具体的にわかりやすく書く。HTMLで完成後のデザインを書いて指定してくれればなお良し)
を必ず明記しよう。
2名無しさん:2000/05/16(火) 17:23
こういうのが欲しい、ってのはダメですか?
3>:2000/05/16(火) 20:14
4名無しさん:2000/05/17(水) 12:23
http://psyco226.ug.to
ここのトップの一番下にあるShort Messageっていうスクリプト、
結構面白いと思わない?
足跡残すのに、掲示板を使う程じゃないって思ってる人には親切。

あとは・・・街の灯の、ニュースに訪問者のレス付けられる奴とか。
5名無しさん:2000/05/17(水) 13:17
>4
リンク先の奴ならかなり簡単に出来そう。
htmlを出力するbbsに少し手を加えれば良いだけ。
街の灯のはどんなのか知らない。
6名無しさん:2000/05/17(水) 23:28
バナーも貼れる自動登録型の検索エンジンって無いですか?
「KENT」のHPで公開されている検索エンジンに
バナーも貼れるような機能を持たせたものです。
7名無しさん:2000/05/18(木) 05:05
http://www2.famille.ne.jp/~kuwa/perl/kmsg.html

これ、自由度が高いけど書きこみ出来ないエラーが多発してるんですが、
製作者さんが忙しいのか、直らずで・・・。
原因とか、分かったら教えてください。
と言う質問は図々しすぎ?
8名無しさん:2000/05/18(木) 06:22
ざっとみた感じ、ファイルロック関係のよーな気がする。
9>5:2000/05/19(金) 06:05
http://plaza.harmonix.ne.jp/~thm/linksyu/

これのことでしょう。多分。Petit boardを参考にしたようです。
ところで、自分はPerlの技術がないので
4さんの挙げた二つ、汎用版を見てみたいです。
僕も期待します。
10名無しさん:2000/05/19(金) 21:40
あげ
11>6 (その1):2000/05/20(土) 19:33
6> 「KENT」のHPで公開されている検索エンジンに
6> バナーも貼れるような機能を持たせたものです。

というわけで、その COSMO NAVI v1.3 にバナーを追加。
下の凡例はオリジナル1行目の「#!/usr/local/bin/perl」を「#!/usr/local/perl」に書き換えるという意味。

┏1━━━━━
#!/usr/local/bin/perl

#!/usr/local/perl
┗━━━━━

上から変えていくと行番号を見失うので下から作業しましょう。
全部で32箇所。では、行ってみよう。

-----------------------------------------------------------

┏154━━━━━
#============#
# 設定完了 #
#============#

# バナーのサイズ最大幅を制限します。
$bn_w_mx = 400;

# バナーのサイズの最大高さを制限します。
$bn_h_mx = 150;


#============#
# 設定完了 #
#============#
┗━━━━━

┏186━━━━━
($no@`$pt@`$sub@`$hp@`$name@`$email@`$pw@`$msg@`$date@`$t)

($no@`$pt@`$sub@`$hp@`$name@`$email@`$pw@`$msg@`$date@`$t@`$bnr@`$bn_w@`$bn_h)
┗━━━━━

┏282━━━━━
<LI>パスワードは今後のメンテナンスに必要なので必ず記入してください。

<LI>パスワードは今後のメンテナンスに必要なので必ず記入してください。
<LI>バナーをお持ちの場合、URLとサイズを記入してください。
<LI>バナーのサイズは幅$bn_w_mx×高さ$bn_h_mx以内とさせていただきます。
┗━━━━━

┏293━━━━━
<tr><td><b>URL</b></td><td><input type=text name=url size=60 value="http://"></td></tr>
<tr><td><b>パスワード</b></td><td><input type=password name=pwd size=8 maxlength=8>

<tr><td><b>URL</b></td><td><input type=text name=url size=60 value="http://"></td></tr>
<tr><td><b>バナーのURL</b></td><td><input type=text name=bnr size=60 value="http://"></td></tr>
<tr><td> </td><td> 幅<input type=text name=bn_w size=5 value="88">ピクセル
 高さ<input type=text name=bn_h size=5 value="31">ピクセル</td></tr>
<tr><td><b>パスワード</b></td><td><input type=password name=pwd size=8 maxlength=8>
┗━━━━━

┏348━━━━━
if ($msg eq '') { &error("紹介コメントの入力がありません。"@`"no"); }

if ($msg eq '') { &error("紹介コメントの入力がありません。"@`"no"); }
if ($bnr ne '' && $bn_w > $bn_w_mx) { &error("バナーの幅が制限($bn_w_mx)を越えています。"@`"no"); }
if ($bnr ne '' && $bn_h > $bn_h_mx) { &error("バナーの高さが制限($bn_h_mx)を越えています。"@`"no"); }
┗━━━━━
12>6 (その2):2000/05/20(土) 19:34
┏367━━━━━
local($no@`$part@`$sub@`$hp@`$name@`$email@`$pw@`$msg@`$date@`$t)

local($no@`$part@`$sub@`$hp@`$name@`$email@`$pw@`$msg@`$date@`$t@`$bnr@`$bn_w@`$bn_h)
┗━━━━━

┏396━━━━━
print OUT "$topno<>$part<>$sub<>$url<>$name<>$email<>$encode_pwd<>$msg<>$date<>$times<>0<>0<>$host<>\n";

print OUT "$topno<>$part<>$sub<>$url<>$name<>$email<>$encode_pwd<>$msg<>$date<>$times<>$bnr<>$bn_w<>$bn_h<>0<>0<>$host<>\n";
┗━━━━━

┏428━━━━━
print "<tr><td>紹介文</td><td>:</td><td>$msg</td></tr>\n";
print "</table>\n";

print "<tr><td>紹介文</td><td>:</td><td>$msg</td></tr>\n";
if ($bnr) {print "<tr><td></td><td>:</td><td><IMG src=http://$bnr width=$bn_w height=$bn_h></td></tr>\n"; }
print "</table>\n";
┗━━━━━

┏443━━━━━
($no@`$part@`$sub@`$hp@`$name@`$email@`$pw@`$msg@`$date@`$t)

($no@`$part@`$sub@`$hp@`$name@`$email@`$pw@`$msg@`$date@`$t@`$bnr@`$bn_w@`$bn_h)
┗━━━━━

┏509━━━━━
if ($msg eq '') { &error("紹介コメントの入力がありません。"@`"lock"); }

if ($msg eq '') { &error("紹介コメントの入力がありません。"@`"lock"); }
if ($bnr ne '' && $bn_w > $bn_w_mx) { &error("バナーの幅が制限($bn_w_mx)を越えています。"@`"no"); }
if ($bnr ne '' && $bn_h > $bn_h_mx) { &error("バナーの高さが制限($bn_h_mx)を越えています。"@`"no"); }
┗━━━━━

┏522━━━━━
($no@`$pt@`$sb@`$hp@`$na@`$em@`$pw@`$ms@`$dt@`$ts@`$rec@`$cnt@`$ho)

($no@`$pt@`$sb@`$hp@`$na@`$em@`$pw@`$ms@`$dt@`$ts@`$bnr@`$bn_w@`$bn_h@`$rec@`$cnt@`$ho)
┗━━━━━

┏533━━━━━
print OUT "$no<>$part<>$sub<>$url<>$name<>$email<>$pw<>$msg<>$dt<>$ts<>$rec<>$cnt<>$ho<>\n";

print OUT "$no<>$part<>$sub<>$url<>$name<>$email<>$pw<>$msg<>$dt<>$ts<>$bnr<>$bn_w<>$bn_h<>$rec<>$cnt<>$ho<>\n";
┗━━━━━

┏570━━━━━
($no@`$pt@`$sb@`$hp@`$na@`$em@`$pw@`$ms@`$dt@`$ts@`$rec@`$cnt@`$ho)

($no@`$pt@`$sb@`$hp@`$na@`$em@`$pw@`$ms@`$dt@`$ts@`$bnr@`$bn_w@`$bn_h@`$rec@`$cnt@`$ho)
┗━━━━━

┏606━━━━━
($no@`$part@`$sub@`$hp@`$name@`$email@`$pw@`$msg@`$date@`$ts@`$rec@`$count)

($no@`$part@`$sub@`$hp@`$name@`$email@`$pw@`$msg@`$date@`$ts@`$bnr@`$bn_w@`$bn_h@`$rec@`$count)
┗━━━━━
13>6 (その3):2000/05/20(土) 19:35
┏658━━━━━
<tr><td colspan=2><hr size=2></td></tr>
<tr>
<td><b>分 類</b></td>

<tr><td colspan=2><hr size=2></td></tr>
<tr>
<td><b>バナーのURL</b></td>
<td><input type=text name=bnr size=60 value="http://$bnr"><BR>
  幅<input type=text name=bn_w size=5 value="$bn_w">ピクセル
 高さ<input type=text name=bn_h size=5 value="$bn_h">ピクセル</td>
</tr>
<tr>
<td><b>分 類</b></td>
┗━━━━━

┏712━━━━━
$pw@`$msg@`$date@`$ts@`$rec@`$count) = split(/<>/@` $_);

$pw@`$msg@`$date@`$ts@`$bnr@`$bn_w@`$bn_h@`$rec@`$count) = split(/<>/@` $_);
┗━━━━━

┏719━━━━━
$ts{$no} = $ts;

$ts{$no} = $ts;
$bnr{$no} = $bnr;
$bn_w{$no} = $bn_w;
$bn_h{$no} = $bn_h;
┗━━━━━

┏760━━━━━
print "</td><td><small>$msg{$_}</small></td>\n";

if ($bnr{$_}) {$img_html{$_} = "<a href=\"$script?links=$no{$_}\" target=\"_top\"><IMG src=http://$bnr{$_} width=$bn_w{$_} height=$bn_h{$_} align=left border=0></a>";}
print "</td><td><small>$img_html{$_}$msg{$_}</small></td>\n";
┗━━━━━

┏817━━━━━
$email@`$pw@`$msg@`$date@`$ts@`$rec) = split(/<>/@` $sline);

$email@`$pw@`$msg@`$date@`$ts@`$bnr@`$bn_w@`$bn_h@`$rec) = split(/<>/@` $sline);
┗━━━━━

┏869━━━━━
print "登録日:$dt<P>$msg<hr size=2>\n";

if ($bnr) {$img_html = "<a href=\"$script?links=$no\" target=\"_top\"><IMG src=http://$bnr width=$bn_w height=$bn_h align=left border=0></a>";}
print "登録日:$dt<P>$img_html$msg</P><hr size=2>\n";
┗━━━━━

┏900━━━━━
local($no@`$pt@`$sub@`$hp@`$name@`$email@`$pw@`$msg@`$dt@`$ts@`$rec@`$axs)

local($no@`$pt@`$sub@`$hp@`$name@`$email@`$pw@`$msg@`$dt@`$ts@`$bnr@`$bn_w@`$bn_h@`$rec@`$axs)
┗━━━━━

┏926━━━━━
print "<P>$msg<hr size=2>\n";

if ($bnr) {$img_html = "<a href=\"$script?links=$no\" target=\"_top\"><IMG src=http://$bnr width=$bn_w height=$bn_h align=left border=0></a>";}
print "<P>$img_html$msg</P><hr size=2>\n";
┗━━━━━

┏978━━━━━
local($no@`$part@`$sub@`$hp@`$name@`$email@`$pw@`$msg@`$dt@`$ts@`$rec)

local($no@`$part@`$sub@`$hp@`$name@`$email@`$pw@`$msg@`$dt@`$ts@`$bnr@`$bn_w@`$bn_h@`$rec)
┗━━━━━
14>6 (その4):2000/05/20(土) 19:37
┏1026━━━━━
$pw@`$msg@`$dt@`$ts@`$rec@`$axs@`$ho) = split(/<>/@` $_);

$pw@`$msg@`$dt@`$ts@`$bnr@`$bn_w@`$bn_h@`$rec@`$axs@`$ho) = split(/<>/@` $_);
┗━━━━━

┏1031━━━━━
print OUT "$no<>$part<>$sub<>$hp<>$name<>$email<>$pw<>$msg<>$dt<>$ts<>$rec<>$axs<>$ho<>\n";

print OUT "$no<>$part<>$sub<>$hp<>$name<>$email<>$pw<>$msg<>$dt<>$ts<>$bnr<>$bn_w<>$bn_h<>$rec<>$axs<>$ho<>\n";
┗━━━━━

┏1175━━━━━
$pw@`$msg@`$dt@`$ts@`$rec@`$axs@`$ho) = split(/<>/@` $line);

$pw@`$msg@`$dt@`$ts@`$bnr@`$bn_w@`$bn_h@`$rec@`$axs@`$ho) = split(/<>/@` $line);
┗━━━━━

┏1223━━━━━
$pw@`$msg@`$dt@`$ts@`$rec@`$axs@`$ho) = split(/<>/@` $line);

$pw@`$msg@`$dt@`$ts@`$bnr@`$bn_w@`$bn_h@`$rec@`$axs@`$ho) = split(/<>/@` $line)
┗━━━━━

┏1237━━━━━
$pw@`$msg@`$dt@`$ts@`$rec@`$axs@`$ho) = split(/<>/@` $line);

$pw@`$msg@`$dt@`$ts@`$bnr@`$bn_w@`$bn_h@`$rec@`$axs@`$ho) = split(/<>/@` $line);
┗━━━━━

┏1242━━━━━
$line = "$no<>$part<>$sub<>$hp<>$name<>$email<>$pw<>$msg<>$dt<>$ts<>$rec<>$axs<>$ho<>\n";

$line = "$no<>$part<>$sub<>$hp<>$name<>$email<>$pw<>$msg<>$dt<>$ts<>$bnr<>$bn_w<>$bn_h<>$rec<>$axs<>$ho<>\n";
┗━━━━━

┏1302━━━━━
$page = $FORM{'page'};

$page = $FORM{'page'};
$bnr = $FORM{'bnr'};
$bnr =~ s/^http\:\/\///;
$bn_w = $FORM{'bn_w'};
$bn_h = $FORM{'bn_h'};
┗━━━━━

┏1434━━━━━
■URL :http://$url

■URL :http://$url
■バナー :http://$bnr
┗━━━━━

-----------------------
以上です。
15名無しさん:2000/05/21(日) 01:36
>1さん
こんな改造依頼はOKでしょうか?

CGI名「Webどらま」
1)http://www7.big.or.jp/~jawa/download/dorama/
2)一人の人が1日に何十回も投稿するのでログが一気に流れて困ってます・・・(T.T)
そこで1日1回に制限したいのですが、できますでしょうか・・・?
もしくは、最新の書き込みのIPアドレスを参照して、同じIPなら「連続投稿できません」というメッセージとともにはじく、というものでもいいのですが・・・
どうか、よろしくお願いしますm(__)m
16ななしさん:2000/05/21(日) 02:14
481行あたりに
($tmp@`$tmp@`$tmp@`$tmp@`$tmp@`$lastipad) = split(/<>/@`$logs[$#logs+1]);
define $tmp;

if ($lastipad eq $ENV{'REMOTE_ADDR'}) {
&error(1@`"ごめんなさいね。連続投稿ができないの。<br><center><form><txtarea>$FORM{'actor'}\n\n$FORM{'dorama'}</textarea></form><center>");
}

こんなんでいいんじゃないかな?
よくしらべてないからわかんないけど、$logs[$#logs+1]は
$logs[1]か$logs[0]か$logs[$#logs]かもしれない。
17名無しさん@1周年:2000/05/21(日) 02:16
sub form_check {
local($ck_no@`$date@`$dorama@`$ck_actor@`$ra) = split(/<>/@`$logs[0]);
if ($ENV{'REMOTE_ADDR'} eq $ra) {
&error(0@`"もっとネタを考えなきゃ駄目だよ。");
}
これでOK
18名無しさん:2000/05/21(日) 03:59
日記スクリプトが欲しいんですが、探して見つからなかったので・・・。

その日その日で一つずつ記事に対してユニークなアドレスを
付加するにはどうしたら良いんでしょうか?
記事に番号の付く掲示板を改造して作ろうと思ったんですが、
一つ一つが独立した形が良いなぁ、って思い直しました。

外観のイメージとしてはhttp://www3.plala.or.jp/user/こんな感じでして
readボタンを押せば、その日記が読めるといったのが希望です。
日付の所(イメージは21となっています)はJavascriptで自動的にその日の前の日の
日にちを入れたいのですが、それは自分で探してみるつもりです。
さらに欲を言えば、「全部読む」「一日分読む」「一月分読む」というアクションも
出来れば嬉しいのですが、、

取り敢えず、当面の目標は記事一つ一つに対してユニークなアドレスが付加され、
それぞれが独立した形になっている物、、を作りたい(改造したい)と思います。
難しいでしょうか?
19名無しさん:2000/05/21(日) 05:14
あるところで掲示板のコメントを制限するものがありました。
if ($FORM{'comment'} =~ /$siyoufuka/) { &error('この言葉は使用できないです'); }
とありまして、CGIの先頭にあった設定部分には
$siyoufuka = "";
とありました。
””の間に言葉を入れればその言葉は使用できなくなりましたが、2語以上
指定するにはどうすればいいのでしょうか?(ただ2個以上書いても効果がありませんでした)
だれか知っておられたらお願いいたします。
20名無しさん>19:2000/05/21(日) 05:17
21名無しさん:2000/05/21(日) 16:38
http://www.kent-web.com/bbs/にあるAskaBBS
IPを表示するようにしたいのですがどこに何を挿入すればいいのですか?
22>21:2000/05/21(日) 22:28
print "[$no] <font color=\"$sub_color\"><b>$sub</b></font>&#32";
print "投稿者:<b>$name</b> <small>投稿日:$date</small>&#32";
print "[<a href=\"$script?mode=resmsg&no=$no\">返信</a>]<br>\n";
print "<blockquote>$com<P>$url</blockquote><hr>\n";
--------------------------------------------------------------
265行目あたりの上記の記述のどこかに$hostを挿入する("〜"の中じゃなくちゃだめ)
2315:2000/05/21(日) 23:36
>16、17さん
ありがとうございます〜m(__)m
でも・・・・・・・なぜか連続投稿できてしまいます・・・(T.T)
なぜだ〜〜〜〜(ノT□T)ノ 〜┻━┻
24名無しさん>23:2000/05/22(月) 02:37
ログ見てみたら? 最新IPのチェックだけなら
串をスイッチするだけで簡単に突破できるし、
ダイアルアップ接続しなおすだけでもできる。
10分以内はどこからも連投禁止のほうが効果が
あったりするかも。掲示板の対連続投稿ツール防御と
考え方は同じ。
2515:2000/05/22(月) 03:18
>24さん
いえ、自分で連続投稿してみたんです・・・
もちろんダイアルアップは切断せずにやったのですが・・・
(IPアドレスも同じでした)
26名無しさん>25:2000/05/22(月) 03:20
17はちゃんとテストしたコードなんだけどなぁ。
どう改造しましたか。
2715:2000/05/22(月) 04:08
>26さん
フォームチェック部分をこんな風にやったのですが・・・

# [ フォームチェック ]
#

sub form_check {
local($ck_no@`$date@`$dorama@`$ck_actor) = split(/<>/@`$logs[0]);
if ($ENV{'REMOTE_ADDR'} eq $ra) {
&error(0@`"もっとネタを考えなきゃ駄目だよ。");
");
}
if ($ck_no ne $FORM{'no'}) {
&error(0@`"タイムオーバーだよ、きみぃ。もう、誰かが執筆しちゃったみたいだよ。一度戻って、再読み込みするといいだろう");
}
if ($ck_actor == $FORM{'actor'}) {
&error(0@`"同じ人がセリフを言うのは駄目だよ。");
}
if (!$FORM{'actor'}) {
&error(0@`"セリフを言う人を選ばないといけないなぁ。");
}
if (!$colors[$FORM{'actor'}]) {
&error(0@`"ちゃんと人を選んでくださいね");
}
if (!$FORM{'dorama'} || length($FORM{'dorama'}) > 300) {
&error(0@`"そんなセリフは認められないなぁ。");
}
}
28名無しさん>27:2000/05/22(月) 04:16
最初の行、splitに$raが入ってない。
remoteチェックの中、要らんゴミが混じってる。 ");
これでどう?
2915:2000/05/22(月) 04:18
↑は間違いです・・・m(__)m

# [ フォームチェック ]
#

sub form_check {
local($ck_no@`$date@`$dorama@`$ck_actor) = split(/<>/@`$logs[0]);
if ($ENV{'REMOTE_ADDR'} eq $ra) {
&error(0@`"もっとネタを考えないと駄目だよ。");
}
if ($ck_no ne $FORM{'no'}) {
&error(0@`"タイムオーバーだよ、きみぃ。もう、誰かが執筆しちゃったみたいだよ。一度戻って、再読み込みするといいだろう");
}
if ($ck_actor == $FORM{'actor'}) {
&error(0@`"同じ人がセリフを言うのは駄目だよ。");
}
if (!$FORM{'actor'}) {
&error(0@`"セリフを言う人を選ばないといけないなぁ。");
}
if (!$colors[$FORM{'actor'}]) {
&error(0@`"ちゃんと人を選んでくださいね");
}
if (!$FORM{'dorama'} || length($FORM{'dorama'}) > 300) {
&error(0@`"そんなセリフは認められないなぁ");
}
}
3021に続いて便乗質問ですけど:2000/05/22(月) 04:56
KentのlightBBSの管理者用の環境設定の所に設定できる項目を増やしたいんだけど
どうやったらいいんですか?
以前ここの板であった「CGIについての質問なのですが」という板で禁止用語の設定なんかをこの管理パネルでもできるようにしたいのですが
どのようにしたらいいのでしょうか?
項目とか、スクリプトの先頭に書いたりして禁止はできるのですが、それを管理者用のパネルからいじるとなると
どうしてもうまくいきません。
どのように反映させればよろしいのか、宜しかったら教えてください。

 追伸:このパネルで変更した物はlight.logの中に保存されていました。変更したものをlogに
    書きこめるようにしたらいいと思うのですが、どうしてもうまくいきません。
31名無しさん:2000/05/22(月) 05:46
ご存知の方いれば教えてください。
アクセス制限でJPのプロバイダー串しか閲覧できないようにするには
どうすればいいでしょうか?
カール板に付いている制限ロジックを以下の板に付けたいのですが。
http://www.kent-web.com/bbs/sample/yybbs.cgi
32名無しさん>31:2000/05/22(月) 06:14
if ($host =~ /\Q.ne.jp\E$/i) { return ('OK!');}
あとは普通の串チェックいれりゃいいんじゃないかいな?
それとも生IPも弾くの?
33名無しさん:2000/05/22(月) 15:12
ここのスクリプトのソース、見たい・・・(-。-) ボソッ
http://psyco226.ug.to
34名無しさん:2000/05/22(月) 16:50
>33

同じく
35>33:2000/05/22(月) 19:18
http://tako.2ch.net/test/read.cgi?bbs=perl&key=958627332&st=12&to=13
おおかたこんなとこじゃないのかなあ。
36>35:2000/05/23(火) 00:03
なんだろうけど、ソースが見たい・・・(-。-) ボソッ
37名無しさん:2000/05/23(火) 01:03
http://tako.2ch.net/test/read.cgi?bbs=perl&key=958627332&st=12&to=13
すみません、htmlにSSIでCGI出力ってどうやるんですか?
&lt;!--#exec cmd="CGIの場所i"--&gt;で良いんですか?出来ないんだけど。。
38名無しさん:2000/05/23(火) 01:27
こんな感じだけど
&lt;!--#exec cmd="aaaa/bbbb.cgi"--&gt;
3938:2000/05/23(火) 01:30
でも cgi 毎回呼び出すより cccc.txt とかを cgi で吐かせて
SSI で include した方がいいような気がする。
4015:2000/05/23(火) 01:34
>28さん
たびたび、すみません・・・
言われた通りに、@`$raとゴミを取り除いたのですが、
やっぱり連続投稿してしまいます・・・(T.T)
無理なのでしょうか・・・・
4137>38さん:2000/05/23(火) 02:41
ありがとうございます。
やってみたんですが出来ませんでした。
相対パスで指定して良いんですよね?
また、呼び出せるCGIに制限ってあるんでしょうか?
呼び出そうとしたのは掲示板です。
42ぴょん基地:2000/05/23(火) 02:54
相対パスでダメだったら、同じディレクトリ内でやってみたら ? > 41
また、 Content-type の問題とか、いろいろ試して見てネ
直接 URL を叩いたときは動くの ?
43名無しさん>40:2000/05/23(火) 03:29
何がやりたいか理解して貼り付ければミスすることなんてないと思うんだけどなぁ。
はいな。じゃ、これコピペして差し替えてね。

sub form_check {
local($ck_no@`$date@`$dorama@`$ck_actor@`$ra) = split(/<>/@`$logs[0]);
if ($ck_no ne $FORM{'no'}) {
&error(0@`"タイムオーバーだよ、きみぃ。もう、誰かが執筆しちゃったみたいだよ。一度戻って、再読み込みするといいだろう。");
}
if ($ck_actor == $FORM{'actor'}) {
&error(0@`"同じ人がセリフを言うのは駄目だよ。");
}
if (!$FORM{'actor'}) {
&error(0@`"セリフを言う人を選ばないといけないなぁ。");
}
if (!$colors[$FORM{'actor'}]) {
&error(0@`"ちゃんと人を選んでくださいね。");
}
if (!$FORM{'dorama'} || length($FORM{'dorama'}) > 300) {
&error(0@`"そんなセリフは認められないなぁ。");
}
if ($ENV{'REMOTE_ADDR'} eq $ra) {
&error(0@`"もっとネタを考えなきゃ駄目だよ。$logs[0] $ENV{'REMOTE_ADDR'}");
}
}
44名無しさん:2000/05/23(火) 03:34
21さんの質問にかぶるのですが、
http://www.blk.mmtr.or.jp/~stlf/softwares/
にある掲示板でIP表示をするにはどうすればよいでしょうか?
4537>ぴょん基地さん:2000/05/23(火) 03:35
あ、同じディレクトリでやれば見事動きました。
ありがとうございます。
4643:2000/05/23(火) 04:48
ありゃ。デバッグ用のメッセージ残したままだった。
一番最後の&errorは後ろを削ってね。

&error(0@`"もっとネタを考えなきゃ駄目だよ。");
47名無しさん:2000/05/23(火) 12:00
掲示板の中にはファイル名が〜.CGIじゃなくて、index.htmlになってるやつが
ありますよね。あれはどうやってるんでしょうか?FAQだったらすいません。
48>47:2000/05/23(火) 13:12
代表的なのは3通りかな。
1)cols="100%@`*" のフレームに bbs.cgi を入れる。
  これはサーバの設定と無関係で楽だし、どんなCGIでも使える手口。

2)2chもそうだけど記入された内容が HTML として出力される掲示板。
  自作しない場合、そういう動作をする掲示板CGIを探すことになり
  ちょっと苦労する。

3).html でSSIを使えるようにして掲示板CGIの出力を挿入。
  珍しいし、CGI可のサーバでも使えないことがある手法。

49名無しさん>47:2000/05/23(火) 13:15
htmlファイルに書き出してるだけ。2ch的にいえば、
「書き込みボタンでcgiを呼び出し」→「cgiは投稿内容を
処理してhtmlファイルを更新、クライアントには
htmlファイルのURLへ飛ぶように返す」→「ブラウザは
更新されたhtmlファイルを表示」こんな感じ。
50>47:2000/05/23(火) 14:22
.htaccessに
AddType application/x-httpd-cgi .html
を追加。
51そろそろ・・・:2000/05/24(水) 04:15
http://psyco226.ug.to

ここのショートメッセージのスクリプト・・・(T.T)
52名無しさん:2000/05/24(水) 06:16
われずリンクのあるサイトのことなんぞ知るか。

ていうか、本人に聞けば? いちばん早いよ。
53名無しさん:2000/05/24(水) 22:39
HIBBSにsage機能を付け加えて欲しい
54>52:2000/05/25(木) 00:07
そうですね。ごめんなさい。

管理人が当初からスクリプトは恥ずかしくて見せられないって
言ってたからここで聞いたのですが・・・

もう少し頑張って自分でやってみます。
55名無しさん:2000/05/25(木) 10:03
>54
cgiでhtmlファイルを全部読んで、それをprintで表示するようにする。
Short Messageを挿入したい行になんか適当なキーワード行を入れておく。
printで表示する前に、キーワード行かどうか判断して、キーワード行なら、
ログファイルから書き込みを表示する。
ログファイルの取り方は、普通の掲示板やチャットと同じでいい。

こんな感じで作れると思うよ。がんばってね。
56名無しさん:2000/05/25(木) 18:38
特定の所からしかアクセスできなくすることは出来ますか?
例えばindex.htmlからじゃないとアクセスできないようにするとか
なんですけど、掲示板にこういう機能をつけたいのですができますか?
もし良ければお知恵を拝借したいのですがよろしくお願いいたします。
57>56:2000/05/25(木) 19:07
if($ENV{'HTTP_REFERER'}!~/index\.html/){
  print "Content-type: text/html\n\n";
  print "index.htmlからアクセスして下さい。\n";
  exit;
}
58名無しさん>57:2000/05/25(木) 19:24
そういう意味のindex.htmlじゃないと思う(ぴゅあ
5954です:2000/05/26(金) 02:35
>55さん。

どうもありがとうございます。
助言を元に、自分の手で作ってみます。
6056です:2000/05/26(金) 06:55
一応補足しておきますと自分のホームページのトップ
(例えばhttp://www.abc/~abc/index.html)から
以外からのリンクをさせないということです。直接に直リンクを貼られて
そこから飛べないようにしたいということです。
57さんのでいいんですかね?
61>60:2000/05/26(金) 07:59
うん。それでオッケーだよ。
6257:2000/05/26(金) 08:04
if($ENV{'HTTP_REFERER'}!~/^http:\/\/www\.abc\/~abc\//){
  print "Content-type: text/html\n\n";
  print "外部からのリンクではアクセスできません。\n";
  exit;
}
63誰か・・・:2000/05/26(金) 08:38
30の質問に答えてあげて下さい。
私も似たような事を知りたいので。
64>63:2000/05/26(金) 08:40
> 1)そのCGIのある場所(url必須!!!)
65名無しさん:2000/05/26(金) 17:31
http://www.kent-web.com/bbs/light.html?
KENTWEBのLIGHTBOARDに、偽物防止のために
投稿者のIPからIDを生成して
名前の横に表示させたいのですが、
そのやり方をおしえていただけませんでしょうか。
66名無しさん:2000/05/26(金) 18:09
>65
$hostとかを入れればIP表示させれるよ
でもID作らなければいけない理由は?
どっちにしろIPどまりなのでIDの意味がないのでは?
それにLIGHTBOARDには管理者のところで相手のIPが表示されるから
管理者にだけはIPは分かるよ。
67名無しさん:2000/05/26(金) 18:16
AnsQに人工無能カツヲを組み込めますか?
68>30@`63:2000/05/26(金) 19:51
ここのsub env_view {
($head@`$title@`$t_color@`$t_size@`$t_face@`$bgr@`$bgc@`
$text@`$link@`$vlink@`$alink@`$home@`
$max@`$subj_color@`$name_color@`$mail1@`$mail2) = split(/<>/@`$init);
ここと、
ここのsub env_edit {
($head@`$title@`$t_color@`$t_size@`$t_face@`$bgr@`$bgc@`
$text@`$link@`$vlink@`$alink@`$home@`$max@`$subj_color@`
$name_color@`$mail1@`$mail2) = split(/<>/@`$lines[0]);

$lines[0] = "$head<>$FORM{'title'}<>$FORM{'t_color'}
<>$FORM{'t_size'}<>$FORM{'t_face'}<>$FORM{'bgr'}<>
$FORM{'bgc'}<>$FORM{'text'}<>$FORM{'link'}<>
$FORM{'vlink'}<>$FORM{'alink'}<>$FORM{'home'}<>
$FORM{'max'}<>$FORM{'subj_color'}<>$FORM{'name_color'}
<>$FORM{'mail1'}<>$FORM{'mail2'}<>\n";
ここと
ここのsub regist {
($head@`$title@`$t_color@`$t_size@`$t_face@`$bgr@`
$bgc@`$text@`$link@`$vlink@`$alink@`$home@`$max@`
$subj_color@`$name_color@`$mail1@`$mail2)
= split(/<>/@`$init);
ここに、セットすれ(改行は勝手に入れた)。

つか、汚いコードだから改造なんて考えないほうがよいよ。
メンテナンス性最悪。何箇所書き直すことになるんだよ、これ。
splitとjoinをサブルーチンにしとけばそれで済むのに。
69>65:2000/05/26(金) 19:54
IPからの生成じゃダイアルアップで意味が無いし、
下1バイト削ればIDにならないからこれも意味が無い。
carl板を参考にしてみたら?
70>65:2000/05/27(土) 00:54
結局クッキーがいいんでないの?
ランダム生成すりゃ偽造は難しいだろ。
サーバーとクライアントでいつ破棄するかが難しいか。
71>36:2000/05/27(土) 03:46
>36さんと同じく
ソースがみたい。それと似たようなものが、ここにも発見。
http://v12.hey.to/
72>71:2000/05/27(土) 04:22
お、ここはわれずリンク無いね。(笑)
73>65:2000/05/27(土) 07:24
目的は違うがhttp://www3.takeoff.ne.jp/~elmo/に
ID表示する改造板がある。
・・・・これもかる板を参考にしたんだろうな
74>68:2000/05/27(土) 09:03
せめてどっちのファイルかくらい書いてあげないとlightなのかlight2
なのかくらい
少し見てみたけど分かりにくかったからさ
7563 (この板PREモードが有ると良いですね):2000/05/27(土) 10:18
>64
>> 1)そのCGIのある場所(url必須!!!)
スミマセン。私の場合、どれって言う訳じゃ無いんです。
ローカルでいろんな掲示板を動かして、改造ベースを探してるものですから。
>68
詳しく書いて頂いてありがとうございます。
環境設定を持たない掲示板に、設定メニューを加える際の参考にしたいと思って
便乗してしまいました。

>・・・だから改造なんて考えないほうがよいよ。
環境設定を持たない掲示板で、
$BBScolor = '"#F5F5F5"'; #BBSの色
をソース上で設定したとします。
変数$BBScolorに代入された"#F5F5F5"を掲示板上で書き換えるには
どのようにすれば良いのでしょう。
具体的に教えて欲しいなんて我が侭は言いませんので、
考え方を教えて頂けないでしょうか。(無視されてもOKです)
この板を見ていて、ちょっとPerlに興味が出てきたので独学してみます。
76pm:2000/05/27(土) 12:19
掲示板上のボタンとかで一時的に変えられれば良いのなら、

%colors = (
  blue => '#ccccff'@`
  red => '#ffcccc'@`
...etc
...etc
);
$defaultcolor = '#f5f5f5';

<フォームのデータを取る部分>
フォームのデータが%Formに入ってるとすろと、

$BBScolor = $colors{$Form{color}} || $defaultcolor;


<表示する部分>
formタグとか、ボタンとかを付けた上で、
print qq|<radio name="color" value=""><font color="$defaultcolor">■</font>\n|;

while( ( $key@` $value ) = each %colors ){
 print qq|<radio name="color" value="$key"><font color="$value">■</font>\n|;
}

という感じでしょうかねぇ…。

即興なので間違ってたらごめんなさい。
77>75:2000/05/27(土) 14:22
環境設定は、入力用画面表示、更新処理、
目的機能の3つで構成する。
ファイルに保存した設定情報は必要になる都度読み込む。
読み込みに失敗したらデフォルト値を使う。
更新処理では管理者パスを確認する。
管理用ページを出すにはhttp://〜/hoge.cgi?adminなどで
通常と区別し、スクリプトの最初で分岐する。

VBやVCが使えるなら別にむつかしいことなんてないよ。
perlで軽くキレイに、セキュリティに気をつけて、
複数プロセス前提で、さらにプロセスが処理途中でいつ
殺されても大丈夫なように組むのはそれなりにむつかしいけど。
78300A:2000/05/27(土) 16:12
CGIを改造していて分からなくなってしまいました。
フォームの「ans」から受け取ったデータが、
「$ans」と一致しているなら「$flag1」に、
「$ansx」と一致しているなら「$flag2」に、とばしたいのですが
「$ans」に一致するように動作させても「$flag2」に飛んでしまいます。
どこを直したら良いでしょう??
========================================================
$flag = 0;
foreach $line (@DATA) {
($date@`$code@`$que@`$ans1@`$ans2@`$ans3@`$ans@`$ansx) = split(/\@`/@`$line);
chop($ans);
if ($QUERY{'ansno'} eq $code) {
if ($QUERY{'ans'} == $ans) { $flag = 1; }
elsif ($QUERY{'ans'} == $ansx) { $flag = 2; }
last;
}
}

if ($flag == 0) {
$noans = $QUERY{'noans'} + 1;
if ($noans < $end) { $flag = 3; }
}
elsif ($flag == 1) {
$noans = $QUERY{'noans'};
$QUERY{'no'}++;
$flag = 3;
}
elsif ($flag == 2) {
$noans = $QUERY{'noans'};
$QUERY{'no'};
$flag = 3;
}
&cookie_regist(1);
if ($flag == 3) { &html2; }
79>78:2000/05/27(土) 18:17
$QUERY{'ans'}、$ans、$ansxの値が数値ではなく文字列ならば、
==ではなくeqで比較しなければいけないよ。
80名無しさん:2000/05/27(土) 18:17
chop($ans);
これの意図は?
81300A:2000/05/27(土) 18:58
>79
$ans等の値は数字になっています。
>80
これをコメントアウトしたらCGIは当初の
「フォームの「ans」から受け取ったデータ…とばしたい」
にかなうのですが、
===========================
if (!open(NOTE@`"$datafile")) { &error(bad_file); }
@DATA = <NOTE>;
close(NOTE);
===========================
で受け取ったテキストファイル(=データファイル)の
$date@`$code@`$que@`$ans1@`$ans2@`$ans3@`$ans@`$ansx
$date@`$code@`$que@`$ans1@`$ans2@`$ans3@`$ans@`$ansx
$date@`$code@`$que@`$ans1@`$ans2@`$ans3@`$ans@`$ansx



このような感じで、データファイルに入っている複数行の(一行分で1セット)
「質問&回答」のデータのうち、一番上の物しか採用されなくなってしまいます。
(ランダムで質問データを表示したいと思っています)

日本語が変ですが、これでお分かりになったらお願いします。
82名無しさん:2000/05/27(土) 19:58
$QUERY{'ansno'}を取得するに到るまでに問題があるんでしょ。
流れ図とか描いてみたら?
83300A:2000/05/27(土) 20:51
データファイルの記述が間違っていました。
$codeを通し番号にするのを忘れていた、のです。
ハズカシ…

どうもありがとうございました。(これで多分解決です)
84名無しさん:2000/05/27(土) 22:10
>$codeを通し番号にするのを忘れていた、のです。
なら
>if ($QUERY{'ansno'} eq $code) {
は、数値じゃないの?
85名無しさん:2000/05/28(日) 03:33
ちょいと伺うのですがsjisとeucの違いはなんですか?
大体先頭のほうに
require './jcode.pl';
とかいてありますが、これがsjisなんですよね?(間違ってたらごめんなさい)
eucにするにはここに何か別のものを入れればいいんですか?
86えぬー:2000/05/28(日) 03:44
いや、それはSJISなものをEUCにしたり、その逆をしたり、その他のことをするためのライブラリの読み込みです。
どこかにjcode::convert(***@`***)ってのがあるでしょう。
jcode::convert(*_@`'euc')なら$_に入っている文字がEUCに変換されます。sjisと書いてあるなら、sjisになります。
って、この説明はおそらくあなたの知りたいことを直接は解決しないでしょうね。。。
なにを困っているのか書いてくださいな。
87名無しさん:2000/05/28(日) 04:38
>86
単にsjisよりはeucのほうがいいと時々聞きましたので、興味本位で聞いてみました
¥が変なふうになるとかよくいうじゃないですか。だからそれ以後の文字が化けるとかって聞きました
だからsjisよりeucのほうがいいならeucにしてみたいなと
それで先頭にかいてあるrequire './jcode.pl'; というところを素人考えで
require './euc.pl';とかにすればいいのかと思いまして。
8863:2000/05/28(日) 09:34
>76
ありがとうございます。
「くずはすくりぷと」みたいに表示の際に色を選ぶタイプですね。
頑張ってやってみます。

>77
>VBやVCが使えるなら別にむつかしいことなんてないよ。
使えません(泣)
メニューの追加、削除、簡単な条件分岐を付け加えるのと違って、
こういった方法論を知らないと改造は手が出せません。
とても参考になります。
そう言った意味で、別スレッドの
「せっかくだからこのスレで掲示板作ってみませんか?」
http://tako.2ch.net/test/read.cgi?bbs=perl&key=959378033
を期待を込めて眺めています。知識のある方がどんどん加わって
掲示板が出来上がると素晴らしいのですが……。

流れが速くて、裏に回った書き込みにレスを付ける形になりました。
スミマセンです。
89名無しさん:2000/05/28(日) 11:53
>87
「EUCの方が扱いやすいねー」とか言う場合は、以下の2つの条件を満たすものをさします。
1、スクリプトがEUCで書かれている。
2、入力をEUCに変換する。
1、はエディタによります。またはftpソフトで変換してUPしたり。
で、2が「./jcode.pl」を使います。jcodeとは「日本語コード」の意味であって、特定のコードを指すわけじゃないので、
上に書いたように、コード変換はconvertという関数がしてくれます。
90名無しさん:2000/05/28(日) 16:06
age
91age:2000/05/29(月) 00:48
age
92名無しさん:2000/05/29(月) 12:46
ソース、公開されたみたいだよん。
http://psyco226.ug.to
93名無しさん:2000/05/30(火) 07:18
http://www7.big.or.jp/~jawa/download/g_book/

これに検索機能があれば…。無理ですか?
94名無しさん:2000/06/01(木) 00:17
http://br1614.virtualave.net/anno/cgi-bin/bbs/index.html
HiBBSでタイトル画像表示。
投稿フォームの下に任意のリンクの追加。

これ、どうすればいいんでしょ。おながいします。
95名無しさん:2000/06/01(木) 00:33
http://chat2.nantv.com/
ここのチャットレスポンスが凄く早いんですけど
どうやってるんでしょうか?
全国(chat2.nantv.com:8080)とか、東日本(chat2.nantv.com:8280)とかでポート指定している
のも意味あるんですかねぇ?
9694:2000/06/01(木) 03:38
解決、つーかすげー勘違いしてました。はずかしぃ。
97名無しさん:2000/06/01(木) 06:54
http://www3.big.or.jp/~utop/school/のhttp://www3.big.or.jp/~utop/school/cgi.shtmlにある
PetBom.cgiというのがどうしても設置できません。
2時間ぐらい頑張りましたが無理でした。
実際に動かされてる方居られますか?
9897:2000/06/01(木) 06:56
あ、因みにPetBom.cgiはフォーム入力されたメールアドレスに、
擬似的なペットのデータを送信して、ペットがメールを届けてくれたかのように見せるCGIです。
99名無しさん:2000/06/02(金) 03:49
探しますの方から来たのですが、
 http://shortmessage.hypermart.net/
を改造して、(↑92さんが紹介してるのと同じ)
 http://www.kent-web.com/data/anq.html
などを使って、
 http://www.geocities.co.jp/SiliconValley/
のような、簡単な投票式にしたいのですがどう
したらいいでしょうか?
100>92@` 99:2000/06/03(土) 00:34
ソース見たけど、もう少し綺麗にできそうじゃねーか?
101名無しさん:2000/06/03(土) 02:05
>100
お願いします。m(_ _)m
102100:2000/06/04(日) 00:01
>101
えーっと、これを書き直せばいいってこと?
103101:2000/06/06(火) 09:00
はい、そうです。

できれば、99の改造も・・・。
104名無しさん:2000/06/06(火) 18:28
プチボード http://www.kent-web.com/bbs/petit.html
IPを取らないようにする改造。

スクリプト的に賢いやり方ではないですが、将来のバージョンにも
おそらく簡単に対応できる方法。

sub get_host {
 $host = $ENV{'REMOTE_HOST'};
  :
 if ($host eq "") { $host = $addr; }
}

の数行 (v4.5では1338行から)を次の3行に書き換え。

sub get_host {
$host = '';
}

リモートホストに関する情報を空っぽとして指定するだけ。
105名無しさん:2000/06/07(水) 13:15
http://www.interq.or.jp/pluto/hi-ro/script/hyperbbs/
にsage機能をつけるのにはどうすればいいでしょうか?
106名無しさん:2000/06/07(水) 13:34
104に便乗してもいいですか?
私もプチ☆ボードを使っているのですが。
2chみたいに名前の部分を空欄にして書きこむと名無しさんみたいに特定の単語を自動的に挿入してくれるようにするにはどうしたらいいのでしょうか?
107>104@`106:2000/06/07(水) 15:56
>104
475行目をコメントアウトすればいいんでないかい?
#&get_host;

>106
if ($name eq "") { &error("名前が入力されていません"); }
450行目を置きかえればOK。
if ($name eq "") { $name='名無しさん'; }
108名無しさん:2000/06/08(木) 20:53
 http://www.kent-web.com/bbs/glight.html
これをアイコンなしにしたいのですが、どうしたらよい
のでしょうか?

 アイコン関係と思われる部分、単純に削除してみたのですが
画像表示の形跡が残ってしまいました・・・。
109106:2000/06/08(木) 22:58
107さんありがとうございますm(_ _)m
もう一つよろしいでしょうか?
以前見たことがあるのですがプチ☆ボードで文の最後に『ざんす〜』『やで〜』とかが自動的に挿入されて色々な方言が楽しめる掲示板があったのですがあれはどうやっているのでしょうか?
110104:2000/06/08(木) 23:37
>107
それはあえて避けました。
・無駄に get_host を温存しない
・いつ get_host を呼ぶ箇所が変わったり増えたりしないとも限らない
というわけで生かさず殺さずにしました。
111名無しさん:2000/06/08(木) 23:45
112109:2000/06/09(金) 10:15
>111
そう、それですがそんな難しいのじゃなくて結構です。
語尾必ず、同じ単語が挿入されるだけでもいいです。
113>109:2000/06/09(金) 10:53
498行目の$commentの後に「ざんす〜」とか付ければOKだよ。

# ログをフォーマット
$new_msg = "$number<>$FORM{'resno'}<>$date<>$name<>$email<>$subj<>$commentざんす〜<>$url<>$host<>$ango<>$color<>\n";
114KAZ:2000/06/09(金) 11:10
数字と英数字を使ってランダムで文字を生成したいんですが
どうやればいいんでしょう?

レスキューの簡易データベースで、登録時にパスワード(ユニーク番号)
みたいなのをつけたいと思ってます。パスワードといっても確認用
ぐらいの簡単なもので考えています。
よろしくお願いします。
115名無しさん:2000/06/09(金) 11:51
http://www.c-5.ne.jp/~hamachan/cgihtm/rusuban.htm

この おるちゅうばんぼーど についている自動レスの機能に
ついてなのですが、外部から自動レスを保存している doc0.dat
に書き込んで自動レスの種類を第三者でも自由にふやせるように
したいのです。

だいたいこんなイメージでお願いします
http://lightning.prohosting.com/~petobo/rusuban.html

116名無しさん:2000/06/09(金) 15:50
>115
うーん、適当な掲示板スクリプトをちょこっと改造して
その掲示板データファイルを手動で反映させていくのが
楽ですよ。
この手は掲示板と違って書き込み結果がすぐに表示されない分
無責任な登録が多くなります。
「必ず儲かる簡単ビジネス!詳しくはhttp: //〜〜へ!」
「大量の無修正画像!あなたも満足http: //〜〜!」
「てぃむぽ」「氏んでね(はあと)」「ばーーーか」
なんて登録が即座にdoc0.datに反映されたら嫌でしょう?
プログラムの仕組みは難しくないですが、こういう書き込み
内容のチェックを入れるとなると相当面倒なことになります。
sendmailが使えるサーバに設置するなら、メールフォームの
デザインを登録ページ風に変えて内容が115さんに送られるように
すると、データ更新を素速くできるようになるでしょう。
117名無しさん:2000/06/09(金) 15:59
>112
> 語尾必ず、同じ単語が挿入されるだけでもいいです。
語尾の判定を行なうだけのほうが高度な処理になると思います。
「ではさようなら・・・    またネ!(^^)」が
113さんの方法だと
「ではさようなら・・・    またネ!(^^)ざんす〜」
になっちゃいます。
これでもよいのならHTML表示部分を $commentざんす〜
に書き換えるほうがデータも無駄に大きくならないし、
気が変わったら $commentだがね〜 にするのも簡単。
118名無しさん:2000/06/09(金) 17:38
>114 KAZさん
>数字と英数字を使ってランダムで文字を生成したいんですが
  @seeds = ('a'..'z'@`'A'..'Z'@`'0'..'9'); srand;
  $foo = crypt(time@`rand(999999));
で「それらしきもの」が $foo に入りますので、
"." や "/" が気に入らなかったり文字数が多いと思ったら
適当に後処理というのは?

> 登録時にパスワード(ユニーク番号)みたいなのをつけたいと思ってます。
ユニークかどうかは気にしなかったんですが、
そうそうダブることはないと思います。
件数が多くなければ、記録しておいた $foo を検索
して、ダブっていたら再生成とか。
          
119115:2000/06/09(金) 17:39
>116さん
レスありがとうございます。
でも、掲示板スプリクトをいじろうにも、CGIのことがほとんど
わからずに、ココに書き込んだかも・・・
それと、出来れば、同じページに入力画面を起きたいのです。
あと、無責任な発言ですが、ほとんど内輪しか来ない掲示板
なので、商用の書き込みがあることはほとんど無いかも知れません。
sendmailについては、ちょっとわからないです。
120KAZ(114):2000/06/09(金) 17:49
>118さん
レスありがとうございます!さっそく試してみます。
これの文字数を決めるのってできますか?
できたら6文字に限定したいんです。このくらいならかぶる事も
ないかと...書くのが抜けててすみません。
121just_another_perl_user:2000/06/09(金) 19:02
#! /usr/local/bin/perl -w

use constant PASSWD_LEN => 6;

@L = ("A".."Z"@` "a".."z"@` "0".."9"@`
"!"@` '\"'@` "\#"@` "\$"@` "%"@` "&"@` "\'"@`
"("@` ")"@` "*"@` "+"@` "@`"@` "-"@` "."@` "/"@`
'@'@` "["@` "\\"@` "]"@` "^"@` "?"@` "`"@` "{"@` "|"@` "}"@` "~");

srand(time ^ $$ ^ unpack "%L*"@` `ps axlww | gzip`);
$passwd = join ""@` map { $L[int rand @L] } (1..PASSWD_LEN);

print "$passwd\n";

__END__

srandに time ^ $$のみを使用しないのは以下の理由によります:

time@` $$ともに推定しやすい値を返す。(多くのUNIXの実装で、 PID ($$)は順
番に割り振られます。)

3回に1回は x xor y = (x + 1) xor (y + 1)が成立する ⇒ CGIプログラムの
ように頻繁に呼び出されるプログラムでは同じパスワードを生成する危険性が
ある。

ここでは、システムで常に変化する情報 (ps axlwwの結果) を利用することに
よって srandに渡される値の予測を困難にしています。`ps axlww | gzip` の
代わりに `gzip < /dev/random` としても良いでしょう。
122名無しさん:2000/06/09(金) 22:07
> 121
あゝ、とても勉強になります。

> 115
http://www.web-kyoto.com/100/chat/no45/ なんてのも
ありますよ。

> 掲示板スプリクトをいじろうにも、CGIのことがほとんど
> わからずに、ココに書き込んだかも・・・
じゃぁ書き込みを表示しない掲示板への投稿フォームを
おるちゅばん掲示板につけるのが簡単かな。

<FORM action="./res.cgi">
自動レスを追加する:
<INPUT TYPE="text" NAME="d" SIZE=50> <INPUT TYPE=submit VALUE="追加">

で、res.cgiの中身。(ファイル同士の在処の関係は調整してね)
非常にアマい構造です。どういうことか理解したら、もっと丈夫な
掲示板を同じような感じに改造して取り替えるといいでしょう。

1)掲示板の書き込み部分と記録表示部を除去。
2)記録データの形式を変更。
3)掲示板の書き込み部分をおるちゅばんに設置。

下のハイフンだらけの行の *あいだの行* をコピーしてね。
(ハイフンだらけの行は不要ってこと)
-----------------------------------------------
#!/usr/local/bin/perl# 同じディレクトリに置く。
#  res.cgi………705 or 755 ←このCGI
#  kiroku.dat…606 or 666 ←空のテキストファイル
#  jcode.pl……644 ←←←←←すでにお持ちのはず$body = '<body bgcolor="#99CCCC" text="#003366" link="#8A2BE2" vlink="#3CB371">';require './jcode.pl';
$log="./kiroku.dat";
if($ENV{'QUERY_STRING'}) {
($value = $ENV{'QUERY_STRING'}) =~ s/[\+ ]//g;
$value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C"@` hex($1))/eg;
# $value =~ s/%(\w\w)/pack("C"@` hex($1))/eg;
$value =~ s/</&lt\;/g; $value =~ s/>/&gt\;/g;
&jcode'convert(*value@`'sjis');
$comment = substr($value@`2@`100);
} open(IN@`$log); @resd=<IN>; close(IN);
if($comment){ $#resd=50; $now=time;
$res="$now< → >$comment< ← >$ENV{'REMOTE_ADDR'}\n";
open(OUT@`"> $log"); print OUT $res@`@resd; close(OUT);
} print "Content-type: text/html\n\n<HTML>\n$body";
print "<CENTER><P><FONT size=6>登録しました。</FONT><BR>「 $comment 」<BR><BR><BR>";
print "<A href=\"./rusuban.html\">もどる</A></P></CENTER></BODY>\n</HTML>\n";
exit;

-----------------------------------------------
          
123122:2000/06/09(金) 22:11
改行が取り去られて書き込まれたのでもう一度。
-----------------------------------------------
#!/usr/local/bin/perl

# 同じディレクトリに置く。
#  res.cgi………705 or 755 ←このCGI
#  kiroku.dat…606 or 666 ←空のテキストファイル
#  jcode.pl……644 ←←←←←すでにお持ちのはず

$body = '<body bgcolor="#99CCCC" text="#003366" link="#8A2BE2" vlink="#3CB371">';

require './jcode.pl';
$log="./kiroku.dat";
if($ENV{'QUERY_STRING'}) {
($value = $ENV{'QUERY_STRING'}) =~ s/[\+ ]//g;
$value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C"@` hex($1))/eg;
$value =~ s/</&lt\;/g; $value =~ s/>/&gt\;/g;
&jcode'convert(*value@`'sjis');
$comment = substr($value@`2@`100);
} open(IN@`$log); @resd=<IN>; close(IN);
if($comment){ $#resd=50; $now=time;
$res="$now< → >$comment< ← >$ENV{'REMOTE_ADDR'}\n";
open(OUT@`"> $log"); print OUT $res@`@resd; close(OUT);
} print "Content-type: text/html\n\n<HTML>\n$body";
print "<CENTER><P><FONT size=6>登録しました。</FONT><BR>「 $comment 」<BR><BR><BR>";
print "<A href=\"rusuban.html\">もどる</A></P></CENTER></BODY>\n</HTML>\n";
exit;

-----------------------------------------------
12499:2000/06/09(金) 23:52
うーん、やっぱり複雑なのかなぁ

どなたかご自分のページでいいので公開してくれませんか?
人気出ると思うのですが・・・。
125名無しさん:2000/06/10(土) 05:57
表現したいことが複雑…。

99> http://www.geocities.co.jp/SiliconValley/
99> のような、簡単な投票式にしたいのですが
この部分の意味が全然わからないのです。
          
126115:2000/06/10(土) 08:44
122さん、非常に親切に有り難うございます。
ホントに感謝します。
そこで、また、更に甘えてしまうようなので恐縮なのですが
kiroku.datファイル書き込みの時にファイルに

mment=○×△

と、頭に mment= が付いて書き込まれてしまうようです。
いろいろ、試した結果、17行目の
$comment = substr($value@`2@`100);
この行が関係してるようなのですが、どのようにしたら
ファイル書き込みの時に
mment =
を消すことができるしょうか・・・
127名無しさん:2000/06/10(土) 09:11
>125
 99じゃないですが、そのページ左下にある「ジオゴング」
というもののことではないですか?
 「ショートメッセージ」と同じく、.cgiではなく、.htmlの
中にCGIが組みこまれているのが不思議だ、ということだ
とおもいます。
128名無しさん:2000/06/10(土) 18:00
「はぐれ掲示変換派(単語変換掲示板)」の変換前→後の分ける部分を
半角スペース以外のものにしたいです。半角スペースだと変換の指定に
font colorタグとかが使えないので。
&nbsp;で代用しても上手く表示されませんでした。お願いします。
http://www.eva.hi-ho.ne.jp/takeuchi/cgi_hagure.htm
129128:2000/06/10(土) 18:47
あ、置き換えられてしまった。しまった。
&nbsp;です。
Macならタグが有効なんだけどな。
130名無しさん:2000/06/10(土) 20:24
> 115(126)
登録書き込みのテキストボックスのHTMLがこんな風になってませんか?
自動レスを追加する: <INPUT TYPE="text" NAME="comment" SIZE=50>
次のようにすれば大丈夫です。
自動レスを追加する: <INPUT TYPE="text" NAME="d" SIZE=50>

もしくは・・・
> $comment = substr($value@`2@`100);
> この行が関係してるようなのですが
正解です。例えば「Hello」と登録すると、「d=Hello」が送信されるので
フォームから送られた内容の頭2文字である「d=」を削っています。
<INPUT TYPE="text" NAME="comment"> での送信内容は「comment=Hello」
になるので、処理するには「$comment = substr($value@`8@`100);」と
なります。また、100 を変えると記録される文字数の上限を変更できます。
         
131125:2000/06/10(土) 20:29
127> .cgiではなく、.htmlの中にCGIが組みこまれているのが不思議だ、
HTMLを見ると <FORM action="/cgi-bin/geogong/geogong" METHOD="get"> の
部分ですよね? ただ単にフォームが書かれているだけですけど。
          
132名無しさん:2000/06/10(土) 20:58
>128
リニューアル中だそうで、hagure.lzhがNotFoundでした。
おそらくスクリプト中に「split(/ /@`」という箇所があると思います。
2つのスラッシュの間の文字を区切りとして判断するのですが、
例えば「split(/\t \t/@`」とすると(\t はタブを意味する特殊文字)
スペースの代わりに連続するタブ2個を区切り文字にできると思います。
もし、数カ所あったら1カ所ずつ試してみてください。

&nbsp ; はブラウザが空白と解釈するだけなので、着想は
良かったのですが方向違いでしたね。
          
133128>132:2000/06/10(土) 22:10
試してみます。その箇所は確かにありました。
そこをどういじれば良いか今手元にperlリファレンスがなくて分からなかった
のです。(あっても分からなかったかもしれない)
ありがとうございます。
Macだと&nbsp ; でも認知されてタグが有効になっていたので、迷ったのですね。
134128>132:2000/06/10(土) 22:34
614行目の
($a@`$b) = split(//@`$line);を
($a@`$b) = split(/\t/@`$line);に替えたら、タブ1個で変換できるように
なりました!
 本当にありがとうございました。
13599:2000/06/10(土) 22:59
127のかたのとおりの疑問でした。

>131 単にフォームが書かれているだけですけど
 というのは、どう言うことでしょうか?
 CGIではないのですか?
 投票すると結果が反映されたhtmlページになるのが不思議
なのですが、その結果の枠がリンクされて表示されているだけな
のでしょうか?
136>135:2000/06/10(土) 23:05
CGIでhtmlファイルを書き換えて、Location: か何かで飛ばしているだけでしょう。
2ちゃんだってそうだし、べつに不思議ではないです。
137131 >99:2000/06/12(月) 21:42
http://www.geocities.co.jp/SiliconValley/index.html そのものは
CGI ではない。
http://www.geocities.co.jp/cgi-bin/geogong/geogong はCGIなので
そいつに投票内容を送信するフォームでしょ?
http://www.geocities.co.jp/cgi-bin/geogong/geogong?gongname=00052901&answer=6
へアクセスすれば浮気の投票の6番に投票したのと同じ。
          
138:2000/06/13(火) 01:18
はじめまして
hilight multiで 過去ログの不具合が発生したのですけれども
状態は、最大スレッド数になって、エラーが出て書き込めない状態です

私以外にも、このような現象が発生しているみたいです
http://br1614.virtualave.net/anno/cgi-bin/support/hilight300.cgi?thp=960544075&dir=log

私のページです、新規書き込みやレス等でエラーになります
http://hammer.prohosting.com/~2ch-fox/cgi-bin/bbs/test/index.shtml

一週間ほど、スクリプトをいじってみましたが、まったくわかりません
ご存知の方、よろしくお願いします
139名無しさん:2000/06/13(火) 10:10
すみません、どなたかお知恵を貸してください。
http://www.web-kyoto.com/100/chat/no34/
のデータベースなのですが、書きこみ時間がうまく取得できません。
サンプルの管理画面を見てもそうなので、元々のプログラムミスだと
思うのですが……サーバの時間取得部分を変更してもそうなので、
どこを直せばいいのかわからなくなっています。
140名無しさん:2000/06/13(火) 16:40
>139
57行目の「&time ;」で「$date_now」に現在時刻を入れてますね。
なのに書き込みデータをファイルに書く前にファイル中のデータを
「$date_now」に入れちゃっているのでその日付が次から次へと
コピーされています。
563行目「$date_now="$year年 $mon月(後略)」を
「$date_now_maji="$year年 $mon月(後略)」に書き換えると
$date_now_maji にマジな現在時刻が入るので、
253行目「$value = "$date_now\@`$new_number\@`(後略)」を
「$value = "$date_now_maji\@`$new_number\@`(後略)」に書き換えれば
マジな現在時刻がデータに記録されるようになります。

すでに入っているデータと記述書式が違うのが気になるならば、
563行目を修正すればOK。
          
141139>140:2000/06/13(火) 17:12
ありがとうございます。ちゃんと動きました。
頑張ってもう少し勉強いたしますね。
いつかここでアドバイスできればいいなあと思ってます。
142115:2000/06/16(金) 15:06
>130
やってみたら、見事、かいけつしました。
教えてくれてありがとうございました。

143名無しさん:2000/06/17(土) 04:03
machi4.virtualave.net/cgi-bin/lchat.cgi
此処のチャットが欲しいんですが・・・KENTさんのを独自で改造してるようなので、
どうしたらいいのかわからないんです教えて下さい。
machi4.virtualave.net/cgi-bin/lchat.cgi?mode=list
退室後にログをDL出来るようになってて、しかもそれが日付でわけられてるんです。
自分でもいろいろやってみたんですが上手くいかなくて…よろしくお願いします
144名無しさん:2000/06/17(土) 04:10
>138

sub make_log内の
<a href=\"$reload?thp=$i\&back_all=yes\"> の部分を、
<a href=\"$reload?dir=$dir\&thp=$i\&back_all=yes\">
にしてみてください。これで過去ログの「レスを全部読む」が動くようになりますよ


145名無しさん:2000/06/17(土) 05:51
http://www.kent-web.com/bbs/light.html?
のlightボードの引用行の色を変えるにはどうすればいいですか。
先日からトライしていますがうまくいきません
どなたかいい方法を教えてくださいませ
146:2000/06/17(土) 05:58
>144
ありがとうございます、みごとに動きました
dir=$dir\&thp= の所なんですけど
dir=$dir&thp= \を抜いても大丈夫かな・・・
現在それで動かしているので

そしてさらに不具合が・・・
過去ログのレス全部読むで、表示されたページの
下のほうに、書き込み欄があるのですが

そこで書き込み後、トップへスレッドが移動するのですが
スレッドの先頭がその、書き込みしたレスの内容になるんですけど・・・
147名無しさん:2000/06/17(土) 07:24
>146
過去ログモードの時は書き込みが出来ないようにすれば解決しそうですね。

お宅のテストページのほうに詳しく書いていいですか?
http://hammer.prohosting.com/~2ch-fox/cgi-bin/bbs/test/index.shtml

148名無しさん:2000/06/17(土) 13:06
http://i.am/kuroinu/

↑みたいにTOPページで環境変数書き出したりって
どうやればいいですか? 教えてください
149名無しさん:2000/06/17(土) 15:40
>148
SSIで以下のスクリプトを呼ぶ。

print "Content-type: text/plain\n\n".$ENV{"REMOTE_HOST"};
150名無しさん:2000/06/17(土) 16:33
http://www2q.biglobe.ne.jp/~terra/cgi/ppet.htm
ここにある掲示板で、投稿者のIPをログに記録したいのですが
なにか、簡単な方法ありますでしょうか?
分かる方がいればお願いします。
151名無しさん:2000/06/17(土) 17:06
簡単なCGIを探しています。
perlのです。http://www.kent-web.com/
のaska bbs
http://www.kent-web.com/bbs/sample/aska.cgi
よりも簡単なのです。
クッキーの機能もいりません。削除キーも要りません。
掲示板の最小限の機能を備えた掲示板が欲しいのですが
どこかにありませんか?
152名無しさん:2000/06/17(土) 17:34
最小の機能って言っても…。
表示は1ページか複数ページか、ログ保存数は無制限/制限ありなのか、
入力欄はタイトル・名前・URL・メルアド・コメントなどどこまで必要なのか、
最大文字数、タグ入力、連続投稿等のセキュリティ関係はどうでもいいのか、
削除キーは要らんというが管理者削除も要らないのか…。
もうちょい「最小限」について詳しく書いてください。

とりあえず最低BBS↓。

#!/usr/local/bin/perl

read STDIN@` $query@` $ENV{CONTENT_LENGTH};
foreach( split /&/@` $query ) {
  ( $key@` $value ) = split /=/;
  $value =~ tr/+/ /;
  $value =~ s/%([A-Fa-f0-9][A-Fa-f0-9])/pack("C"@` hex($1))/eg;
  last if $key eq 'comment';
}
$value =~ s/[\r\n]+/<br>/g;
$value .= "<hr>\n";

print "Content-Type: text/html\n\n";
print "<html><body>\n";
print "<form method=post action=\"test.cgi\">\n";
print "<textarea name=comment></textarea><br>\n";
print "<input type=submit value=submit></form>\n";
print $value;

open LOG@` "+<bbs.log";
print reverse <LOG>;
seek LOG@` 0@` 2;
print LOG $value;
close LOG;

print "</body></html>\n";
153151から152へのレス:2000/06/17(土) 19:58
>表示は1ページか複数ページか、ログ保存数は無制限/制限ありなのか、
1ページ、ログ保存は無制限

>入力欄はタイトル・名前・URL・メルアド・コメントなどどこまで必要なのか、

タイトル・名前・メルアド・ホームページアドレス・コメント

>最大文字数、タグ入力、連続投稿等のセキュリティ関係はどうでもいいのか、

3つ対策しなくても良い

>削除キーは要らんというが管理者削除も要らないのか…。

ログファイルを編集したらいりませんか?
154名無しさん:2000/06/18(日) 03:16
age
155>152:2000/06/18(日) 13:59
それを、xxx.cgiとして実行したのですが、
なんかうまく行きません
156種無しさん:2000/06/18(日) 16:44
>152
ファイル名をtest.cgiにするか、
print "<form method=post action=\"test.cgi\">\n";
の行の中のtest.cgiを好きなファイル名に置き換える
157名無しさん:2000/06/18(日) 18:43
現在使用中のログファイル****.txt のパーミッションをブラウザ上から
変更したいんですけど、どうやったらいいんでしょうか?
sub xxxxxx {
chmod(0644@`****.txt);
&header;
print "<P><h3>完了</h3>\n";
print "</body></html>\n";
exit;
}
とやってもできないんですけど。
158just_another_perl_user:2000/06/18(日) 19:32
ファイルのパーミションを変更する場合、そのファイルが置いてあるディレク
トリの書き込み権限が無いと失敗します。
159名無しさん:2000/06/18(日) 21:10
>158さん
ディレクトリは777にしているのですが。
160名無しさん:2000/06/18(日) 21:28
chmod(0644@`"****.txt");

これでOKだと思います。
161名無しさん:2000/06/18(日) 23:48
>これでOKだと思います。

sub xxxxxx {
open(XXXX@`">****.txt") || &error("えらー");
close(XXXX);
chmod(0606@`****.txt);
&header;
print "<P><h3>完了</h3>\n";
print "</body></html>\n";
exit;
}
のように新規ファイルを作成しての時はいいんですけど
使用中のログファイル****.txt を644とか600にしたい時に
パーミッションが変わらないんです。
162名無しさん:2000/06/19(月) 00:01
chmod(0644@`****.txt); と
chmod(0644@`"****.txt"); ではperl的に意味が違うと言っているのですが、
そういう解釈ではありませんか?
163名無しさん:2000/06/19(月) 01:50
minibbs v10形式で掲示板ログhtmlを自動作成するスクリプト
お願いします。
164名無しさん:2000/06/19(月) 02:02
>162さん
>chmod(0644@`****.txt); と
>chmod(0644@`"****.txt"); ではperl的に意味が違うと言っているのですが、
あ、そういう意味でしたか。すみません。
でも、両方試したつもりです。
$logfile = "****.txt";
chmod(0644@`"$logfile"); なども。
明日、もう一度試してみます。
165名無しさん:2000/06/19(月) 08:32
半角カナが化けない様に改造したjcode.plってないでしょうか?
166名無しさん:2000/06/19(月) 14:06
カール版にクッキー機能をつけたいのですが、できますでしょうか?m(__)m
http://www3.digitalworkz.com/~carl/manu_a.html
167just_another_perl_user:2000/06/19(月) 14:57
>>165

理論上、完全に防ぐことはできません。HTML 4.01 から使えるようになった
accept-charset 属性をサポートするUAが普及するのを待ちましょう。:-)
168改造くん:2000/06/20(火) 16:36
>166
適当に付けてみた。
UNIXerならこっち。
http://members.xoom.com/singasongxh/che.diff
その他ならこっち。
http://members.xoom.com/singasongxh/che.cgi

しかし、相変わらずカール板はソースが汚いな。
169名無しさん:2000/06/23(金) 05:01
>>167
なるほど
170名無しさん:2000/06/27(火) 02:56
うまく伝えられるかわからないですが、次のようなことはできますか?

掲示板で書き込みボタン
   ↓
ロックをかける
   ↓
書き込み成功
   ↓
記事を表示。初期画面
   ↓
まだロックをかけてる
   ↓この間10秒くらい
ロックを解除

ようするに誰かが書き込みボタンを押すと、他の人は10秒間ほど書き込みできなくしたい。
ということです。
171名無しさん:2000/06/27(火) 04:43
ファイルの更新時間を見て遅延ロック状態か判断すればいいよ。
172はーい先生!:2000/06/28(水) 15:44
フォームメールcgiにCc:やBcc:を加えるにはどこらへんに何を追加したらいいんでしょう?
例えばレスキューのform2mailとかで具体的にonegaisimasu...
173>172:2000/06/28(水) 15:54
form2mailは知らないけど、
print MAIL "From: $mail\n";
となってるところに入れれば良いんじゃない?
174172:2000/06/28(水) 15:56
今、見に行ったら、げっ...form2mailが無くなってます。
あせりましたが、とりあえずこれが今のヤツみたいです。
http://www.rescue.ne.jp/cgi/webform/dl/webform.cgi
175と思ったら...:2000/06/28(水) 16:20
form2mailは存在しました。マルチパート機能付きとして・・
まあでも、要点の箇所は変わらないみたいですが
>173さん
2回プリントさせればいいということ? すみませんがいまいちわかりません。
176173>174:2000/06/28(水) 16:22
print OUT "To: $mailto\n";
print OUT "From: $email\n";

この辺。
177>175:2000/06/28(水) 16:24
print OUT "Cc: $cc_string\n";
とか。
178>177:2000/06/28(水) 16:36
あっ、そういうことなんですか!
オンタイムで、ありがとうございます!!
179KY-VIEW enterprise:2000/06/28(水) 21:59
KY-VIEW enterpriseに書き込みがあったら指定のアドレスにメールする機能を追加できませんか?
180>179:2000/06/28(水) 23:41
できます。
181179:2000/06/28(水) 23:54
>180
すいません、教えていただけないでしょうか。
182180じゃないけど:2000/06/29(木) 13:51
このライブラリに「SENDMAILを使った電子メールを送信」機能があるらしいから
書き込み処理の適当なところで送信させればいいんじゃないかな。
http://www2.117.ne.jp/~come-on/Homepage/.CGI/Tools/stdio.html
183179:2000/06/29(木) 14:50
>182
いまいち判らないです…
他板への具体的な導入例があればなんとか。
184名無しさん:2000/06/29(木) 16:36
enterpriseはライブラリが暗号化されてるので、改造は困難。
megalopolisならなんとかなるとは思うけど。
185179:2000/06/29(木) 20:54
>184
じゃあ180は凄いんですね。
megalopolisは根本的に違うんですか?
>180
他力本願ですが改造方法希望ですー
186名無しさん:2000/06/30(金) 11:08
◆このスリクプトのログにIPを記録したいのですが、どなたかご教授ください。
他のスクリプトの記録方式を真似てみましたが知識がなくできませんでした。
よろしくお願いします。
http://aoxbt.virtualave.net/cgi-bin/pospe/pospet.txt
187>186:2000/06/30(金) 13:25
暇だったから改造した。
アップ場所をくれたらアップするよ。
188186:2000/06/30(金) 18:40
早速のレスありがとうございます!>186さん
ID lanbanhfe  pass 1011lik
host www.acmecity.com

[email protected]
よければ上のすて垢かメールで頂けると助かります。
189186:2000/06/30(金) 18:42
187さんの間違え(^-^;
190>11〜14さんへ:2000/07/01(土) 10:48
 6さんではないですが、私もちょうど
同様の自動登録CGIが欲しかったんで
たいへん感謝しています。
ありがとうございました。

 ところで話は変わりますが、11〜14で改造した
スクリプトをウチで配布したいと思っているんですが、
よろしいでしょうか?
改造後、同CGIを
知り合い連中に試しに見せたら
「俺も欲しい」と言われ、「ここ見て改造しろ」
とこのスレッドのアドレスを渡したんですが
「わからない」って言われちゃったもんで。

 ずうずうしいお願いですが、なにとぞよろしくお願いします。
(もちろんあなたから許可貰った後にKENTさんにも申請します)
191>188:2000/07/01(土) 11:16
アップして置いたよ。
バグがあったら自分で直してね。
192186:2000/07/01(土) 12:05
本当にありがとうございました。
無事設置でき、ちゃんと動作していますm(_ _)m
193yoo:2000/07/01(土) 20:16
>190
あー、懐かしいな。いいですよ。
私かどうか判断しづらいだろうと思いますが、私です。
          
194190:2000/07/02(日) 03:49
>yooさん
ありがとうございます。
ところで配る際は、CGIの下の方に
”Arranged by yoo”と
書き込んだ方が良いでしょうかね?
195名無しさん:2000/07/02(日) 06:13

http://www2a.biglobe.ne.jp/~yama/cgi.html
上記のフォームメールのCGIに必須項目を指定できたり、相手
の使用しているブラウザやIPを取得できたりするのを付けるこ
とって出来ますでしょうか?
196名無しさん:2000/07/02(日) 06:16
オリジナルじゃないってことがわかれば何でもいいですよ。
と思ったら http://www.kent-web.com/pubc/saihaifu.html
再配布規定がありましたね。これに倣うと
“Cosmo Navi 1.3
Edit : yoo”になりますが、リンク先は190さんのところでお願いします。
配布ページでこのスレッドと15ch <http://i.am/15ch> を紹介しておけば
私に用がある人はつかまえられると思います。
          
197190:2000/07/02(日) 06:24
>yooさん
了解。それでは次はKENTの方に
再配布の許可申請をしてきます。
ありがとうございました。
198名無しさん:2000/07/02(日) 07:34
>195
ブラウザ情報はは JavaScript ばかり使ってるので忘れちゃった。

1)
「###############下記の項目は、無制限に追加出来ます。#################」の下に
次の1行。
$host = $ENV{'REMOTE_HOST'} || $ENV{'REMOTE_ADDR'};

2)
氏名:
$name
 を
氏名:
$name ($host)
 に。

3)
スクリプトの最後に次の塊を追加。
sub keikoku {
print "Content-type: text/html\n\n";
print '<html><head><title>Error</title></head>';
print '<body bgcolor="#ff0000" text="#00ffff">';
print "<p><big>$messe</big><br> 戻って修正してください。 </p></body></html>";
exit;
}

4)
「####下記の住所、氏名、TEL、FAXは、」の上に
if($name eq ''){$messe = 'それじゃ名無しさんですよ。。。'; &keikoku;}
if($nennrei =~ /\D/){$messe = '年齢が変ですよ。。。'; &keikoku;}
のように追加する。
 上は $name が空っぽだったら、下は $nennrei に半角数字以外が書き込まれていたら。
          
199名無しさん:2000/07/02(日) 08:29
http://www.jmarshall.com/tools/cgiproxy/
CGIProxyというのを一度設置してみたいのですが、
設定の方法を教えてください。設定と言うか何が必要で
何を書き換えればいいのかとかでしょうか。
200名無しさん:2000/07/02(日) 09:21
198さん
ありがとうございます。
早々ためしてみます
201StVt:2000/07/02(日) 09:48
kent webのプチボード( http://www.kent-web.com/ )で
レスを最新30件まで表示させたいんですが上手くいきません。
この辺りを変えればよいと思うのですが、、

## レスメッセージを表示

# レス記事はレス順につけるため配列を逆順にする

@lines = reverse(@lines);
$flag = 0;
foreach $line (@lines) {
($rnum@`$rk@`$rd@`$rname@`$rem@`
$rsub@`$rcom@`$rurl@`$rho@`$rp@`$rc) = split(/<>/@` $line);

if ($num eq "$rk") {
if ($flag == 0) { print "<hr width=95% size=1>\n"; $flag=1; }

# 自動リンク
if ($autolink) { &auto_link($rcom); }

print "<table border=0 width=100% cellspacing=0><tr>\n";

print "<td><font color=$rc><b><BASEFONT size=\"2\">";

print "$rname</b> > $rcom ";

print "<small>($rd)</small></font></td></tr></table>\n";
}
}
202名無しさん:2000/07/02(日) 18:25
>201
> レスを最新30件まで表示させたい
現在の状態がわからないんだけど、例えば10件までならば
その制限しているところをいいればいいんじゃないかな。
          
203StVt:2000/07/02(日) 22:38
すいません、どうしたら良いのか解らないです。
プチボードを普通に使っていると、レスが100件くらい
ついた場合に長すぎて困るんです。
最初の辺りで$count=30;といれて
print "$rname</b> > $rcom "; の辺りに$count--;
と入れたとして、$countが0になったときにどんな処理をしたら
いいんでしょうか?というか根本的に間違っているのかなぁ
204202:2000/07/02(日) 23:46
はぁ、無制限なのか‥‥。petitの設計が根本的に間違っているような。
30に制限したとして「レスを全部読む」もつけないと不便じゃない?
205StVt:2000/07/03(月) 01:24
トップページに組み込んであるので、「レスを全部読む」を
したい時には本来の掲示板URLをリンクすればOKです。

えと if($count<0){exit;}
とやったらそこで止まってしまいました。あうあう
206名無しさん:2000/07/03(月) 04:54
つーか100件もレスすんなよ(笑
207>205:2000/07/03(月) 07:04
Petit v4.5+ (レスの表示数を制限するバージョン ) とりあえず、これで行けるんじゃないかな。

1)218行目からの2行を次の3行に。
# レス記事はレス順につけるため配列を逆順にする
@slines = @lines;
@lines = reverse(@lines);

2)346行目からの17行を次の16行に。
## レスメッセージを表示
foreach $line (@slines) {
($rnum@`$rk@`$rd@`$rname@`$rem@`
$rsub@`$rcom@`$rurl@`$rho@`$rp@`$rc) = split(/<>/@` $line);
if ($num eq "$rk") {
$rescnt["$rk"]++;
if ($rescnt["$rk"] <= 30) { #ここの数字がレス表示件数の上限
# 自動リンク
if ($autolink) { &auto_link($rcom); }
$reshtml["$rk"] = "<table border=0 width=100% cellspacing=0><tr>
<td><font color=$rc><b>$rname</b> > $rcom
<small>($rd)</small></font></td></tr></table>\n".$reshtml["$rk"];
}
}
}
print '<P><hr width="95%" size="1">'.$reshtml["$num"];
208StVt :2000/07/03(月) 13:00
どういう処理なのかはっきりとは解りませんが、とりあえず出来ました。
ありがとうございます。自分のレベルの低さを改めて実感しました。
勉強して出直して来る事にします。ありがとー
209DREAMZ:2000/07/03(月) 17:13
http://www.mediawars.ne.jp/~okapin/CGI/dotch3/download/dotch3.lzh
どっちにしましょー3のスレッドを、
新しい書き込みがあるたびに”あげ”たいのですが
その方法はありますか?
デフォルトのCGIの中身には、そういった設定がありませんので
改造になると思うのですが...
210DREAMZ:2000/07/03(月) 17:14
http://fate.ug.to/cgi-bin/img-box/imgboard.cgi
これにも返信ボタンをつけたいんですけど。無理かな?
(引用記号とかつけて)
できれば、スレッドもあがるようになれば最高
211>210:2000/07/03(月) 20:26
 んー、画像掲示板でそういったデザインの奴なら
別に改造しなくても
http://www.rescue.ne.jp/cgi/minibbs-ex/

http://www.kent-web.com/bbs/index.htmlの
clip boardを使ったら如何でしょうか?
楽できるよ(笑)

 何か掲示板の趣旨と違っちゃたね、ゴメン。
212>210:2000/07/04(火) 11:26
返信は元投稿に従属させるのか?
213名無しさん:2000/07/04(火) 11:52
>209
げっ!と思ったけど意外とシンプルにできました。
これで分かってくれそうだからちょっと簡単に書きますね。
326行目 sub writelog 中の「}elsif($mode eq 'a'){」の 'a'@`'b'@`'c' が3択それぞれの処理。
これらは 360@` 371@` 382 行目からになります。
それぞれ6行下にこの部分があります。
push(@newdatas@`"$no \' $ques \' $typea \' $ansa \' $typeb \' $ansb \' $typec \' $ansc \' $r_host")
}else{
push(@newdatas@`$data);
これを
unshift(@newdatas@`"$no \' $ques \' $typea \' $ansa \' $typeb \' $ansb \' $typec \' $ansc \' $r_host")
}else{
push(@newdatas@`$data);
に変えます。push は後ろに追加、unshift は前に追加です。ログの前に追加なので上がります。
後ろに追加だったら順番が変わるよ? という突っ込みに備えて…。
ログを上の行から順番に繰り返し処理していく最中の出来事なので後ろに追加するということは即ちそのままの順番で書き込むことになるんです。

3問作って自分で答えたり削除したりしてさびしく試しました。ハハハ。
問題はないと思います。
          
214DREAMZ:2000/07/04(火) 16:51
>返信は元投稿に従属させるのか?

従属・・とは?
ああ、もちろん元投稿とおなじ(スレッドみたいに)
ところにRESできるといいです。

>画像掲示板でそういったデザインの奴なら

実はすでに使ってます(笑)<MINIBBS-EX
215DREAMZ:2000/07/04(火) 17:01
おお!

>213

ありがとう!
なんか、すごくうれしいです。改造した、実感を味わえました。
見事にあがってくれましたよー。
これがまた、2chみたく、スレッドをあげるか、さげるかの
指定ってなると難しいんでしょうね(笑)
私もPERLを学ぼう..
216DREAMZ:2000/07/04(火) 17:11
http://fate.ug.to/cgi-bin/review/petit.cgi

こちらのCGIなのですが、改造版になっております。
バイナリはこちら:http://fate.ug.to/upload/review.zip
このCGIで、色々と改善要望があるので、なんとかしたいのですが
いかんせんどこをどういじっていいものやら(ちょっといじるとすぐ
動かなくなるし)

まず、

1 レビュー、をした人間が、自分の好きな”点数欄(たとえば、
芸術点、とか、総合点、など)をつくり、それで
点数を記入できる(選択できる)ようにする

2 投稿者名、メアドを入れられるようにする(省略可)


3 記入者の任意でスレッドのアゲサゲが可能になる。

くらいをやろうと思ってるのですが、
これらは面倒くさいんでしょうか?
217名無しさん:2000/07/04(火) 19:13
「KENT WEB」のCOSMO NAVIGATOR(http://www.kent-web.com/data/navi.html?)で、登録内容を管理者が、管理用パスワードで編集できるように改造できないでしょうか?
現状では、管理者は削除しかできません。

本家でも3月頃にお願いしたのですが、どうも追加してくれる様子が無いので・・・よろしくお願いします。
218213:2000/07/04(火) 22:02
>215
新しく設問を書き込むと問題が起きることが発覚!
うー、不覚。深く反省。
ゴメンゴメン。ちょっと考えるので気長に待っててね。
          
219213:2000/07/04(火) 22:59
「ログが順番になっている」ということにずいぶん依存しているみたい…。
管理者モードも結構つらい事になってます。
鬱だ、氏の・・・ いや、もう一度悩んでみますね。
          
220え〜と:2000/07/05(水) 00:01
特定のURLから来た人をerr.htmに飛ばすにはどうしたら良いでしょうか?
221japu:2000/07/05(水) 00:22
if($ENV{HTTP_REFERER} =~ m[^http://[^/]*2ch.net]) {
print "Location: http://www.example.com/err.html\n\n";
exit;
}
222DREAMZ:2000/07/05(水) 03:03

http://fate.ug.to/cgi-bin/dotch3/dotch3.cgi
大丈夫ですよ。
使えてます>どっちにしましょー3
改造は成功じゃないですか?
特に問題なく、新規スレッドも作れますが。
なんでだろ?

>218
223DREAMZ:2000/07/05(水) 03:06
あ。ほんとだ問題がありますね。。
元に戻さないと..
これはやられた。。(T_T)
224DREAMZ:2000/07/05(水) 03:15
先ほどのレビュー板なんですが、
2chみたいに記事に番号つけることって、
難しいんでしょうか?
これがないので、今、
>128
RES

みたいなresの仕方ができなくて非常に不便です。
>2個↑
とかこんなカンジでRESさせてます(笑)
225ちょっと趣旨が違いますが:2000/07/05(水) 05:43
220さんに便乗ですが、htmlのままで特定のURLからきた人を
違うページに飛ばすことはできますか?
226japu:2000/07/05(水) 06:34
SSIを使って、<META HTTP-EQUIV="Reflesh" CONTENT="..."> を吐き出すとか、JavaScript を使ってみるとか、自分が管理しているサーバなら Apache の設定ファイルをいじってみるとか。
227名無しさん:2000/07/05(水) 06:49
>224
ついているコメントに番号を割り当てると、コメント削除したときに
ズレちゃうんですよね。削除ではなくて 'あぼーん' 置換にするのは
面倒そうです。年月日時分秒の各二桁をつなげた12桁の数字じゃ
味気ないし…。うーん???

>220@`225  ちょびっと関連:
http://tako.2ch.net/test/read.cgi?bbs=perl&key=961321026
          
228DREAMZ:2000/07/05(水) 15:39
>227

どうやら難しそうですね。。2chのBBSを単体として考えて、
それをベースに改造したほうが早いのかな?
http://fate.ug.to/upload/review.zip
ちなみにここにおいてありますんで。。改造してくれるかたぼしう
229225:2000/07/05(水) 18:26
>japuさん
素早いレスありがとうございます。
レンタルサーバなのでApacheをいじるわけにはいかないので
SSIとJavaScriptを使ってやってみます。
230名無しさん:2000/07/06(木) 02:49
htmlファイルのヘッダーにはどんなものがあるんですか?
Content-Type:
くらいしかしりません。
231名無しさん:2000/07/06(木) 02:53
Location
232名無しさん:2000/07/06(木) 11:33
自分のHPに訪問者が着たらメールで誰かがきたことを知らせてくれるように
カウンターを改造できないですか?
233名無しさん:2000/07/06(木) 11:35
カウンターが回る度にメールで知らせてくれる
用にカウンターを改造できないですか?
234名無しさん:2000/07/06(木) 13:22
できます。
あなたのFTPサーバーのIP、PASS、それにどこに設置すればいいかを
ここに書き込んでください。
235名無しさん:2000/07/06(木) 15:54
設置場所はcgi-binフォルダの中です。
IP、PASSは教える必要ないでしょ。
236217:2000/07/06(木) 18:43
あ、あの・・・しつこくてスイマセンが、レスが無いという事は無理なんでしょうか?
237名無しさん:2000/07/06(木) 23:24
金を払えば可能なんだろう。
でも無料でやってほしいんなら待つしかない。
238名無しさん:2000/07/07(金) 00:47
>217
無理じゃないよ。
変更の入り口で「登録者パスワードと一致しなければはねる」という処理を
「登録者パスワードと一致もしくは管理者パスワードと一致しなければ」
に変えればいい。管理者がいじったときに同時に登録者がいじった場合に
問題が起きるかも。ここまで細かくスクリプトを読んでいないのでわからないけど
そうなった場合に事故としてあきらめられるのかな。
          
239パーラー小池:2000/07/07(金) 02:39
電波じゃなさそうなのでレポート書きの息抜きにソース見てみたよ…。

sub passwd_decode{

というとこを

sub passwd_decode{
  if( $pwd eq $pass ){
    $check = "yes";
    return;
  }

に変えてみれば、ユーザの編集画面で管理パスを入力すれば
編集できそうです。曲がりなりにもロックはしてるみたいなんで
衝突は起きない…かなぁ。

# $pw と $pwd が全く違う役割で、両方グローバル変数。
# こんなソース良く人に見せられるな…。すげぇ疲れた。
240japu:2000/07/07(金) 03:03
230:

HTTPのヘッダね?
HTTPの仕様書 http://rfc.asuka.net/rfc/rfc2616.html に載ってます。
241あうあうあ〜:2000/07/07(金) 05:06
index.cgi  で読み込んだ人と
index.cgi?2  で読み込んだ人に違う処理を返したいんですが
どうしたら良いでしょうか?
242238:2000/07/07(金) 05:09
>239
> すげぇ疲れた。
でしょ。
243たぶん:2000/07/07(金) 05:13
>241
if ($ENV{'QUERY_STRING'} eq 2) { &chigau_syori; }
244243:2000/07/07(金) 05:17
なんだ? 書いたのと違う。
なんて書いたかは http://tako.2ch.net/test/read.cgi?bbs=perl&key=958370869&st=243&to=243 のソースを見てね。
245239:2000/07/07(金) 17:56
そういえば何を改造したのか全く書いてなかった。
239 > 217 です。
246217>239:2000/07/07(金) 19:47
ありがとうございました。お手間をかけてスイマセンでした。
247190 > yooさんへ:2000/07/08(土) 21:55
 めでたくkentさんからも再配布許可をいただき
仲間内で「これは便利だ」とCOSMO−NAVIを
使わせて貰っているんですが、ちと自分の力では
対処できない事が起こったんで、
また力を貸していただきたいです。
 実は↑の11−14の改造する部分を
ペーストしたんですが、”新着情報”の所に
バナーが表示されないのです。
ttp://ubicyoshi.virtualave.net/cgi-bin/navi/navi.cgi
(これがそうです)

「自分のペーストのし忘れか」とも思い、
もう一度やったり他の部分の改造箇所と
比べてみて追加などしたんですが、やはりダメだったんで
ぜひまた力を貸していただきたいです。
お願いします。

 ちなみにこれ↓が、上のレスを参照させていただいて
作らせてもらったものです。
ttp://ubicyoshi.virtualave.net/cgi-bin/img-box/navi-kai.lzh
248yoo:2000/07/09(日) 08:33
>”新着情報”の所にバナーが表示されないのです。
あ、トラブルではなくて仕様です。簡単に何とかなりますよ。そちらに行きますね。
249190&247 > 248:2000/07/10(月) 11:29
助かりました。どうもです。
250うー。:2000/07/10(月) 13:21
http://wakusei.cplaza.ne.jp/twn/cgi-bin/wwwsrch.txt
サイト内全文検索フォームというものの検索結果画面の下に、
YahooだとかINFOSEEKへのリンクを連動させたいです。
251143:2000/07/13(木) 04:48
ですが、やっぱり無理ですかね……
252名無しさん:2000/07/13(木) 05:38
>143
ちょいソース見てみるべな
253名無しさん:2000/07/13(木) 06:23
>143 sub log_viewのとこで
23:00-24:00の時間帯は、$logfileを
例えば$todayfileにコピーするようにすればいいのでは?
そうすれば、24:00からは次の日の23:00までは
$todayfileが過去ログとして残ると思うが・・・ダメか?
コーディングは、自分でやってみてよ!
まぁ、1時間もチャットのログ表示する度にコピーするのは
無駄が多いとは思うが
254名無しさん:2000/07/13(木) 08:28
>250
YahooだとかINFOSEEKの検索フォームをコピーしてきて、
サイト内全文検索フォームの検索結果に挿入。
それが表示されるときに検索された検索語句を
コピーしてきた検索フォームの検索語句フィールド中に
挿入させる、というのでできそうだけど。
          
255yybbsで:2000/07/24(月) 11:41
メッセージが書き込まれてから
一定期間の間にnewというtext、
もしくはgifの表示、
そして”>”、”>”が使われている一文の色を
変えたいのですが
そのような改造は出来るでしょうか?

http://www.kent-web.com/bbs/yybbs.html?
256ネイル:2000/07/25(火) 22:18
COSMO−NAVIなのですけど、検索した時に
表示させる件数を設定したいのですけど
どうやったらいいのでしょうか?
257>255:2000/07/25(火) 23:24
$post_time に投稿時刻が入ってたら
if( $post_time - time <= 86400 ){
print qq|<img src="new.gif">|;
}

とか、$comment にコメントが入ってたら(行の終わりが <br> になってると仮定して)
$comment =~ s/^((>|>).*?)(?=<br>)/<font color="$quote_color">$1</font>/ig;
$comment =~ s/<br>((>|>).*?)(?=<br>)/<br><font color="$quote_color">$1</font>/ig;

とかかな?

kentんとこのCGIの改造はこのスレで一回やって懲りたんで、
氏んでもやりたく無い。自分でやってください。
ごめん。
258255>257:2000/07/26(水) 11:10
素早い対応ありがとうございました。
早速TRYしてみます。
259名無しさん:2000/07/26(水) 12:20
"yybbs再配布場" というのがあります。
http://www.internetjack.com/presento/yybbs/yybbs.html
その改造ではないですが何か役立つかも。
260>258:2000/07/26(水) 12:21
$comment =~ のとこに </font> があるけど、<\/font> とやらないとエラーです。
あと最後の行の色変えが上手くいかないです。すまぬ。

ログに入ってるのは <br> 区切りだと思って書いたけど、本当は投稿時に
$comment =~ s/^((>|>).*)$/<font color="$quote_color">$1<\/font>/mg;
の方が楽だね…。
261japu:2000/07/27(木) 01:41
とりあえず、
$linesep = "<br>";
$comment = join $linesep@` map { s[^(^>.*)][<font color="green">$1</font>]; $_ } split /$linesep/o@` $comment;
または、
1 while($comment =~ s[(^|<br>)(>.*?)(<br>.*)?$][$1<font color="green">$2</font>\n${\(defined $3? $3: "")}]g);
という感じでしょうか。

あ、ソースは見ていないので257さんのコードを見てデータ形式を想像しています。
262QQQ:2000/08/01(火) 14:35
掲示板を改造して直リンを出来なくするにはどうしたらいいんでしょうか?
263名無しさん:2000/08/01(火) 16:44
アンカータグを取ればいいだけですが、それが何か?
264名無しさん:2000/08/01(火) 16:49
>262
掲示板またはその中のスレッドへの直リン?
URL自動リンクの掲示板に画像やMIDIへのURLを書き込んだときの直リン?
265QQQ:2000/08/01(火) 22:25
掲示板への直リンです
266>265:2000/08/02(水) 00:20
(BBSにリンクしてる)自分のページのURLが http://foo.com/bar/index.html
なら、スクリプトの最初のほうに

if( $ENV{HTTP_REFERER} ne 'http://foo.com/bar/index.html' ){
print "Content-Type: text/html\n\n";
print "<html><body>\n";
print "直リン禁止\n";
print "</body></html>\n";
exit;
}

とか。パターンマッチの方がいいかもしれないけど。
Refererを吐かないブラウザ・環境だと悪意のない利用者もBBS利用不能になるし、
やらない方がいいと思うよ。BBSの入り口でクッキー発行、っていう手もあるけど、これもクッキーoffだと
ダメだし。

何よりウザがられて荒らされ率は確実に上がる。
267名無しさん:2000/08/02(水) 02:03
>265
ここのようにHTMLを生成する掲示板の場合は266さんの方法は使えないです。
268名無しさん:2000/08/02(水) 02:05
265のような厨房にマジレスは不要かと
269japu:2000/08/02(水) 03:26
FYI:
とりあえず、referer を調べて弾く方法は、SetEnvIf と deny from env=... の組合せで任意のファイルに対して可能。ただし、一般ユーザではダメ。
詳しくはApacheのマニュアル参照。
270名無しさん:2000/08/02(水) 03:41
Hilight multi(2ちゃん型掲示板)を使ってるんですけど、
現在表示されてるスレ以外のスレ(20スレが表に表示されてるときに
23番目のスレとか)をクリックすると、
2ちゃんの場合はそのスレだけ別ウインドウが開きますけど、
ハイライトマルチだと21番目から40番目までを表示する新たな
トップページが開くんですね。

これを2ちゃんねる形式になおすには、どこをどう書き換えれば良いんでしょうか。
どなたか、よろしくお願いします!!
http://br1614.virtualave.net/anno/cgi-bin/Hilight/Hilight300/readme.html

271名無しさん:2000/08/02(水) 04:42
>270
タイトル一覧のところですよね?サンプル板のHTMLを見ただけですが、
hilight300.cgi?page_num=10&dir=log#958856212 のような表記をさせている箇所を
hilight300.cgi?thp=958856212&dir=log のような表記をするように書き換えて、
<a href="〜" taeget="_blank"> でいけると思います。

ただし「記事を全部読む」がクリックできる状態のスレッドでないと何も表示されないですね。
これをできるように変更できないこともないとは思いますが、しんどそうです。
272学級委員:2000/08/02(水) 07:19
ハイライトついでに僕も質問していいでしょうか?
同じスクリプトを使ってるんですけど、スレッドのタイトルにスペースが
入っちゃうと、スレッド一覧のところにそれ以降が表示されないって言う
仕様?があるんですね。これを直すにはどうすれば良いんでしょうか。

例:
「ご飯食べたい」ならちゃんとスレッド一覧に「ご飯食べたい」
と表示されるんですが、
「ご飯 食べたい」という名前のスレッドにすると、上のスレッド一覧が
「ご飯」という名前になってそれ以降が表示されないんです。

製作者の方が最近サポート板に来られないんで困ってます。
お詳しい方よろしくお願いします!
273名無しさん:2000/08/02(水) 20:43
WEBドラマの、ログの自動作成・・・なんてのは、無茶ですか?
無茶を言っていたら無視して下さい。
http://www7.big.or.jp/~jawa/download/dorama/
274名無しさん:2000/08/03(木) 00:13
275名無しさん:2000/08/03(木) 03:16
age
276名無しさん:2000/08/03(木) 04:20
>272
270のURLのサンプルで試しましたが、大丈夫でしたよ。
> 1ご飯 食べたい (1) 2 タイトルに ←tab ←日本語スペース ←ASCIIスペース (1)

スレッド一覧で、sageでレスしたスレッドの番号(赤い数字)が
1になっちゃうバグがあるようですね。
277k:2000/08/03(木) 11:47
こんにちは。
あの掲示板のことで聞きたいんですけどいいですか?
掲示板でタイトル一覧を表示させるのはどうしたらいいんですか?
2chみたいにです。

http://www.kent-web.com/bbs/sample/yybbs.cgi

この掲示板にタイトル一覧をつけたいんです。
教えてください。
お願いします。
278kowa:2000/08/03(木) 13:06
>277
1つ忠告しておきます。
kent-webのyybbsはあまり評判が良くありません。
(データの構造や、メモリの使い方など・・・・)
私もおすすめしません。
また、あなたの作ったスレッド「掲示板にタイトル一覧」
http://tako.2ch.net/test/read.cgi?bbs=perl&key=965171887
を見て、あなたに勉強する気が見られませんでした。
ですので、既存の2CH方bbsを探してそれを使う事をおすすめします。

どうしてもと言われるのなら、perlやhtmlをもっと勉強してから出直して
下さい。

「掲示板にタイトル一覧」スレッドの7@`12@`17でした。

279>278:2000/08/03(木) 13:09
親切な奴だ。
280kowa>279:2000/08/03(木) 14:06
あんたなら、どう言う?
281>280:2000/08/03(木) 14:13
無視する。
282kowa>281:2000/08/03(木) 14:38
無視したら、他のもっと親切な人が犠牲になるのでは?
(もっと親切な人がいるかどうかは不明だが)
まぁ、いいや。今後は無視します。
つーことで、277は終了!!!!!!
283名無しさん:2000/08/03(木) 19:57
http://br1614.virtualave.net/anno/cgi-bin/bbs/index.html

のHibbsを使っています。これに、「書き込んだら指定したアドレスに
書込内容のメールが届く」ようにしたいのですが、どうすればよいでしょうか。
284名無しさん:2000/08/03(木) 20:07
minibbsあたりから移植したら?
285電撃少女:2000/08/04(金) 07:19
.
286学級委員:2000/08/04(金) 21:29
276さん、ご親切にありがとうございます。
このバグ?は起きるときと起きないときがあるんです。
英語の半角文字なんかだとほぼ確実に起きるんですが…
たとえば this is a pen だと this しか表示されなかったり。
287名無しさん:2000/08/04(金) 23:07
こちらの掲示板の背景に壁紙(gif)を使いたいのですが、指定する記述がありません。
どのような記述をしたら良いのでしょうか?
素人な質問ですいませんが、よろしくお願いします。
http://www.rescue.ne.jp/cgi/wwwbbs/
288名無しさん:2000/08/04(金) 23:39
設定のbodyタグにbackground入れればいいよ。
289287:2000/08/05(土) 08:30
$body = '<body bgcolor="#ffeedd">';
の部分ですか?
変更してみたのですが、上手くいきません・・・
どのように記述を変更すれば良いのでしょうか?
290>289:2000/08/05(土) 08:42
HTMLをまず勉強しましょう。
291287:2000/08/05(土) 09:34
解決しました。上手くいかなかったののはタイプミスでした。
288さん、ありがとうございました。
292名無しさん:2000/08/05(土) 15:18
PCJAPAN8月号の86ページに書いてあるようなこと
(エラーページの変更等)をしたいのですが、
英文なので理解できません。
http://www.newmediaone.com/scripts/errorbot.cgi.txt
よろしくお願いします。
293名無しさん:2000/08/05(土) 20:00
関係ないんですが
パーミッションの設定ってサーバーによって違いますが
それってどうやって皆さんわかるんですか?
ほんと初心者質問ですいません
294ぴょん基地:2000/08/05(土) 21:25
ls -l
295名無しさん:2000/08/06(日) 01:14
>>292
試しに.htaccessに
ErrorDocument 404 index.html
とか書いてみるとよろし
404のエラーが出る時どうなるか

よくサーバ引っ越した時に使う手
296名無しさん:2000/08/06(日) 01:26
>292
ここは"CGI改造工房"スレッドでス。
"あなたの英文翻訳します"スレッドじゃあーりません
297名無しさん:2000/08/06(日) 01:29
>295
書いたのですが、今までと変わりありません。
どうしたらいいのでしょう?
298名無しさん:2000/08/06(日) 06:00
>297
.htaccess 使えないっていうオチ?
299名無しさん:2000/08/06(日) 06:13
そのようだ(藁
300にくく:2000/08/06(日) 06:29
>試しに.htaccessに
>ErrorDocument 404 index.html
>とか書いてみるとよろし
>404のエラーが出る時どうなるか

そんなもん、書いてもどうにもなんねーよ。
自分でそうやってみたのか?
知ったかぶりの厨房さん?(ワラ

エラーメッセージ表示するhtmlファイルつくんなきゃ意味ねーだろ。
どうせやるなら、

ErrorDocument 401 /~hoge/error/error401.html
ErrorDocument 403 /~hoge/error/error403.html
ErrorDocument 404 /~hoge/error/error404.html
ErrorDocument 500 /~hoge/error/error500.html

とかって書いて、
error***.htmlのファイルを/errorとかのディレクトリ作って置いとく。
パスはサーバによってちがうからな。

それからまちがっても/~hoge/とかって、ホントに書くなよ (わら
301名無しさん:2000/08/06(日) 07:40
hogeってアカウントなんかいいな(わら
302猫娘。:2000/08/06(日) 08:31
ゆいぼっと2000 に
http://www.koei.ne.jp/~yui/sample/2000b.html
ftp://ftp.koei.ne.jp/pub/cgi/chat/yuichat/2000B/

ゆうiもーど を付けて
http://www.ibport.co.jp/~yui/cgiwork/imode/imode.html

携帯電話からも書き込みができるようにしたいのですが、
どうしたらよいでしょうか?
ゆうiもーど は ゆいちゃっと2000にしか対応していないようなのですが、
改造することはできませんか?

ゆいちゃっと2000+ゆうiもーど に
ゆいぼっと を付けるのでもよいのですが…。
http://www.koei.ne.jp/~yui/sample/bot.html
ftp://ftp.koei.ne.jp/pub/cgi/chat/yuichat/Bot/

どなたか教えてください。よろしくお願いします!
303名無しさん:2000/08/06(日) 22:42
>300
 ありがとう。変だと思ったら.htaccessのcを1個多く書いてたよ。
 ダメ過ぎな自分が嫌になった…鬱だ。
304知ったか厨房:2000/08/07(月) 00:04
あ、パス書き忘れたよ
鬱だ 氏に対
305302:2000/08/07(月) 06:13
ゆうiもーど→ゆiもーど の間違えです。スミマセンでした。。。
306名無しさん:2000/08/07(月) 08:51
掲示板の背景やらタイトルやらをブラウザだけで変更出来るように
改造するのって、難しいでしょうか?
307>306:2000/08/07(月) 09:18
perl全然書けないなら厳しいと思う。
多少でも書けるならなんとか
308名無しさん:2000/08/07(月) 21:53
>306
レンタル掲示板借りれば?(w
309名無しさん:2000/08/09(水) 17:04
age
310名無しさん:2000/08/09(水) 18:25
便乗質問ですみません。
OTDのレンタル掲示板なんですが、カスタマイズが自由にできるので、
Aタグ無しでもURLがリンク出来るようにするには、何を追加すれば
よいのでしょうか?初心者でどうもすみません。宜しくお願いします。
http://bbs.otd.co.jp/_index/under_index.html
311名無しさん:2000/08/09(水) 18:29
310です。間違ってsageが入ってしまいました。ごめんなさい。
312>310:2000/08/09(水) 22:11
$etc8 のフィールドを使うとして、カスタマイズのソースには
<a href="$etc8" target="_top">$etc8</a>

ここは見たかな?http://bbs.otd.co.jp/_manual/m6.html
313名無しさん:2000/08/10(木) 00:03
>312様
ありがとうございます。私の説明不足で申し訳ございません。
実はメッセージフィールド($message)の中の書き込みで
URLを張りつけた時に、リンク出来るようにしたいのですが、
やはり難しいのでしょうか?お手数お掛けしてすみません。
314名無しさん:2000/08/10(木) 00:05
313は310です。重ね重ね失礼致しました。
315どっちにしまショー?:2000/08/10(木) 19:09
http://www.mediawars.ne.jp/~okapin/CGI/dotch/download/
2択問題を作ってそれにレスを書いていくものなんですけど、
問題を作った人のホストはログに残るんですが
レスには残りません。
レスにもホストかIPアドレスをログに残したいんです。
ここにおられる人には簡単なこととは思いますが
すいません、よろしくお願いします。
316どっちにしまショー?:2000/08/10(木) 19:19
レスには残りません。
ではなく、
レスのホストはログに残りません。
です。
すいません。
317名無しさん:2000/08/10(木) 19:34
せめて本体ファイルくらいテキスト化してどこかにアップしたら?
回答者にわざわざDLまでさせるのかい?
318どっちにしまショー?:2000/08/11(金) 04:13
これは失礼しました。
http://www8.tok2.com/home/etc/
とくとくって使いにくいですね・・・
319名無しさん:2000/08/11(金) 04:54
改造ってほどの物じゃないんですけど、
http://www5.wisnet.ne.jp/~sanpin/odai/odai.cgi
これみたいに、フリーで配ってあるスクリプトを
いかしたデザインにできる方法、というか手ほどきをしてくれる
サイトはないですか?
320サイトじゃないが>319:2000/08/11(金) 05:09
とりあえずHTMLを勉強して
<BODY BGCOLOR="#000000">
とかは
<BODY BGCOLOR=\"\#000000\">
みたいに、アヤシゲな記号は全部エスケープ(\)しておけばヨシ!
321319:2000/08/12(土) 01:29
>320
とってもエグくなりました(T-T)
322名無しさん:2000/08/12(土) 08:17
>>313
何か変な答えだけど、URLリンク機能を持った掲示板スクリプトを改造して、
投稿内容確認表示した結果をBBSのCGIにPOSTするとか・・・
323名無しさん@そうだコミケに逝こう!!:2000/08/12(土) 09:09
ダブルクォートを含んだタグをprintするときは\でエスケープせずに
print "<BODY BGCOLOR=\"#000000\">";

print qq(<BODY BGCOLOR="#000000">);

にするのが吉。「qq();」は「"";」と等価。
こうすれば構文がスマートになるよん♪
それだけ。
325名無しさん:2000/08/12(土) 11:53
ずっと上のほうで話題になってたけど
結果をHTMLで吐くBBSのところで
結果を全てprint すればよいと書いてあったんですけど

具体的にはどうすればよいのでしょうか?
326325:2000/08/12(土) 12:12
ちょっと説明不足みたいなんで
普通の*.cgiで排出される結果を*.htmlに排出する方法は
どうすればよいのでしょうか?
327名無しさん:2000/08/12(土) 13:10
SSI
328名無しさん:2000/08/12(土) 15:02
httpd.confを書き換えて*.htmlの拡張子を実行するように設定してしまう
329325:2000/08/12(土) 16:01
>328 それはねぇ・・・

あとrescue.ne.jpのMiniDatabase v2.1で
登録***件中***件Hitしましたって出す方法ありますか?
330名無しさん:2000/08/12(土) 22:25
age
331名無しさん:2000/08/12(土) 22:26
> 329
簡易データベースってやつだよね? 方法は無くはないだろうけど
毎回無駄にすべてのデータを検索かけることになると思うよ。
332329:2000/08/12(土) 22:43
よくinfoseekとかでみる検索結果******件って出るのが
やってみたいんです。
登録何件中はデータが何行あるか数えればよさそうだし。。
333名無しさん:2000/08/12(土) 22:53
> よくinfoseekとかでみる検索結果******件って出るのが
素直に http://www.cgi-amigo.com/ap-database.html へGo!
「検索結果100件 /1/2/3/4/5」ができるよ。
334329:2000/08/12(土) 23:56
>>333
動作めちゃ重い
scriptの設置(データベースの変数)も分かりにくかったし。
335333:2000/08/13(日) 11:36
>>334
331での予告通りの改造です。対象は rescue.ne.jp 簡易データベース v2.1。
------------------
(1) 次の部分をとりあえずコピーしてスクリプトの最後にペースト。

foreach $num ($FF .. $#BASE) {
    :
    :(中略)
    :
  # 検索終了処理
  if ($hit == $page) { $next_num = $num; last; }
  else { push(@NEW@`$data2); $hit++; }
}


(2) 「foreach $num ($FF .. $#BASE) {」を「$kensu=0; foreach $num (0 .. $#BASE) {」に変更。
  その前の行に「sub kensu {」を入れる。
(3) 「# 検索終了処理」から「}」までの最後の4行の部分を削除して「$kensu++;}}」と書く。
(4) 「#■検索処理」の後の「close(IN);」を「close(IN); &kensu;」に変更。
(5) 「#■検索結果」の後の「<h2>《検索結果》</h2>」を「<h2>《検索結果》</h2><p>$kensu hit</p>」に変更。
------------------

$page の件数に達したら停止する部分を除去したサブルーチンで検索させて件数を求めています。
先に言っておくけど「1/2/3/4/5」のリンクは面倒そうだからパス。
(5)のHTML出力デザインは改造が成功したのを確認してから変更してね。
         
336329:2000/08/13(日) 11:46
>>335
ありがと。でもよくやってくれるなぁ・・・
337335:2000/08/14(月) 02:34
前から使ってるのでだいたいポイントは読めていたし、
実作業は確認含めて5分程度だったのでたいしたことないです。
時間がかかったのは投稿文の作成・・・。
高速軽量化の余地は多分にあります。
ヒントは「次のページ」のリンクに$kensuの値を含めて、
(4)の部分でフォームから渡された件数の値があるかどうかを見る、です。
ただし、こうすると「次のページ」をたどっている間に追加登録された
データがあっても件数表示には反映されません。
実際問題としてあまり問題じゃないですがね。
          
338名無しさん:2000/08/15(火) 05:27
http://64.176.41.163/goaround/
こちらで配布されているMONOさんのお絵かき掲示板にキャップ機能を
つけたいんですが、どなたかやり方を教えていただけないでしょうか。

もとからある掲示板にレスをつける方では成功したんですが、新しい
スレッドを付け加える時には別の処理をしているらしくて…
結局わかりません。

よろしくお願いいたします。


http://64.176.41.163/goaround/oekaki2ch100.lzh
339338:2000/08/15(火) 07:36
あ、出来ました出来ました。すいません。
340名無しさん:2000/08/15(火) 17:54
>338
一応結果書いて欲しかったんですけど・・。
341>340:2000/08/16(水) 03:08
$name =~s/HOGEHOGE/"HOGEHOGE"/g;
$name =~s/password/HOGEHOGE/g;

※2ちゃんねる形式
342どっちにしまショー?:2000/08/16(水) 14:23
土日ってここは落ちてなかったんですね・・・
すいません、315です。
もう1回だけお願いします。
http://www8.tok2.com/home/etc/
です。
343名無しさん:2000/08/17(木) 13:50
あげときます
344名無しさん:2000/08/18(金) 00:30
こんなチャットが作りたい!!
http://java.komuro.com/cgi-bin/chat/index.pl
345名無しさん:2000/08/19(土) 13:05
またあげます
346名無しさん:2000/08/19(土) 14:56
CGI ROOM
http://cgiroom.nu/domaincgi/database.cgi?keys1=log
アクセスログ>逆探知を
SSIでリンク元を取得できるようにしてください
347名無しさん:2000/08/19(土) 15:47
>どっちにしまショー
(1)sub formdecode の最後に1行追加

$ans =~ s/\r|\n//g;
$ans .= "\t$ENV{REMOTE_HOST}"; # 追加

(2)「ログの表示」のところに2行追加

@ansbs = split(/<>/@`$ansb);
foreach (@ansas) { s/\t.*//; } #追加
foreach (@ansbs) { s/\t.*//; } #追加
348名無しさん:2000/08/19(土) 15:48
回答してほしいならソースくらいテキスト化してどこかにアップしろよ…
最近こんなのばっかだな。
349どっちにしまショー?:2000/08/19(土) 17:43
>347
ありがとうございます!
おかげで助かりましたです。
トクトクはREMOTE_HOSTはダメなようですけどね(苦笑)
350名無しさん:2000/08/19(土) 21:58
検索スクリプトを使ってるのですが、サーバーに負荷がかかりすぎる為、
PM11:00〜AM1:00までは使用禁止にしたいのです。
検索用スクリプトの最初にちょこっと書けばいいと思うのですが、
どんな風に書けばいいのでしょ?だれか教えて下さい。
351名無しさん:2000/08/19(土) 22:19
時間を取得して、その間は「ただいま利用できません。」って書く。
やり方は、本でも見ませう。
352名無しさん:2000/08/19(土) 22:24
HTMLを表示する直前で時間で分岐させればいいづら。
353名無しさん:2000/08/20(日) 16:45
こんなチャットが造りたい
http://www.2ch.net
354名無しさん:2000/08/20(日) 19:41
kentのyybbsのフェイザー対策版。欲しーー
355名無しさん:2000/08/21(月) 15:27
KENTさんトコのアイコン掲示板を
i-modeも対応して欲しいっす。
356名無しさん:2000/08/21(月) 16:17
355はi-modeの事を何も知らないかネタかどちら?
357名無しさん:2000/08/22(火) 09:09
358名無しさん:2000/08/24(木) 16:19
age
359>350:2000/08/24(木) 17:51
{
my($hour) = (localtime(time))[2];
if ($hour > 22 or $hour < 2) {
print "Content-type: text/html; charset=x-euc-jp\n\n";
print 'この時間は使えないですよん';
exit;
}
}
360おち:2000/08/25(金) 12:24
教えてください
掲示板に書かれたURLから飛んでも
相手にURLのリンク元表示、リンクした
事が、わからなくする事は
出来ますか?スクリブス教えて下さい。
361名無しさん:2000/08/25(金) 12:47
>360
それはどう考えても無理。
ハイパーリンクさせない用にすることは出来るが。
362名無しさん:2000/08/25(金) 14:26
72?(w
363名無しさん:2000/08/25(金) 18:46
>360
某掲示板とのマルチポストうぜぇよ。
364おち:2000/08/25(金) 20:43
>363
ごめんなさい
>361
出来ました
有難う御座いました
365名無しさん:2000/08/25(金) 21:08
自分で2ちゃんねる型掲示板をつくりたいです
簡単ですか?
http://freebbs.fargaia.com/html/test.html
366名無しさん:2000/08/25(金) 21:22
簡単ですけど、盛り上げるのはセンスがない人には難しいです
367名無しさん:2000/08/25(金) 21:36
かなり古いレスの蒸し返しで申し訳ないのですが
>>37 >>38のSSIを使ってhtmlへCGIを挿入し表示させる方法が
今一分からないのです。
&lt;!--#include file="hoge.cgi" --&gt;や&lt;!--#exec cgi="hoge.cgi" --&gt;
を使って、表示させることはできるのですが、
書き込んでSUBMITボタンを押してもhoge.cgiにジャンプするだけで
書き込みが反映されません。
(ジャンプ先からは書き込めるのですが)
html表示→CGI処理→書き込みを反映したhtml表示を可能にするにはどうしたら
いいんでしょうか?
書き込み処理後にprint"Location: http://www.hoge.com/xxx.html\n\n";を
挿入してCGI処理→html表示まではできたのですが・・・。
368365:2000/08/25(金) 23:09
366
そのセンスがあるって数名に
いわれました
369名無しさん:2000/08/26(土) 00:02
370367:2000/08/26(土) 01:28
>369
http://hoge.com/xxx.html?\n\n
でしたか・・・。失礼しました。
それでも始めに表示されるSUBMITボタンはCGIへのリンクにしか
ならないんですけど、1度の操作で実現するにはどうすれば
いいのか教えていただけませんでしょうか?(T T)

371名無しさん:2000/08/26(土) 02:01
>367
&lt;!--#include>
などを使ってHTMLファイルにCGIの出力を表示させる意味は何?

普通に xxx.cgiにアクセスじゃダメなの?
372367:2000/08/26(土) 02:14
>371
ご意見ごもっともです。
とにかく技術的に興味があるのが一番です。
それに単純にユニークなレイアウトですし。
一つの手法として、一般的になっていないのは、やはり
SSI+CGIでサーバーに余計な負荷がかかるからでしょうか?
できれば教えて頂きたいです。
ちなみに、フレームからCGIを呼び出してみました。
それも結構重たかったのですが、それと同じ位重たくなるのでしょうか?
373371:2000/08/26(土) 02:27
なんだ。
必要に迫られてってわけじゃないのね。

興味でやるのは構わないけど、そういった動機で人の手を煩わすのはどうかと思うわけです。

試行錯誤で頑張ろう。
374367:2000/08/26(土) 02:36
>373
最近、ここに出入りしだしたばかりなのでここのルールというのを
よく知らないのですが、必要に迫られていないと聞いてはいけない
のでしょうか?もしそうだとしたらお詫びします。
ただ、約1週間まえにこのテク?を知ってからあれやこれやと試して
みましたが、さっぱり実現できず思いあまってお聞きしたというのが
実状なんです。なにかいいリファレンスでもあれば教えて頂きたいのですが、
それもダメですか?
375ほういち:2000/08/26(土) 04:47
>374
状況がよく見えないんだけど・・・ともかくSSIを使って目的の
物をHTMLに表示させる事には成功したんだよね?
で、そっからSUBMITを押すと意図した通りに動作しないという事かな?
なら、確認なんだけどSSIはつまるところ、指定された内容を展開して
HTMLに挿入してるだけだから、生成されたHTMLが正しいのかどうか
確認してみればいかがでしょう?submitボタンでcgiを呼ぶ時の
引数がおかしかったりしてないですか?
376名無しさん:2000/08/26(土) 04:52
>興味でやるのは構わないけど、そういった動機で人の手を煩わすのはどうかと思うわけです。
君ここに何しに来てんの?(´ー`)
377367:2000/08/26(土) 07:24
>で、そっからSUBMITを押すと意図した通りに動作しないという事かな?
はい、その通りです。

>submitボタンでcgiを呼ぶ時の引数がおかしかったりしてないですか?
現在の設定では<FORM METHOD="POST" ACTION="hoge.cgi">にしています。
ちなみにxxx.htmlとhoge.cgiは同一ディレクトリに置いています。

説明不足ですみません。ちゃんとした説明になるかどうか分かりませんが
1.xxx.htmlのテーブルタグ内にはhoge.cgiが表示されています。
2.その際のSSIの記述は&lt;!--#include file="hoge.cgi" --&gt;または
 &lt;!--#exec cgi="hoge.cgi" --&gt; です。
3.表示されているSUBMITボタンをおすと、xxx.htmlが表示された状態から
hoge.cgiのみが表示された状態に変わります。その際表示されるhoge.cgi
には、xxx.htmlが表示されている状態で書き込んだものは反映されていません。
ちなみに、リロードしても同様です。
4.hoge.cgiのみが表示されている状態でSUBMITボタンをおせば、正常に
書き込む事ができます。
5.そしてprint"Location: http://www.hoge.com/xxx.html\n\n";
によって、xxx.htmlに画面が切り替わります。

こんな感じで分かりますか?
378367:2000/08/26(土) 07:32
補足です。
hoge.cgiはBBSで

4は、hoge.cgiのみが表示されている状態で書き込んだ後
SUBMITボタンをおせば、正常に書き込めるという意味です。
私がやりたいことは、xxx.html内に表示されたhoge.cgiに書き込んで
SUBMITボタンを押すと、画面上xxx.htmlがリロードされ、
その後表示されるxxx.htmlには書き込みが反映されるようにしたいのです。
379名無しさん:2000/08/26(土) 08:55
3でSUBMIT押した時点でログファイルにはちゃんと書き込みされてるの?
hoge.cgiに切り替わった時に反映されてるかは別としてログファイルのほうにね。
380367:2000/08/26(土) 09:14
>379
いえ、書き込まれていません。
381名無しさん:2000/08/26(土) 09:50
hoge.cgiがリファラーをチェックしてるとか。
この場合はリファラーがxxx.htmlになって書き込めないんじゃないの?
382367:2000/08/26(土) 11:02
>381
ありがとうございます!
リファラーのチェックを外したら動きました。
変な話ですが、感動してしまいました。
ついでといっては何なのですが、この場合の(htmlにcgiをインクルード
させる場合)運用上の問題点についてお聞きしたいことがあります。
サーバー負荷の問題と、セキュリティの問題というのがあると思うのですが、
1.まずサーバー負荷の問題については、単純にhoge.cgiを呼び出した場合に
比べて、どの位変化するものなのでしょうか?
2.タグの無効化だけでは、やはりセキュリティ上未だ問題があるのでしょうか?
図々しいとは思いますが、出来れば教えて頂きたいです。
383名無しさん:2000/08/26(土) 13:07
チャットの入室者状況だけを一つのページにまとめて
表示したいのですが、これってSSIでしょうか?
384ほういち:2000/08/26(土) 17:35
>SSI includeで悩んでた人
  おめでとう。よかったですね!
  追加質問についてはちょっとわかりません。ただ、セキュリティの
  件については、いろんなパターンがありますので、まずご自分で
  調べた方がいいと思います。いずれにしても掲示板に書き込める
  ような量ではないと思います。(セキュリティのアドバイスは)
>381
  すごい!一発回答ですね。僕はポイントを思い切り外してました。
>383
  SSIでもCGIでも実現できますよ。hoge.htmlの中にSSIで入室状況
  の部分を挿入するか、cgiでhtmlごと書き出してやるかどちらでも
  大丈夫と思います。(当然ですが、SSI単独では無理です。SSI+CGI
  で実現するようになります。)
385384:2000/08/26(土) 17:37
SSI includeって書いてしまった。恥かしい。
SSIはServer Side Includeの略だっつーの。と自分でつっこんどく。
386383です:2000/08/26(土) 18:03
>384さん
どうやってやるのか全くわからないので
ほんと厚かましいのですがそういうのが勉強できる所は
ないものでしょうか?
自分でSSI、CGIでさがしてみたのですがどうも
的を得ないもので・・
387367:2000/08/26(土) 23:39
>ほういちさん、みなさん
いろいろとレスありがとうございました。
セキュリティ関係は、時間をかけて勉強していきますね。

388名無しさん:2000/08/27(日) 00:47

http://fire7.netfirms.com/index.html

にある掲示板で ふしあなさんのチェックボックスを
追加したいのですが、改造方法をご存知の方、おねがいします。
389モルツ:2000/08/27(日) 01:41
http://www.osk.3web.ne.jp/~ryui/down/index.htm
で紹介されているThe Show10で二重投票を禁止させるようにしたいのです。

このCGIは「○○とかけて××ととくそのこころは△△」
というものを投稿してもらい、そのネタに対して
面白ければ座布団をあげ、つまらなければ座布団をもっていくというものです。

方法としては「ネタ」を投稿した人のIPを記録。
そのネタに対して「投票」した人のIPを記録して
「ネタ」を投稿した人のIPといれかえていく。
そこで同じIPだったらエラーを出すというように
簡易的ではありますが、二重投票を禁止させたいのです。

ネタを投稿された人のIPを記録する方法までは
できたのですが、それ以降がどうやっていいかわかりません。

いちおうできたとこまで(1行加えただけですが)スクリプト
あげときますので、わかる方いらっしゃいましたらアドバイスください。
よろしくおねがいします。

http://buffy.acmecity.com/fang/463/show10.txt
390CGIほしい:2000/08/30(水) 14:22
http://www.contestmaker.com/access/index.html
と似たかんじの作成希望

連絡は
[email protected]
まで
希望金額と納期予定他を書いて連絡ちょ
391>390:2000/08/30(水) 15:02
100万円なりー
納期は1ヶ月後。
392>390:2000/08/30(水) 15:10
俺なら10万で作ってやるけど、
お前には作ってやんない
393名無しさん:2000/08/30(水) 15:22
んじゃおいらが90万円でうけおって 20万円で392に外注する
394名無しさん:2000/08/30(水) 16:36
>393
大人ってずるいよ
395名無しさん:2000/08/31(木) 04:02
>388
そこのサポートでつけてもらえばいいやん
396名無しさん:2000/09/01(金) 02:03
既存の掲示板を、レンタルサービス用にすることは可能ですか?
また、それをしようとした場合に、どの程度の知識があれば可能
でしょうか?
397名無しさん:2000/09/01(金) 02:44
とりあえず、厨房共の厨房質問に延々と答えていける根気があればok(ワラ
398名無しさん:2000/09/01(金) 03:31
397に激しく同意。
ソース配布もそうだけどいつもにこにこスマイル。
自分なら発狂するだろな〜
399名無しさん:2000/09/02(土) 19:30
ここにきているスンバラシイ方々。
kentのyyboardにスレッド一覧の付け方を
伝授してほしいっす
まぢで。おねがいしまっす
400名無しさん:2000/09/02(土) 23:06
>399
同じような質問を他のスレッドでもよく見かけますが…
401名無しさん:2000/09/03(日) 12:30
だめじゃん(ワラ
402ななし:2000/09/03(日) 23:21
>399

そんな事もできないやつしかyyboardはつかわんのか?
やっぱり・・・
どっかのスレを全部読んだらあるはずだ!キット?
そう言えばyyboard使ってる奴で、パーミッションの設定の
仕方を俺に聞いてきた奴がいたが・・鬱だ。

http://tako.2ch.net/test/read.cgi?bbs=perl&key=965171887
403名無しさん:2000/09/04(月) 00:08
っていうかyybbs使うのはもうやめよーよヽ(´ー`)ノ
404ななしさん@毎日骨太:2000/09/04(月) 11:46
>403
YYBBS使ってるやつは、初期設定のままが多いから
遊べるのよねん(わら
なくなったら困るわ!
405名無しさん:2000/09/05(火) 19:14
http://ayu.kanon.hey.to/の
Upload Board - Version 0.06で
タグの使用許可と
アクセスカウンタ表示と
投稿時のフォントカラーをラジオボタンから選べるようにしたいのですが
どうすれば良いでしょうか?

こんな感じで
http://xxxyyyzzz.tripod.co.jp/ayu.htm
406名無しさん:2000/09/05(火) 23:07
>405
それぐらい他のスクリプトを見ながらやりなさい。
407名無しさん:2000/09/06(水) 01:33
>406
まあまあ。ここはそういうスレなんだから。
でもUpload Board - Version 0.06のソースがアプされないと
どうしようもないね。
408 :2000/09/06(水) 01:40
>>404
っていうか、こっそりいろんなレンタル鯖でKENTのスクリプトを
検索してみて分かったことは、yybbsとか、設置されてるだけで
実質的に使われていないところが異常に多い。だから
遊べるところ探すのは難しい。めんどくさい
409私のことは放っておいて...:2000/09/06(水) 05:29
>>404
>なくなったら困るわ!
NotFoundはいやづら。。。
410名無しさん:2000/09/06(水) 12:16
かず13チャットV5,62を使っているのですが
http://kaz13.com/k_chat/link.cgi?url=http://kaz13.com/k_chat/zip/kaz13_v5.62_5.zip&file=y4zip
このチャットすごく高性能で使いやすいのですが入室のたびに前回来た
日にちと時間、来た回数が表示されてしまうんです。
この表示を消せないものでしょうか?
消せ消せ言われて困ってます。
411名無しさん:2000/09/06(水) 12:45
index.cgi の getcookie って関数で $histry って
グローバる変数(TTに代入してますな
表示してるのは index.cgi の nyuusitu って関数だね
そこ消せばOKです

しかしアレなソースですな
412405:2000/09/06(水) 18:43
>406
当方のをアプしていいんでしょうかね?
413410:2000/09/06(水) 20:50
>411さん
レスありがとうございます、早速開いて見たのですがそのnyuusituという
のが発見できませんでした。
できればもう少し詳しく(何行目から何行目までの〜〜を削除すればOKとか)
教えていただけないでしょうか?
すいません。
414名無しさん:2000/09/06(水) 21:42
411はもう413の相手しないほうが幸せになれるに一票
415名無しさん:2000/09/06(水) 22:16
エディタやページャの検索機能とか使えないのか?
416名無しさん:2000/09/06(水) 23:26
「メモ帳の Ctrl+F さえ使えない」に一瓢
417名無しさん:2000/09/06(水) 23:28
メモ帳にもあるでしょ。<検索機能
418名無しさん:2000/09/06(水) 23:31
プラットフォームもブラウザーも問わず、
いかなるファイルでもアップすることが出来るCGIが欲しいです。
色々検索して試してみたのですがよけいな機能が付いているのと、
ブラウザーによってはアップできないファイルがあったりと、
しっくりくる物が見あたりません。
どなたか情報をお願いします。
419417:2000/09/06(水) 23:51
かぶった(;´Д`)
420410:2000/09/07(木) 08:37
ありました、検索機能なんて便利な機能があったんですね。
で発見できたのですが、その文字だけを消せばいいってことですか?
それてもその列全部消しちゃうとか?
なんか質問ばかりですいません。
421名無しさん:2000/09/11(月) 18:21
http://www7.big.or.jp/~jawa/download/memo/
に置いてある「めも帳」のグラデーションの機能を
取っ払いたいのですが。
422名無しさん:2000/09/11(月) 19:47
コードを改造するまでもなく、$start_color と $end_color を
同じ色にすればいいだけだと思うが
423421:2000/09/11(月) 21:31
ブラウザのソース表示とかログファイルが
読みにくくなるのです。
 ブラウザのソース表示の場合ばタグが人文字毎に
入って、読みづらく成ります。
424名無しさん:2000/09/11(月) 23:27
グラデーションなんて一般的とは思えない機能なんだし普通のを探したほうが速いと思ったり。
425名無しさん:2000/09/12(火) 00:46
しかも423を見ると十分修正すべきとこがわかってるようで
それなら自分でできると思うが
426( ´∀`)さん:2000/09/12(火) 20:04
>>421-425
421は目的がわかっても、実行するスキルがなく
ここに書き込んでみた初級者と見た
427422=425:2000/09/12(火) 23:44
しょーがねーな、安直なやりかただが
153行目からのforeach{}の中を
foreach $log (@logs) {
($no@`$start_color@`$ender_color@`$text) = split(/<>/@`$log);
print "<INPUT TYPE=\"checkbox\" NAME=\"del\" VALUE=\"$no\"> \n";
$text =~s/\n$//;
print "$text<BR>\n";
}
に変えてみろ。
機能を増やすならともかく、減らすのは簡単、
でも別なの探したほうがいいと思うが
428421:2000/09/13(水) 11:47
>>421-427
427さんの言われる通りにしました。
ソース表示が読みやすくなりました。
 グラデーションの設定部分はHTML部で
それらしいのを削除したらできました。
ありがとうございました。
429名無しさん:2000/09/13(水) 15:03
<<質問です、すいません>>

 HTMLファイルのホームページに掲示板を“埋め込む”(HTMLのページに
掲示板のように入力フォームから書き込まれた内容をその都度反映させる)
ことって可能なのでしょうか?

まあ掲示板のcgiスクリプトに文章なりタグなりを直に書きこんでしまえば
良いのですが、それだとページを更新するさいにはcgiファイルそのものを
書き換えなければならないですよね。

わたしが考えているのは、スキンで掲示板のレイアウトを変更できるタイプの
掲示板で、かつHTMLファイルとして出力するタイプの掲示板スクリプトを
つかう方法です。これだとスキンを書き換える事でcgiそのものをいじらずに
更新することが出来そうなきがします。

他によい方法があったらご教授下さい。


430むぎ茶:2000/09/13(水) 15:08



 ないよ
 
 
      
431>429:2000/09/13(水) 17:09


がんばってね(はぁと)


432名無しさん:2000/09/13(水) 20:54
429の日本語が凄く読みづらいのは俺だけなのだろうか。
433名無しさん:2000/09/14(木) 00:07
>>429
http://www4.tkcity.net/~freak/klassc/nph-klassc.cgi?lk=6
これを使えば?Cのバイナリ配布だからソースはないけど。
434>433:2000/09/14(木) 01:18
そのサイトなんか電波入ってるンですけど・・・
ダウンロードしようとしたら名前とか入力求められましたよ
んでソースに↓の文字列が入ってるんですが・・・
..::it::..
..::isjustanaliasofmine::..
..::youknowbutyoumustnoticeitkeepsmycopy::..
..::rightswhichisthereferenceobjecttomyownrealexistence!::..
!!youcantexploitme!!
!!Killing Lemon!!
435むぎ茶:2000/09/14(木) 01:25
&#9619;&#9619;&#9619;&#9619;&#9619;&#9619;&#9619;&#9619;&#9619;&#9619;&#9619;&#9619;&#9619;&#9619;&#9619;&#9619;&#9619;&#9619;&#9617;&#9618;&#9619;&#9619;&#9619;&#9619;&#9619;&#9619;&#9619;&#9619;
&#9619;&#9619;&#9619;&#9617;&#9618;&#9619;&#9619;&#9619;&#9619;&#9619;&#9619;&#9619;&#9619;&#9619;&#9619;&#9619;&#9619;&#9619;&#9619;&#9617;&#9618;&#9619;&#9619;&#9619;&#9619;&#9617;&#9618;&#9619;
&#9619;&#9619;&#9619;&#9617;&#9618;&#9619;&#9619;&#9619;&#9619;&#9619;&#9619;&#9617;&#9618;&#9619;&#9617;&#9618;&#9619;&#9617;&#9618;&#9619;&#9619;&#9619;&#9619;&#9619;&#9617;&#9618;&#9619;&#9619;
&#9619;&#9617;&#9617;&#9617;&#9617;&#9617;&#9617;&#9618;&#9619;&#9619;&#9619;&#9617;&#9618;&#9619;&#9617;&#9618;&#9619;&#9619;&#9617;&#9618;&#9619;&#9619;&#9619;&#9619;&#9617;&#9618;&#9619;&#9619;
&#9619;&#9617;&#9618;&#9619;&#9619;&#9619;&#9617;&#9618;&#9619;&#9617;&#9617;&#9617;&#9617;&#9617;&#9617;&#9617;&#9617;&#9618;&#9619;&#9619;&#9619;&#9619;&#9619;&#9617;&#9618;&#9619;&#9619;&#9619;
&#9619;&#9617;&#9618;&#9619;&#9619;&#9619;&#9617;&#9618;&#9619;&#9619;&#9619;&#9617;&#9618;&#9619;&#9617;&#9618;&#9619;&#9619;&#9619;&#9619;&#9619;&#9619;&#9617;&#9617;&#9618;&#9619;&#9619;&#9619;
&#9619;&#9619;&#9619;&#9619;&#9619;&#9619;&#9617;&#9618;&#9619;&#9619;&#9619;&#9617;&#9618;&#9619;&#9617;&#9618;&#9619;&#9619;&#9619;&#9619;&#9619;&#9617;&#9618;&#9617;&#9618;&#9619;&#9619;&#9619;
&#9619;&#9619;&#9619;&#9619;&#9619;&#9617;&#9618;&#9619;&#9619;&#9619;&#9619;&#9619;&#9619;&#9619;&#9617;&#9618;&#9619;&#9619;&#9619;&#9619;&#9617;&#9618;&#9619;&#9617;&#9618;&#9619;&#9619;&#9619;
&#9619;&#9619;&#9619;&#9619;&#9619;&#9617;&#9618;&#9619;&#9619;&#9619;&#9619;&#9619;&#9619;&#9617;&#9618;&#9619;&#9619;&#9619;&#9619;&#9619;&#9619;&#9619;&#9619;&#9617;&#9618;&#9619;&#9619;&#9619;
&#9619;&#9619;&#9619;&#9619;&#9617;&#9618;&#9619;&#9619;&#9619;&#9619;&#9619;&#9619;&#9617;&#9618;&#9619;&#9619;&#9619;&#9619;&#9619;&#9619;&#9619;&#9619;&#9619;&#9617;&#9618;&#9619;&#9619;&#9619;
&#9619;&#9619;&#9619;&#9617;&#9618;&#9619;&#9619;&#9619;&#9619;&#9619;&#9619;&#9617;&#9618;&#9619;&#9619;&#9619;&#9619;&#9619;&#9619;&#9619;&#9619;&#9619;&#9619;&#9617;&#9618;&#9619;&#9619;&#9619;
&#9619;&#9619;&#9619;&#9619;&#9619;&#9619;&#9619;&#9619;&#9619;&#9619;&#9619;&#9619;&#9619;&#9619;&#9619;&#9619;&#9619;&#9619;&#9619;&#9619;&#9619;&#9619;&#9619;&#9619;&#9619;&#9619;&#9619;&#9619;
436>435:2000/09/14(木) 06:31
  Λ_Λ   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
 ( ´∀`)< オマエモナー
 (    )  \__________
 | | |
 (__)_)
437>436:2000/09/14(木) 06:59

 ∧⊂ヽ   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
 (゚Д゚)ノ <  コピペうぜえ
  | ⊃|    \________
  |   |
 ⊂ノ〜
  ∪
438名無しさん:2000/09/14(木) 11:14
>>432
私も。
そもそもスキンじゃなくてテンプレートだろ、とか思った。

これだけじゃアレなので。
そんなのPOSTされた内容に応じてHTMLファイルを出力して
Locationで飛ばせばいいだけじゃ?とか思ったり。
439>429:2000/09/14(木) 13:17
昔作ったけど
バグがあるから、そのまま放置してる・・・・
440名無しさん:2000/09/14(木) 21:05
http://around.tripod.co.jp/
ここのエーラウンドにて配布されている
2ちゃんねる型掲示板についてなのですが、
普通名前の欄に何も書かないで投稿すると
「名無しさん」等の名前が代わりに表示されてしまいます。
名前欄に何も書かないで投稿すると投稿を弾くようには
出来ないのでしょうか?

2chのような大きな掲示板サイトなら「名無しさん」機能は
必要だとは思うのですが、個人で使う掲示板にこの機能があると
もし「名無しさん」で投稿された際に誰が投稿したか
全く判らないので凄く不安なのです。
どうか宜しくお願いします。
ちなみに「2CHTYPE_2143.LZH」と言う物を使用しております。
441名無しさん:2000/09/14(木) 21:51
>>440
初歩の初歩レベルで改造可能と思います。
そのスクリプトは見た事ないからなんとも言えないですが、
フォームの本文部分に何も入れずに送信しようとしたらエラーに
なるような処理があると思います。
それを参考にしたらすぐ改造できますよ。
442名無しさん:2000/09/14(木) 23:18
>441
具体的にここに書いて頂けませんか?

そのままコピペして利用したいです。
443むぎ茶:2000/09/14(木) 23:54


あほ。

444名無しさん:2000/09/15(金) 00:04
$name ||= $ENV{'REMOTE_HOST'};
445名無しさん:2000/09/15(金) 00:16
441さんじゃないけれど…

aska.cgiの341〜343行目に

$name = $FORM{'name'};
if ($name eq "") { $name = "$nanashi"; }
if($name ne substr($name@`0@`40)){ &error("長い名前では投稿できません"@`"no"); }

ってのがあって、342行目の「 if ($name eq "") { $name = "$nanashi"; } 」で
名前の欄が空白のときに、aska.cgiの最初で設定している$nanashiの文字に
置き換えているので、343行目の名前が長すぎるときにエラーにしてるのを
参考にいじればできるよ。
446440:2000/09/15(金) 00:52
441さん、444さん、445さん、レス有難う御座います!!
プログラムは全くやった事が無いのですが、
早速341〜343行目を周りのプログラムを見て一番それっぽく
以下のように書き換えてみましたがこれでいけますでしょうか?

━━━━━━━━━━━━━━━━━━━━━━━━━
$name = $FORM{'name'};
if ($name eq "") { $name = "$nanashi"; }
if($name ne substr($name@`0@`40)){ &error("長い名前では投稿できません"@`"no"); }
━━━━━━━━━━━━↓━━━━━━━━━━━━
$name = $FORM{'name'};
if ($name eq "") { &error("名前を入力してください"@`"no"); }
if($name ne substr($name@`0@`40)){ &error("長い名前では投稿できません"@`"no"); }
━━━━━━━━━━━━━━━━━━━━━━━━━

それと、444さんの書いている
$name ||= $ENV{'REMOTE_HOST'};
と言うのは名前の表示部分にリモートホストを表示すると言う事なのでしょうか?

無知なばかりに質問だらけですいません。
これを機に本屋に行ってCGIの本を買ってきます・・・
447444:2000/09/15(金) 01:23
>446
sub error がどうなってるかわからないから確証は無いけど書式としてはあってるよ。
バックアップ取って例してみ。


444はネタなので無視すべし

448441:2000/09/15(金) 03:39
447さんのおっしゃる通り多分大丈夫だと思います。
444の件ですが、単純にネタかもしれないけど、もしかしたら、
>もし「名無しさん」で投稿された際に誰が投稿したか
>全く判らないので凄く不安なのです。
という事だったので
「なら、名前が入ってなかったらリモートホストを表示すれば、
誰が投稿したか見当がつくんでは?(小規模掲示板だから)」
っていう事の示唆だったのかもしれません。

449444:2000/09/15(金) 06:17
深読みしすぎ(笑)
450むぎ茶:2000/09/15(金) 06:29
&#9619;&#9619;&#9619;&#9619;&#9619;&#9619;&#9619;&#9619;&#9619;&#9619;&#9619;&#9619;&#9619;&#9619;&#9619;&#9619;&#9619;&#9619;&#9617;&#9618;&#9619;&#9619;&#9619;&#9619;&#9619;&#9619;&#9619;&#9619;
&#9619;&#9619;&#9619;&#9617;&#9618;&#9619;&#9619;&#9619;&#9619;&#9619;&#9619;&#9619;&#9619;&#9619;&#9619;&#9619;&#9619;&#9619;&#9619;&#9617;&#9618;&#9619;&#9619;&#9619;&#9619;&#9617;&#9618;&#9619;
&#9619;&#9619;&#9619;&#9617;&#9618;&#9619;&#9619;&#9619;&#9619;&#9619;&#9619;&#9617;&#9618;&#9619;&#9617;&#9618;&#9619;&#9617;&#9618;&#9619;&#9619;&#9619;&#9619;&#9619;&#9617;&#9618;&#9619;&#9619;
&#9619;&#9617;&#9617;&#9617;&#9617;&#9617;&#9617;&#9618;&#9619;&#9619;&#9619;&#9617;&#9618;&#9619;&#9617;&#9618;&#9619;&#9619;&#9617;&#9618;&#9619;&#9619;&#9619;&#9619;&#9617;&#9618;&#9619;&#9619;
&#9619;&#9617;&#9618;&#9619;&#9619;&#9619;&#9617;&#9618;&#9619;&#9617;&#9617;&#9617;&#9617;&#9617;&#9617;&#9617;&#9617;&#9618;&#9619;&#9619;&#9619;&#9619;&#9619;&#9617;&#9618;&#9619;&#9619;&#9619;
&#9619;&#9617;&#9618;&#9619;&#9619;&#9619;&#9617;&#9618;&#9619;&#9619;&#9619;&#9617;&#9618;&#9619;&#9617;&#9618;&#9619;&#9619;&#9619;&#9619;&#9619;&#9619;&#9617;&#9617;&#9618;&#9619;&#9619;&#9619;
&#9619;&#9619;&#9619;&#9619;&#9619;&#9619;&#9617;&#9618;&#9619;&#9619;&#9619;&#9617;&#9618;&#9619;&#9617;&#9618;&#9619;&#9619;&#9619;&#9619;&#9619;&#9617;&#9618;&#9617;&#9618;&#9619;&#9619;&#9619;
&#9619;&#9619;&#9619;&#9619;&#9619;&#9617;&#9618;&#9619;&#9619;&#9619;&#9619;&#9619;&#9619;&#9619;&#9617;&#9618;&#9619;&#9619;&#9619;&#9619;&#9617;&#9618;&#9619;&#9617;&#9618;&#9619;&#9619;&#9619;
&#9619;&#9619;&#9619;&#9619;&#9619;&#9617;&#9618;&#9619;&#9619;&#9619;&#9619;&#9619;&#9619;&#9617;&#9618;&#9619;&#9619;&#9619;&#9619;&#9619;&#9619;&#9619;&#9619;&#9617;&#9618;&#9619;&#9619;&#9619;
&#9619;&#9619;&#9619;&#9619;&#9617;&#9618;&#9619;&#9619;&#9619;&#9619;&#9619;&#9619;&#9617;&#9618;&#9619;&#9619;&#9619;&#9619;&#9619;&#9619;&#9619;&#9619;&#9619;&#9617;&#9618;&#9619;&#9619;&#9619;
&#9619;&#9619;&#9619;&#9617;&#9618;&#9619;&#9619;&#9619;&#9619;&#9619;&#9619;&#9617;&#9618;&#9619;&#9619;&#9619;&#9619;&#9619;&#9619;&#9619;&#9619;&#9619;&#9619;&#9617;&#9618;&#9619;&#9619;&#9619;
&#9619;&#9619;&#9619;&#9619;&#9619;&#9619;&#9619;&#9619;&#9619;&#9619;&#9619;&#9619;&#9619;&#9619;&#9619;&#9619;&#9619;&#9619;&#9619;&#9619;&#9619;&#9619;&#9619;&#9619;&#9619;&#9619;&#9619;&#9619;
451弐ch編者:2000/09/17(日) 19:00
>341
それだとキャップ者がおおくなると処理重くなるから
(毎回100個キャップあったら100回置換するから)
キャップパスがファイル名の中身が名前のファイルを作って
キャップパスに#とかつけさせて(メールに指定させたり
やったほうがいいよ
2ちゃんもこんなかんじだったとおもう(うちも
452名無しさん:2000/09/17(日) 21:34
投稿数がよほど多くなければそんな実装するだけ無駄。

スクリプトの都合を利用者に押し付けるとパスぱらし等
余計な手間が増えるだけ。
453名無しさん:2000/09/18(月) 20:08
はじめまして。
あの掲示板の改造の仕方を教えてください。
2chみたいにレスが10個だけ表示されてあとはリンクを押すとすべてが表示されるみたいにするにはどうしたらいいのですか?
どなたか教えてください。
よろしくおねがいします。
454名無しさん:2000/09/18(月) 20:27
>あの掲示板の改造の仕方を教えてください。

「あの掲示板」ってなんですか?
日本語を小学校から勉強し直して出直しなさい。

あなたの脳みそじゃ6年みっちり掛かるだろうから、
以後6年間質問はしないように

以上
455名無しさん:2000/09/18(月) 21:26
>454
「あの掲示板」は「あの」でしょう。
君は小学生以下の人格なので刑務所にいきましょう。
そんな人格だと社会に適応できませんよ。

456>455:2000/09/18(月) 21:34
「あの」については多分あんたの言い分が正しいでしょう。
しかし、だからといってそのことだけでただちに相手の人格を否定するようでは
あなたの社会復帰は遠そうです。
せいぜい精神病院での療養に励んでください。
457名無しさん:2000/09/19(火) 04:41
458440:2000/09/19(火) 07:28
最近何故かここに繋がらなく、返事が遅れてしまい
申し訳御座いません。
改造した2ちゃんねる型掲示板ですが、無事
動かすことに成功しました!!

レスをくれた方々、本当に有難う御座いました。

>444さん
なんと!アレはネタだったのですか、
私も441さんの仰る様、リモートホストで
投稿者を判断する事なのかと思っていました(^^;
459名無しさん:2000/09/20(水) 20:11
はじめまして。

この掲示板を
http://www.sinnet.sh/~alcyone/sample/wbbs/wbbs.cgi

1スレッドに最新の5つの文章だけ表示させて、あとはログを全部見るとするとすべてみれるようにするにはどうすばいいのですか?
ようするに2chみたいに改造したいのです。

よろしくおねがいします。
460名無しさん:2000/09/20(水) 22:59
>459
まずソースの拡張子を".txt"に変えたやつを
どこかにアップロードしてね
461名無しさん:2000/09/21(木) 07:48
死ね>460
462名無しさん:2000/09/21(木) 08:18
何故?>461
463名無しさん:2000/09/21(木) 14:16
459=461
全角くんはわかりやすいね。

464初心者:2000/09/24(日) 11:29
はじめまして。

ツーショットチャットに「県」を登録できるようにしたいんです。
改造の方法を教えてください。

http://www.rescue.ne.jp/cgi/2shot3/

465名無しさん:2000/09/24(日) 12:21
>464
まずソースの拡張子を".txt"に変えたやつを
どこかにアップロードしてね
466http://電撃少女.2ch.net/:2000/09/24(日) 13:27
guest guest
467464:2000/09/24(日) 19:10
http://neo5789.hoops.ne.jp/2shot.txt

このソースの改造の仕方を教えてください。
県と年齢を選択できるようにしたいのです。

よろしくおねがいします。
468名無しさん:2000/09/24(日) 22:33
>467
以下のように改造して試してみてください。
ざっと見ただけなので動作がおかしいとこがあるかもです。

1. 359行を修正
print OUT "$FORM{'name'}\t[$color$sex</font>]\t$FORM{'mes'}\t$host\n";

print OUT "$FORM{'name'}\t[$color$sex</font>] $FORM{'juusho'} ($FORM{'nenrei'}才)\t$FORM{'mes'}\t$host\n";

2. 263行と264行の間に追加
print "<th><input type=submit value=\"入室/利用状況確認\"></th>\n";
# 追加ここから
@juusho = ('北海道'@` '青森'@` '鹿児島'@` '沖縄'); #←手抜き(w
@nenrei = (0@` 15@` 18@` 21@` 24@` 35@` 60@` 100);
print "<tr>\n";
print "<th>住所 <select name=\"juusho\">\n";
foreach (@juusho) {
print "<option value=\"$_\">$_</option>\n";
}
print "</select></th>\n";
print "<th>年齢 <select name=\"nenrei\">\n";
for ($i = 0; $i < @nenrei - 1; $i++) {
$n = $nenrei[$i]."〜".($nenrei[$i+1]-1);
print "<option value=\"$n\">$n</option>\n";
}
print "</select></th></tr>\n";
# 追加ここまで
&entry_file_in;
469名無しさん:2000/09/28(木) 08:38
あげ
470教えて君No.470:2000/10/03(火) 04:44
教えて君で失礼します。
レスキューのminibbsありますよね。
あれってデフォルトでは文字サイズが大きくて見づらいんです。
フォントサイズで3くらいです。これをフォントサイズ2に
直すにはどうすれば良いですかね?勿論minibbs.cgiを覗いて
みても設定するところが用意されてませんでした。
たしか<small>みたいなのはあったと思うんですが・・・。
配布もとは↓です。
http://www.rescue.ne.jp/cgi/minibbs1/
一応ソースもUpしときました。
http://proxy-s.virtualave.net/minibbs.cgi.txt
どなたかよろしくお願いします。
471教えて君No.470:2000/10/03(火) 04:50
すみません。↑のソースのアドレス間違っていました。
正しくはこちら↓です。
 http://proxy-s.virtualave.net/minibbs.txt
どなたか教えてくださいませ。
472>470:2000/10/03(火) 05:51

#◆記事(通常時)内容の文字サイズ(CSS設定)
$span_size = 'small';
#◆記事(図表モード時)内容の文字サイズ(CSS設定)
$pre_size = 'small';

の small を 10pt なり 20px なり xx-large なり x-small なりに書きかえると
うまくいくかもしれませんね。

473教えて君No.470:2000/10/03(火) 06:07
>472さん
レスありがとうございました。

>10pt 20px xx-large x-small
これの中で最も小さいのはどれなのでしょうか?
perlの知識は薄いもので・・・。
474名無しさん:2000/10/03(火) 06:19
> perlの知識は薄いもので・・・。
(CSS は HTML です・・・)
475教えて君No.470:2000/10/03(火) 08:17
>474さん
なるほどすみません。用語の知識も無いもので。
476名無しさん:2000/10/03(火) 10:27
>これの中で最も小さいのはどれなのでしょうか?

たった4種類のものを試行錯誤して自分の目で確認すれば済む事まで人に頼みますか…はぁ。
477教えて君No.470:2000/10/03(火) 11:17
>476
なるほど・・・。と反省して自分でやってみましたところ、
x-smallで上手くいきました。どうもありがとうございました。
478>476:2000/10/03(火) 14:22
11:52:22 nfo>winsock version 2.2
13:27:21 err>members.fortunecity.comが見つかりません
13:27:21 err>TCPIP error
14:02:53 suc>members.fortunecity.comが見つかりました
14:02:53 suc>members.fortunecity.com(204.198.135.20):80にconnect成功しました
14:02:53 rtn>サーバへリクエスト送信
14:02:53 cmd>GET /vidspool1/spoolmovie/Lexus_vicca_nakita.www.sexpool.net.mpeg HTTP/1.0
14:02:53 cmd>Host: members.fortunecity.com
14:02:53 cmd>Accept: */*
14:02:53 cmd>Accept-Encoding: gzip
14:02:53 cmd>Referer: http://members.fortunecity.com/vidspool1/spoolmovie/index.html
14:02:53 cmd>User-Agent: Iria/1.06
14:02:53 cmd>Connection: close
14:02:53 rtn>サーバからのレスポンス
14:02:54 res>HTTP/1.1 200 OK
14:02:54 res>Date: Tue@` 03 Oct 2000 05:00:22 GMT
14:02:54 res>Server: Apache/1.3.9 (Unix)
14:02:54 res>Last-Modified: Sun@` 03 Sep 2000 00:29:58 GMT
14:02:55 res>ETag: "46b898-71b98c-39b19b86"
14:02:55 res>Accept-Ranges: bytes
14:02:55 res>Content-Length: 7453068
14:02:55 res>Connection: close
14:02:55 res>Content-Type: video/mpeg
14:05:14 err>socket error
14:05:14 nfo>members.fortunecity.comから切断します
14:05:20 suc>members.fortunecity.comが見つかりました
14:05:20 suc>members.fortunecity.com(204.198.135.20):80にconnect成功しました
14:05:20 rtn>サーバへリクエスト送信
14:05:20 cmd>GET /vidspool1/spoolmovie/Lexus_vicca_nakita.www.sexpool.net.mpeg HTTP/1.0
14:05:20 cmd>Host: members.fortunecity.com
14:05:20 cmd>Accept: */*
14:05:20 cmd>Accept-Encoding: gzip
14:05:20 cmd>Referer: http://members.fortunecity.com/vidspool1/spoolmovie/index.html
14:05:20 cmd>User-Agent: Iria/1.06
14:05:20 cmd>Range: bytes=375440-
14:05:20 cmd>Connection: close
14:05:20 rtn>サーバからのレスポンス
14:05:21 res>HTTP/1.1 206 Partial Content
14:05:21 res>Date: Tue@` 03 Oct 2000 05:05:17 GMT
14:05:21 res>Server: Apache/1.3.9 (Unix)
14:05:22 res>Last-Modified: Sun@` 03 Sep 2000 00:29:58 GMT
479>>476のバカへ:2000/10/03(火) 14:26
1: 名前:鍛冶屋のスミス 投稿日:2000/05/15(月) 15:07

「こういうふうにCGIを改造したいけどやりかたわかんないよー」
という人がいましたら→「ここで聞いてください。」←
ひょっとしたらアドバイス出来るかもしれません。

なお、質問するときは
1)そのCGIのある場所(url必須!!!)
2)どんな風に改造して欲しいのか?
(具体的にわかりやすく書く。HTMLで完成後のデザインを書いて指定してくれればなお良し)
を必ず明記しよう。
480名無しさん:2000/10/03(火) 18:11
http://hisoka.vis.ne.jp/script/veda.html
の掲示板のCGIで、レスを削除をする場合に、レス自体を削除するのでは
なく、2ちゃんねるのように「あぼーん」を表示するようにしたいのですが。
名前欄とコメント欄は書き換えればいいのですが、日付は書き換えられないので
どうすればいいのか教えてください。
481名無しさん:2000/10/03(火) 18:37
>480
html.cgi に msg という名前の関数がありまして
そこに下のような行を追加するとうまくいくかもしれません
# $msg->[1] に記事の内容が入ってるようなので
# 記事の内容をみて削除されているようなら日付のかわりにあぼ〜んと表示するだけです


sub msg{
my $msg = shift;
$msg->[2] = $INIT_defaultname if $msg->[2] eq '';

print qq|<br><b><font color="$INIT_resid_color">$msg->[0].</font></b>\n|;

print ' <b>';
if( $msg->[3] ){ print qq|<a href="mailto:$msg->[3]">$msg->[2]</a>|; }
else{ print $msg->[2] }
print "</b>\n";

print '  投稿日: ';

if ($msg->[1] eq 'あぼ〜ん') { #<<< これを追加>>>#
print 'あぼ〜ん'; #<<< これを追加>>>#
} else { #<<< これを追加>>>#
# ( GMT + 32400sec = JST ) THANKS TO :Kenta
my( $min@` $hour@` $day@` $month@` $year ) = (gmtime $msg->[4] + 32400)[1@`2@`3@`4@`5];
printf "%d/%d/%d %02d:%02d<br>\n"@` $month+1@` $day@` $year + 1900@` $hour@` $min;
}#<<< これを追加>>>#

$msg->[1] =~ s/&lt;!--QC--&gt;/<font color="$INIT_quote_color">/g;
$msg->[1] =~ s/&lt;!--MC--&gt;/<font color="$INIT_murmur_color">/g;
print $msg->[1]@` "\n";
print "<br>" unless $msg->[1] =~ /<br>$/;
}
482名無しさん:2000/10/03(火) 18:39
481 ですが記事の内容のチェックとか文字コードがどうこうとかは
適当にやって動くようにしてください。
483名無しさん:2000/10/03(火) 19:03
う〜む
484名無しさん:2000/10/04(水) 12:30
あげまん
485>278:2000/10/04(水) 21:18
YYBBSの記事タイトル一覧の表示のさせ方ですが
Ver: 3.5だと278さんのやりかたで、できなくなっていました。
Ver: 3.5対応版の改造方法をおしえていただけないでしょうか?
486:2000/10/05(木) 00:26
Hilight1.22で、sage機能を追加したいんですが、どうすれば良いのでしょうか?
http://homepage1.nifty.com/ysc/hilight_cgi.txt
276行目のsub write以降を、自分で色々いじってみたんですけど、結局分かりませんでした。
tokijiroさんのところでは、今さらこんな古いのについて訊けませんし……

程度の低い質問で申し訳ありませんです……
487278>485:2000/10/05(木) 09:32
時間を下さい。
私が分析をしたのは、V2.81の頃なんで、V3.Xはきちんと読んでないんです。
手元にあるのもV3.4だし。
データの構造や、読み出し方法もV2.81と変わっているので、ちとむずい。
488>:2000/10/05(木) 13:31
>Hilight1.22で、sage機能を追加したいんですが、どうすれば良いのでしょうか?
>http://homepage1.nifty.com/ysc/hilight_cgi.txt
>276行目のsub write以降を、自分で色々いじってみたんですけど、結局分かりませんでした。
>tokijiroさんのところでは、今さらこんな古いのについて訊けませんし……

>程度の低い質問で申し訳ありませんです……
↑分かってるなら許してあげます。
489>474:2000/10/05(木) 14:37
>> perlの知識は薄いもので・・・。
>(CSS は HTML です・・・)
それも違う、CSSはCSSだ。
それ以上でも以下でもない。

どちらにせよ、文字を大きくするか小さくするかがPerlとは全く関係ない
ことに気が付いていない470は逝ってよし。
490>487:2000/10/05(木) 16:03
すみません、頑張ってくださいです。
491>485:2000/10/05(木) 16:06
yybbs.cgi 390行目付近の以下を探してください。

# ページ区切り処理
$start = $page + 1;
$end = $page + $p_log;

# 記事を展開
open(IN@`"$logfile") || &error("Open Error : $logfile");
$top = <IN>;

-------------------------------------------------------
「$end = $page + $p_log;」行と「# 記事を展開」行の間に
以下を挿入(全角スペース→半角スペースに変換する事!)
  ## ---------------------- x-kowa改 start ------------------------##
  print "<TABLE BORDER=1 WIDTH='90%' BGCOLOR=\"$tbl_color\"><TR>\n";
  open(IN@`"$logfile") || &error("Open Error : $logfile");
  $top = <IN>;
  $i=0; $j=0;
  print "<tr>";
  while (<IN>) {
    ($no@`$reno@`$date@`$name@`$mail@`$sub@`
      $comment@`$url@`$host@`$pw@`$color@`$icon) = split(/<>/);
    if ($reno ne "") { next; } ## レスは表示しない
    $i++; $j++; ## 親記事をカウント
    print "<td width=20%>";
    $ttl = $sub ;
    if (length($ttl) > 20) {
      $ttl = substr($ttl@`0@`18);
      $ttl .= "..";
    }
    if ($i >= $start && $i <= $end) {
      print "<a href=\"$script\#$no\">";
      print "<$no>$ttl";
      print "</a>";
    } else {
      print "<a href=\"$script?mode=res\&no=$no\">";
      print "[$no]$ttl";
      print "</a>";
    }
    print "</td>";
    if ($j eq 5) { print "</tr><tr>"; $j=0; }
  }
  close(IN);
  print "</TR></TABLE><br>\n";
  ## ---------------------- x-kowa改 end --------------------------##

次ぎに、上記を挿入後の行数で410行目あたりの
print "<td valign=top nowrap><font color=\"$sub_color\"><b>$sub</b></font> ";
を探す。
この行の上に以下を追加
if (!$reno) { print "<td valign=top><a name=$no>[$no]</a></td>"; } ## x-kowa改

以上!
492>487:2000/10/05(木) 16:08
早くやってくださいね。急いでますので。ぺこぺこ
493491:2000/10/05(木) 16:12
すまん長すぎたか・・・
動作確認してないのでチェックよろしこ。
クレジットに「x-kowa改」とでも書いてくれ(わら
494485>492:2000/10/05(木) 16:19
492は自分じゃないです。
495名無しさん:2000/10/05(木) 17:17
481は問題ありです
496ががーん:2000/10/05(木) 23:57
>495=社会ゴミ
497名無しさん:2000/10/06(金) 03:03
hilightを nifty の@homepageで使うにはどこを直せば
いいんでしょうか?

cgiとhtmlが別鯖管理なのでうまくいきません。
498名無しさん:2000/10/06(金) 03:45
それは改造じゃなくて設定だろうが。
499遊@486:2000/10/06(金) 05:36
>488さん 許していただいてありがとうございます……
とりあえず、330行のところに、

if ( $mail eq "sage") {
  unshift (@tmp@` "$read[$i]");
}else{
  push (@tmp@` "$read[$i]");}

ってのを入れてみたら、一応sageになるようなんですけど、
書き込み直後の表示が変になります。リロードすると直るんですけど……
ちなみに、↓こんな感じです。
http://asoviva.hypermart.net/cgi-bin/99/asoviva.html

どうにかならないものでしょうか?うーむ……
500:2000/10/06(金) 06:04
あ、二つしかスレッド立てて実験しなかったので分かりませんでしたけど……
499の方法だと、文字通り下がっちゃいますね。どこにあろうと一番下に。
501x-kowa:2000/10/06(金) 09:52
>485
出来たかぁ?

>497
hilightをしらないんだけど
@niftyはディレクトリを相対指定すればcgiからhtmlを指定
可能ですよ。
「../homepage/index.html」とか・・・
502名無しさん:2000/10/06(金) 18:28
>499=遊
@tmpと@headline_htmlと@sortの3つを同時に作ってるようなので
それぞれをsageに対処させないとだめっぽいですね。
308行、317行、318行のpushを、それぞれ($mail ne 'sage')のときのみ実行。
330行を、 next if ($id_in == $id_t && $mail ne 'sage') に変更
で、どうか。自信ないけど。
503ががーん:2000/10/07(土) 05:57
>489

知識自慢は逝って良し
504>503:2000/10/07(土) 09:40
うざ
505名無しさん:2000/10/07(土) 13:45
>>497

そのhilightは2ちゃんねると同様に書き込みがHTMLになるタイプですね。
niftyはCGIサーバのデータファイルへのアクセスを不可に設定しているので
HTMLサーバに書き込まないと見えない、ということですね。
以下はniftyでサーバ間の通信が可能だと仮定しての話。
CGIサーバにファイルを書き出すことはできるでしょうから、
hilightでindex.html生成後に、ftpアカウントとパスワードを使って
HTMLサーバにftp転送する処理を付加します。
要は、CGIが書き出したHTMLをあなたがftpでHTMLサーバに転送する
手順をCGIにやらせる、ということです。
かなり しんどくさい です。
          
506501:2000/10/07(土) 15:01
>505

そんな事しなくても、相対指定で可能ですってば・・・

http://homepage1.nifty.com/DOGCAT/doscmd.htm ←これ見てみ。

ソースは見せてくれないけど、CGI(PERL)でやってるのは確かだよ。
507>506:2000/10/07(土) 16:37
niftyは、指定可能かどうかはともかく、hpcgi(n).nifty.com サーバの
HTMLファイルにはアクセスできないと思うんだけど。やってみたことあるのか?

つーかリンク先の意味が不明だ。
508506:2000/10/07(土) 16:54
>507
CGIで、HTMLファイルを「../homepage/doscmd.htm」って指定すれば
htmlの書き換えは可能なんだよ。リンク先のやつはそうやってるんだ。

つーか、もしかしてネタ?
だったらごめん。

509名無しさん:2000/10/07(土) 17:02
得意気に語んなよ。
人の迷惑考えろ能なしが。
510506:2000/10/07(土) 17:10
>509
確かに私はperlもまともに作れませんが、「能なし」って・・・

497の質問に対して505のレスだと@niftyでは、cgiからhtmlの
書き換えは簡単には出来ませんってって事になるでしょ?
だから、ディレクトリを相対指定すれば可能ですと言ってる
のに・・・・
間違った情報をそのままにしておいた方が「迷惑」だと思うのだが?
511506:2000/10/07(土) 17:25
>>508
ああ、すまぬ。hocgiとhomepage、同じサーバだったのね。
それなら書き換えも表示も可能だ。

$htmlfile = '/public_html/hilight/index.html';

とか。

>>497
HTMLへの書き出し部分で、hilight.cgi(なのか?)の関係する部分を
全部http:からのURLで指定する必要あり

print HTML '<a href="hilight.cgi">';
っつーのがあったら、
print HTML '<a href="http://hpcgi1.nifty.com/USERNAME/hilight.cgi">';
みたいに。FORMタグも同様。
512505:2000/10/07(土) 17:36
質問に「別鯖」なんて書いてあったから別のサーバのことかと思ってたよ。
          
513510:2000/10/07(土) 22:41
>511
私も説明が苦手なので、説明不足だったと思います。
これからもよろしくおねがいします。
514:2000/10/08(日) 00:56
>502さん
それでいけました。バッチリでした。
ありがとうございます。

なんか皆さんsageで書かれているので私も……
515485:2000/10/09(月) 04:51
>x-kowaさん
できましたー
ほんとうに感謝です。
「KENT & MakiMaki & x-kowa」にしておきます。
516CGI初心者:2000/10/09(月) 12:49
http://www2m.biglobe.ne.jp/~To-chat/script/upboard.html
を改造したいです。

現状の設定ですと、新しい書き込みが上に来ます。
それを逆に新しいものが下に並ぶような設定に出来ませんでしょうか?
経験豊富な諸兄。ご教授お願いいたします。
517名無しさん:2000/10/09(月) 14:52
>516
できると思うからソースが簡単に見られるようにして。
拡張子を".txt"に変えたやつをどこかにアップロードして
そのURLをここに書いてくれればオッケー。
518CGI初心者:2000/10/09(月) 18:25
http://www.geocities.co.jp/Athlete-Crete/2744/upboard.txt

早速準備しました。TOPページはまだありませんが
よろしくお願いします。
519名無しさん:2000/10/09(月) 20:01
>518
186行目の「@DATA = reverse(@DATA)」で逆順にしてるのを
やめればいいっすね。
この行を削除するか、行頭に"#"をつけてコメントアウト。
520CGI初心者:2000/10/09(月) 20:03
ありがとうございました!!大感謝です!
521便乗質問:2000/10/10(火) 18:38
すみません、516、518さんのアップボードを見て
自分も使いたいなと思ったのですが、1行レス投稿されると
親記事が一番上に上がるにはどうしたらいいでしょうか?
522名無しさん:2000/10/10(火) 18:54
エッチネタはここでしゃべれ!
アダルトの杜
http://www.adultforest.com/
==========================================
523名無しさん:2000/10/10(火) 21:16
>521
どのへん改造しようとして、どこで挫折したか書かないと、
誰もうまく答えられないよ。
もちろん「まったくわからないので丸投げします」ていうのも
アリだが、それだと反感を買って放置の可能性が高い。
516=518は少なくとも自分でソースをアップする誠意を見せたので
好感を持たれたんだろう。
524便乗質問:2000/10/10(火) 22:14
>523
仰る通りですね、ご指摘ありがとうございます。
改造については、全くわかりませんでした。
ただ自分のサーバスペースは友人との共用で、indexが友人のサイトの
入口なのでテキストアップが出来なかったのです(友達に嫌がられて)。
自分でアップ出来る環境になったら、又改めて質問しようと思います。
525名無しさん:2000/10/10(火) 23:12
質問をする前に本を読んで勉強しろよ。
入門用のサイトもある。
そのためのスレもあるだろ。
質問に答えている奴も、その辺りの事を考えて答えてやってるのか?
526いいえ:2000/10/11(水) 15:44
あまり知識の無い自分でも
「他人に教えてあげられるんだ」
という快感に酔いしれてるだけです。
527名無しさん:2000/10/13(金) 05:06
安室のページみたいなチャットって作れませんか?
どうしても合う言うものを作ってみたい。
528nana死:2000/10/13(金) 06:10
>527
PERLの前に日本語勉強してね
529 :2000/10/13(金) 07:56
>>527
「安室のページみたいなチャット」が判らないと教えられないよ。
530名無しさんぽい:2000/10/13(金) 08:24
ここは改造スレであるから自力でなんとかしようとする人が来るもんだと思ってたが、違うのか?

>>527
安室のチャットがどんなか知らんが、それが借り物なら
クレジット(作者のサイトのURLや名前)が下のほうにあるんじゃないか?そこ参考にすれ。
529 にもあるように質問するなら具体的に書かないと解答のしようがないぞ。
頭の中覗けるわけでも有線で繋がってるわけでもなし。
531名無しさん:2000/10/13(金) 19:20
>>529
「作れませんか?」って質問だから
「作れますよ。頑張ってね」で終了
532530:2000/10/13(金) 23:54
悪い、俺なんか勘違いしてたみたいだ。鬱さげ。
533名無しさん:2000/10/14(土) 05:48
534BBS:2000/10/15(日) 03:24
安室だけにage
535モルツ(389):2000/10/15(日) 03:45
すいません。2度目でコピペで申し訳ないのですが、困っているので
よろしくお願いします。

以下コピペ。。

http://www.osk.3web.ne.jp/~ryui/down/index.htm
で紹介されているThe Show10で二重投票を禁止させる
ようにしたいのです。

このCGIは「○○とかけて××ととくそのこころは△△」
というものを投稿してもらい、そのネタに対して
面白ければ座布団をあげ、つまらなければ座布団をもっていく
というものです。

方法としては「ネタ」を投稿した人のIPを記録。
そのネタに対して「投票」した人のIPを記録して
「ネタ」を投稿した人のIPといれかえていく。
そこで同じIPだったらエラーを出すというように
簡易的ではありますが、二重投票を禁止させたいのです。

ネタを投稿された人のIPを記録する方法までは
できたのですが、それ以降がどうやっていいかわかりません。

いちおうできたとこまで(1行加えただけですが)スクリプト
あげときますので、わかる方いらっしゃいましたらアドバイスください。
よろしくおねがいします。

http://buffy.acmecity.com/fang/463/show10.txt
536ほういち:2000/10/15(日) 04:51
ある程度perlがわかるなら、人気投票などの2重投票禁止が
ついてるスクリプトを参考にさせてもらったら早いと
思いますが、いかがですか?
537名無しさんとも言える:2000/10/15(日) 05:07
>>535
今書いたんでてきとーだが。

# [SCRIPT START]

$IPFILE = 'ip.log';

# IPアドレスを $IPADDR に読む
open(IP@` $IPFILE);
($IPADDR = <IP>) =~ s/[\n\r]//g
close(IP);

if( $IPADDR eq $ENV{'REMOTE_ADDR'} ){ # IPチェック
  print "Content-Type: text/plain\n\n";
  print "二重投稿です。";
  exit;
}

##########################
#### この辺で投稿処理 ####
##########################

# IPアドレスを書き出す
open(IP@` '>'.$IPFILE);
print IP $ENV{'REMOTE_ADDR'};
close(IP);

print "Content-Type: text/plain\n\n";
print "投稿完了。";
exit;

# [SCRIPT END]


問題点)
1月経とうが、100年経とうが同じIPからは投稿できない。
(ずっと同じてのはそうそうないから気にしなくていいかもしれんが)
538モルツ:2000/10/16(月) 00:05
レスありがとうございます。
http://buffy.acmecity.com/fang/463/show10.txt
にあげたスクリプトでログの形式が
記事NO@`名前@`メアド@`○○とかけて@`××ととく@`その心は△△@`日付@`獲得座布団枚数@`IP
という順番になっているのですが、座布団の処理をするごとに
獲得座布団枚数といっしょにIP部分を書き換えていきたいのです。

新規投稿の際にログにIPを記録するところまではできているのですが、
IP部分を書きかえるというのができないのです。
ついでにIPが一緒ならエラーを出すといのもできません。
要はログを読み出してIP部分はここだよ、とさせる方法がわかりません。
要は厨房です。

>ほういちさん
人気投票のスクリプトを参照してみたんですけど、
ちょっと私にはわかりませんでした。。
Perlまったくわからないので。。

>名無しさんとも言えるさん
その方法だと、同じIPから投票できる回数は1回限りですよね。
私はLAN回線のIP固定なので、できればそれは避けたいのですが。

スクリプトありがとうございました。
でもなぜか500です。。
ちゃんと組み込んだはずなのですが。
おそらく私の力不足です。すいません。。

というわけで皆様、できれば↑の方法でできるよう
ご教授お願いいたします。
できれば何行目にこれを入れるとかアドバイスいただけると・・・。
ホント、厨房で申し訳ないです。
539モルツ:2000/10/16(月) 00:08
長文スイマセン。。
540537だが:2000/10/16(月) 01:04
>>538
500エラーって、そのんまんまコピペしてないかい?
全角空白は見栄えのために入れてるだけだからタブに変換しときよ。
私は質問に対するヒントなら余裕がある限り出すけど答えそのものは正直あまり出したくない。

一例>
IP保存してるファイルの最終更新日時を現在と比較して1日経ってたら同IPでも投稿を許可。
(-M $FILENAME) で更新から何日経ったかが小数点付きで返される。
541モルツ:2000/10/16(月) 01:36
全角空白はちゃんと消したんですが。。
他にエラーが出やすい点ってあるんですか?

すいません、もう少し知識をつけてから来るべきですね。
542537 やっちゃった:2000/10/16(月) 01:58
あー、 ($IPADDR = <IP>) =~ s/[\n\r]//g の後に ; 付け忘れてたわ。スマソ。
でも telnet でスクリプトを試してないの?
エラーメッセージ見れば大抵どの変に問題あるかわかるじゃろ。
自分のマシンに Perl 組み込んでもいいし。
543モルツ:2000/10/16(月) 02:21
>537さん
ありがとうございます。できました。
ちゃんと2重投稿蹴ることができました。

今後はtelnet入れてメッセージ見ることにします。
っていうか、気づけよ>俺って感じですよね。すいませんでした。
厨房の私に付き合ってくれて、どうもありがとうございました。
544537:2000/10/16(月) 03:36
>>543
そう素直に謝られてしまうとこっちが気まずくなったりする(w
好感が持てるのでついでにこれも書いておきます。
前の if 判定部分をこれで置き換えてください。
IP ファイルの最終投稿(更新)から1日越えていれば、同IPでも投稿許可します。
1 の部分を書きかえれば一週間でも1月にも変更可能です。
さらに短くするなら半日が 0.5、6時間なら 0.25 としておけばできる(はず)です。

if( $IPADDR eq $ENV{'REMOTE_ADDR'} && (-M $IPFILE < 1) ){ # IP、日付チェック
545モルツ:2000/10/16(月) 23:52
>544=537さん
おぉー、ありがとうございます。
現在おかげさまでメチャ快適に動いています。
重ね重ねありがとうございました。
546やし:2000/10/18(水) 06:32
な、なんだか上げにくい雰囲気ですのでsageでお尋ね致します・・・。
http://www2q.biglobe.ne.jp/~terra/cgi/news.htm
こちらのCGIでリンクのタグOKにしたいのですが、どんな分を挿入すれば
いいでしょうか。

たぶん、以下の部分に増やせばいいと思うんですが・・・。
sub tag_change {
local($_) = $_[0];
$_ =~ s/&eq;/=/g;
1 while s/(.*)(&lt;(img([!-:A-~\s\=]+))&gt;)/$1<img$4>/i;
1 while s/(.*)(&lt;(b)&gt;(.*)&lt;\/b&gt;)/$1<b>$4<\/b>/i;
1 while s/(.*)(&lt;(i)&gt;(.*)&lt;\/i&gt;)/$1<i>$4<\/i>/i;
1 while s/(.*)(&lt;(font[\s\w\=\#\"\']+)\&gt;(.*)\&lt;\/font\&gt;)/$1<$3>$4<\/font>/i;
$_ =~ s/=/&eq;/g;
$_;
}

書き込みの時に
<A HREF="****.html">こちら</A>
と書き込んだら
こちら←にリンクが貼られるようにしたいのですが。。。
547やし:2000/10/19(木) 01:10
うっうっう。こんなに下がっては誰にも読んではもらえない・・・。(T_T)
548名無しさん:2000/10/19(木) 05:03
アクセス解析でログに、掲示板で記入された名前とかを一緒に
表示する事はできないんでしょうか
クッキーでどうにかなるような気がするのですが
そういった物を見かけないので、、、

今はterraのアクセス解析使っていますが
http://www2q.biglobe.ne.jp/~terra/cgi/access2.htm
efstatをこれから使いたいなと思っています
http://tech.millto.net/~fuka/about/fstat.html
549548:2000/10/19(木) 05:22
ごめんなさい
クッキーで二重カウント禁止できる機能ついている物の方が
きっと改造しやすいんでしょうね
改造元のCGIは何でもいいんですが、、、
550>548:2000/10/19(木) 13:05
その掲示板のソースがわからないと何とも言えないんだけど。
551名無しさん:2000/10/22(日) 04:05
http://www1.kcn.ne.jp/~mig-poco/cgi/mibbs.lzh
の2ch型掲示板なのですが、メッセージを投稿人が削除出来るよう
改造して下さい。作者はやる気が無いようですので・・・
お願いします。
552名無しさん :2000/10/22(日) 10:46
KentwebさんのWforumについて質問です。
http://www.kent-web.com/bbs/wforum.html?

自分が設置した掲示板の表示フォントがMSゴシックなのですが、
この表示をMS UI Goshicにするにはどうしたらよいでしょうか?

お解りなる方がいましたらご教授ください。m(_ _)m
553名無しさん:2000/10/22(日) 11:28
>>551
その機能を2ch型で付けるとCGI鯖を飛ばしかねないぐらい負荷が
かかるらしいぞ。別タイプの2ch型掲示板は機能が付いていながら、
使用を推奨していなかった(なら付けるなと思った)
554名無しさん:2000/10/22(日) 12:05
>>480
に似たお願いなのですが、
http://hisoka.vis.ne.jp/script/veda.html
の真性2ch風で
あぼーん表示をしたいのですが、
たとえば、ログファイルで日付は 972167932 とか書かれていますが、
この数字を特定の数字に管理人が変えると、日付欄があぼーんになるとか
できませんか?
超素人です。よろしくおねがいします。
555名無しさん:2000/10/22(日) 19:29
素人は勉強しましょう。
556初心者です:2000/10/22(日) 19:33
初心者です。
ぷちボードをHTML表示にしたいのですが
どうすればいいでしょう。
よろしくおねがいします。
557名無しさん:2000/10/22(日) 21:28
右クリックでソースの表示
558初心者です:2000/10/22(日) 22:35
>557
そういう意味ではありません。
パールマスターの方お願いします!!
559バール兄弟:2000/10/22(日) 23:25
>558
もうちょっと勉強しようね。
お役立ちスレッドも出来たしさ
560教えて君:2000/10/22(日) 23:53
CGIで生成されるページに
&lt;!--#include virtual=""--&gt;
みたいな感じでSSIを組み込みたいのですが、
どうしたら良いのでしょうか?

板違いでしたらすみません
561名無しさん:2000/10/23(月) 00:02
一般に、CGIで生成されたHTMLの中はパースされません。無理。

つーかCGIで生成されるんなら、全部そのCGIで処理すれ。
562名無しさん:2000/10/23(月) 00:36
KENTさんのCOSMO NAVIにランダムジャンプ機能をつけたいんだけれど
どうすればよいのでしょうか。
563554:2000/10/23(月) 01:42
おしえて・・
564名無しさん:2000/10/23(月) 03:16
教えてくれるまで待て。
そして逝け。
565名無しさん:2000/10/23(月) 05:44
>556
>562

1をよく読め。
元のソースの場所もわからないのにどうやって改造するんだよ?
566名無しさん:2000/10/23(月) 08:50
なんか似たような質問あった気がしますが許して

http://www1.kcn.ne.jp/~mig-poco/cgi/mibbs.lzh
の2ch型掲示板って@niftyで設置できませんか?
htmlなどのファイルとCGIファイルが別なので無理っぽいです。
どうも書き込んだ後に homepage○/username/index.htmlではなく
hpcgi○/username/index.htmlを見に行ってしまうのが
駄目なような気がするんですけど。

長文ごめんです。
567名無しさん:2000/10/23(月) 21:29
>>566
ニフティでは、CGIでファイルが作れないと思った。
そういうところじゃ、2ch型は基本的に無理だよ。
568初心者です:2000/10/23(月) 22:07
よろしくお願いします。
569566:2000/10/23(月) 23:52
>567
やっぱ無理ですか。
レスサンクス。
570>566:2000/10/24(火) 00:39
このスレの最新レス100くらい読めよ。
niftyでも、htmlの指定は可能だよ。
571あのー:2000/10/24(火) 00:49
あのー既出かもしれませんが、
KENT氏の「プチ☆ボード」のレスを複数行対応にするには
どうすれば一番いいですか?
http://www.kent-web.com/bbs/index.html
572名無しさん:2000/10/24(火) 01:17
<textarea cols=$com_wid rows=7 name=comment wrap=$wrap></textarea>
573566:2000/10/24(火) 06:53
>570
一応全部読んだんですけど、書き換える部分が
わからんかったので。
スマンです
574名無しさん:2000/10/24(火) 09:09
>566
時間が許すなら今度の日曜日に見てみるから待ってくれるか?
おれもNIFTY会員なんで試してみたい。
575566:2000/10/24(火) 12:38
>574
どーもッス
いつまでも待つよ
576>566:2000/10/24(火) 22:42
サポートBBSがあるじゃん。
なんでそこで聞かないの?
577566:2000/10/25(水) 01:11
>576
サポートBBSに、すでに似たような質問があったんですけど
解決してないっぽかったので、ここに書かせてもらいました
ごめんよ
578名無しさん:2000/10/28(土) 03:38
age
579長文で失礼:2000/10/28(土) 04:03
下の「ゆいぼーど2」を改造したいのですが、
http://www.mirai.ne.jp/~mikeneko/yuibot/yui/chat/board/yui2/index.html

デフォルトのゆいぼーど2だとスレッド(ゆいぼーどで言うところのトピック)
の一覧表示のさいにスレッドの作成順に一覧表示されるため、古いスレッドに
レスを付けても、新しく作成されたスレッドに埋もれてしまう形になって分かり
にくい仕様になっているようです。

 これをレスを付けられたスレッドを、スレッド一覧表示の先頭に移動するよう
改造したい(2ちゃんねるで言うところの“あげ”ですね)です。

簡単に言うと
「ゆいぼーど2をスレッドの“あげ”に対応させたい」
という事です。

m(_ _)mどうかヨロシクお願いしますm(_ _)m

580名無しさん:2000/10/28(土) 08:46
m(_ _)mどうかヨロシクお願いしますm(_ _)m
581ミクリ:2000/10/30(月) 20:06
KENTさんのYYBBSで特定のタグ(metaやjava scriptなど)だけを無効にするには、どう改造すればよいのでしょうか?
よろしくお願いしますm(_ _)m
582名無しさん:2000/10/30(月) 20:42
m(_ _)mどうかヨロシクお願いしますm(_ _)m
583名無しさん:2000/10/31(火) 00:26
http://www.mediawars.ne.jp/~okapin/
↑ここのチャットのスクリプトに
アクセス制限を付けたいんですけど
やり方がわかりません。
どうか教えてください!!よろしくお願いします!!
584名無しさん:2000/10/31(火) 01:30
>583
どんなアクセス制限をしたいのかわからないと教える事が出来ません。
585名無しさん:2000/10/31(火) 03:51
名前とパスワードを入れるフォームを入り口に設置。
586583:2000/10/31(火) 10:51
>584
ごめんなさい!
IPでアクセス制限をしたいんですけど・・
このチャット、入室したときにIPがでるんですけど
あれでアクセス制限をしたいんです。
できますかね?やはり585さんのようなやり方しか
ないのでしょうか・・。
587名無しさん:2000/10/31(火) 13:02
金を出せば出来る。
588名無しさん:2000/10/31(火) 14:20
114行目に
-- okpchat.cgi --------
$kill_file = './kill.dat';
$host = $ENV{'REMOTE_HOST'};
open(DB@`"$kill_file") || die "Cannot Open Log File $kill_file: $!";
@lines2 = <DB>;
close(DB);
foreach $line (@lines2) {
next if(length($line)<4);
chop $line;
if( $host=~/$line/ ){ print "Status: 404\n\n"; exit; }
}
----------
あとは kill.dat を置くだけ。
-- kill.dat --------
ocn.ne.jp
odn.ne.jp
tiki.ne.jp
----------
ゆいちゃっと。
kill.dat の名前かえるのと、
置くディレクトリはブラウザで見れないところへ。
589588:2000/10/31(火) 14:21
日本語変だ。許せ。
590名無しさん:2000/10/31(火) 15:02
CGIで画像のサイズ(たて・よこ)取得することできますか?
あと、pngcatって誰か作ってませんか?
591名無しさん:2000/10/31(火) 15:04
あー間違えた!CGI制作工房と読んでました。
申し訳無いです。
592583:2000/10/31(火) 15:23
>588
どうも有り難うございます!!
早速試してみたいと思います。
593588:2000/10/31(火) 16:06
ごめん、下記の行要らない(^^;

next if(length($line)<4);
594すいません579です :2000/10/31(火) 18:05
>>579

どなたかヨロシクオネガイシマス
595nanasii:2000/10/31(火) 20:25

sub listing の中の
...
@roomlist = sort { $a <=> $b; } @roomlist;
@roomlist = reverse (@roomlist) if ($rev ne 'off');#offでなければ逆順にする。
...
このあたりだろ。多分。
# 言っとくがまともによんでない。

596nanasii:2000/10/31(火) 20:42
$filedata = -M "./den/log.$room.dat";
このデータが'room'の最新書き込みの古さみたいだから
$sorting_hash{$filedata} = $room;
みたいな配列つくってそれで@roomlistをsortするように
さっきの部分を改造する。

594@`595ともlist.cgi中の sub listingの最初の20行以内の部分の話。

597nanasii :2000/11/01(水) 00:32
いや。。つーかこれすでに改造中か。

595@`596はナシね。
598japu:2000/11/01(水) 03:27
599名無しさん:2000/11/02(木) 02:02
http://www.geocities.co.jp/MusicStar-Piano/7845/updown.txt

この掲示板にタイトル一覧とそのタイトルをクリックしたらそのタイトルの話題に
飛べるようにしたいのですが、、、
是非ともやり方を教えて下さい。
600名無しさん:2000/11/02(木) 23:59
>590
ありがとうございます.いい人だ
まず英語から勉強してきます.
601かなりCGI初心者:2000/11/06(月) 17:42
http://www.2apes.com/products/dwnld/apbdp_sjs.lzh
既出でしたら、すみません。
apebordのcgiの特徴が
例 message&lt;!--s--&gt;をHTMLに書き込むと
 そこにメッセージログがでます。
+バージョンはIPの取得をしてる見たいだけど、管理用のみしか表示してません。
それをスキンの方にも表示させたいのですが、
例えば、host&lt;!--s--&gt;というのをつけるにはどうしたらよりしいですか?
リモートホストでいいのです。
ブラウザ環境も取得して、表示できると。。。。

602かなりCGI初心者:2000/11/06(月) 17:46
一応本をみながら、アクセス解析を自分で作ったくらいしか知識がないですので、
全部教えてくれというのはあつかましいと思います。
せめて、道を示してくれると、ありがたいです。
あとはなんとか、自分で勉強します。
603適当君@tako復活だぴょん:2000/11/06(月) 18:59
>602 DLして教えろって?
print"リモートホスト$ENV{'REMOTE_HOST'}\n";
604名無しさん:2000/11/06(月) 19:20
apeboardってHTMLをいちいち置換して表示するアレだよな。
だったら、たぶん

$html =~ s/message&lt;!--s--&gt;/$message/;

とかいうのがあるから、同じように

$html =~ s/host&lt;!--s--&gt;/$ENV{REMOTE_HOST}/;

とかやるんでないの。
いちいち下載する気もないし、これ以上はわかりません。
605かなりCGI初心者:2000/11/06(月) 19:38
メインCGIソースより抜粋
# メイン部分の作成と文字列の変換(親部分)-----------------------
 $maintmp = $mainhtml;
 $maintmp =~ s/(name="target")/$1 value="$dispid"/i;
 $maintmp =~ s/idnum&lt;!--s--&gt;/$dispid/i;
 $maintmp =~ s/name&lt;!--s--&gt;/$dispname/i;
 $maintmp =~ s/url&lt;!--s--&gt;/$dispurl/i;
 $maintmp =~ s/icon&lt;!--s--&gt;/<img src="$icon_path$dispicon\.$icon_format" width="$icon_width" height="$icon_height" alt="$dispicon" border="0">/i;
 $maintmp =~ s/subject&lt;!--s--&gt;/$dispsubject/i;
 $maintmp =~ s/message&lt;!--s--&gt;/$dispmsg/i;
 $maintmp =~ s/date&lt;!--s--&gt;/$dat_tmp/i;
 $maintmp =~ s/mail&lt;!--s--&gt;/$dispmail/i;
 $maintmp =~ s/(a href="resinput")/a href="$thisurl?command=viewres&target=$dispid"/i;

というような記述があります。
そこに
$maintmp =~s/host&lt;!--s--&gt;/$ENV{REMOTE_HOST}/i;
になるんでしょうか?
CGI自体IPを取得してますので、
一応datファイルのなかに名前、メアド、時間、題名、内容、IPという順に
あります。
それのIPのみを引っ張り出したいです。
606かなりCGI初心者:2000/11/06(月) 19:45
補足ですが、
管理用のページでは投稿者のIPが表示されてます、
そのソースでは
$disphostと書いてます。
ということは
$maintmp =~s/host&lt;!--s--&gt;/$disphost/i;
になるんでしょうか?
607かなりCGI初心者:2000/11/06(月) 19:47
ちょっと自分でやってみます。
本当はIPより、ブラウザ環境とかを表示させたいと思ってます。
取得については、このソースでどういう書き方をしたらよろしいですかね?
608かなりCGI初心者:2000/11/06(月) 20:13
できました。(笑)
考えて方は間違っていませんでした。
>>604
ありがとうございます。
609かなりCGI初心者:2000/11/06(月) 20:21
何回も書き込んですみません。
次はブラウザの環境の取得を勉強してみます。
これはちょっとてこずりそうです。
610むぎ茶:2000/11/06(月) 23:47



バカだろ。
そのくらいでてこずってるようじゃ、お先が知れてるね。わr

611適当君:2000/11/06(月) 23:58
>609 サンプルでいいから見せい!
612名無しさん:2000/11/07(火) 00:17
apeって設置とか面倒くさいのに人気あるね。
何ででしょ。
613名無しさん:2000/11/07(火) 00:36
HTMLさえ書ければよいから。
ape使ってるくせにデフォルトのデザインなトコには萎え。
614>610:2000/11/07(火) 04:02
うん。むぎ茶なみだね。
615名無しさん:2000/11/07(火) 14:17
それは言い過ぎだ。
616名無しさん:2000/11/09(木) 00:00
http://www.amezo2000.com/amezo.txt

sageをつけて、ページごとの表示ではなく過去ログメニューにしたい
(つまり2chっぽく)んですが……
617ここって:2000/11/12(日) 16:00
むぎ茶みたいなくそは別として、親切な人多いなぁ
でも私は面倒なのでしない
618名無しさん:2000/11/12(日) 23:50
age
619名無しさん:2000/11/13(月) 10:36
お願いします。
KENTさんのプチボードあまりにも有名すぎますが一応URL
http://www.kent-web.com/bbs/petit.html?
この掲示板自動リンク機能がついてるのですが(http//〜〜と書くとリン
クが貼られる)でいざリンクをクリックするとそのまま飛んじゃうんです、
2chみたいに別窓でリンク先を開くようにしたいのですが、ご助言いた
だけると幸いです。
620名無しさん:2000/11/13(月) 10:54
>619
それってCGIとか関係なくて
単にaタグリンクにtarget=_blankを
指定するだけなんじゃないのか??
621名無しさん:2000/11/13(月) 11:00
petit.cgi の 1251行目

$_[0] =~ s/([^=^\"]|^)(http\:[\w\.\~\-\/\?\&\+\=\:\@\%\;\#]+)/$1<a href=$2 target=_top>$2<\/a>/g;
              ↓
$_[0] =~ s/([^=^\"]|^)(http\:[\w\.\~\-\/\?\&\+\=\:\@\%\;\#]+)/$1<a href=$2 target=_blank>$2<\/a>/g;
622oyaji:2000/11/13(月) 18:28
はじめまして、
http://www.kent-web.com/bbs/index.html
に有りますCOM BOARDです。
改造点は、
名前など項目を複数追加8から10項目ぐらい
(現状=お名前・Eメール・題 名・コメントの4項目)
保存形式をCSV形式に
(現状=項目区切りは<>になっていますので@`に)
簡単なデータベースにしたいのです。
623名無しさん:2000/11/14(火) 00:23
CGIに直リン防止機能を付けたいのですが、

if ($base_url ne ".") {
$ref_url = $ENV{'HTTP_REFERER'};
$ref_url =~ s/\?(.|\n)*//ig;
$ref_url =~ s/\%7E/\~/ig;
if ($ref_url !~ $base_url) { &error("直リンはダメ!"); }

でいいのでしょうか?
624いちろう:2000/11/14(火) 00:52
そう聞くか? 逆に聞かないか? >623
625名無し人間:2000/11/14(火) 17:36
CGIの改造って一体どうやってやるんですか?
HTMLを書きかえる時みたいにメモ帳を使って?
626>625:2000/11/14(火) 17:59
あなたの場合、ここ
http://www.kent-web.com
に逝った方がいいかもしれません。

ひろみちゅ@Perl板担当
627名無しさん:2000/11/15(水) 00:05
↓ここにある、Multiply Data Base
http://wand.cside.ne.jp/cgis2.html#haihu
を改造して、データの検索専用にしたいのですが、どうしたら良いでしょうか。

したい事
1:タイトル、副タイトル、内容以外の要素を追加したい。(逆に入力日はカットしたい)
2:データの検索専用(*.datはローカルで入力)にして、軽くしたい。
3:窓口の*.htmlにチェックボックス式のフォームを置いて、キーワード検索と同様に絞り込みたい。
4:おまけで、利用数をカウントしたい。

以上です。よろしくおねがいします。
628むぎ茶:2000/11/15(水) 00:18


自分で勉強しろ。


┏━━━━━━━━━┓
┃('Д')y ─┛~~ ┃
┃むぎ茶      ┃
[email protected]  ┃
┗━━━━━━━━━┛
http://all.at/bit

629名無しさん:2000/11/15(水) 00:42
>>627
むぎ茶の言い方もどうかと思うが、
改造する場所のソースをここに提示できる程度の簡単なことか、
提示できるくらい、改造個所を絞り込めてないと、ほとんど無理だよ。
聖人のような人でなければ、DLして解凍して改造個所を探すようなことはできない。

とりあえず、
2. 利用者は書き込めないようだし、単に管理モード(?)を使わなければ良いだけでは。
  それともスクリプトのその部分を削除してコンパイル時間を減らしたいということ?
3. 見た感じ、単に <input type=checkbox name=key1 value="キーワード"> などとやればできそう。
  ただ、key1という名前のデータは1つしか送れないようなので、ラジオボタンの方がいい。
1と4はスクリプト見ないとなんとも。
630625の名無し人間:2000/11/15(水) 05:15
http://www.kent-web.com に行きました。
最初はよく分からなかったけど
パソコン上でCGIを実行するためのソフト(HTTPD )が必要だということですね。

CGIを改造するには
まずメインプログラムファイルをエディタで開かなければいけないことが分かりました。
このエディタというのはメモ帳で良いんですか?
631名無しさん:2000/11/15(水) 05:43
とりあえず、Apacheとperlをダウソだな。両方で15MBくらいだっけ。
がんばれ。くれぐれも鯖で実験しないように。
メモ超でも良いが、エディタ使った方が、\";とか
予約語のタイプミスが激減して作業楽だぞ。

最近perlからphp+mysqlに移行。
さらば<>区切り。さらばflock。鬱氏。
632>631:2000/11/15(水) 08:50
>さらばflock

flockなくても、lock tableやら、rollbackやらがあるじゃん、、、
633625の名無し人間:2000/11/15(水) 09:05
>631
ありがとうございました。
Apacheというのがどんなものなのかはまだよく分かっていませんが
これから勉強して覚えていきたいと思っています。

エディタを使った方が楽だということですが
ここで言うエディタというのは秀丸などのソフトのことですよね?
何度もすみませんが教えて欲しいです。

あと、がんばれという言葉がすごく嬉しかったです。
本当にありがとうございました。
634627:2000/11/15(水) 11:18
>>629
>2. 利用者は書き込めないようだし、単に管理モード(?)を使わなければ良いだけでは。
>   それともスクリプトのその部分を削除してコンパイル時間を減らしたいということ?
そうです。

>3. 見た感じ、単に <input type=checkbox name=key1 value="キーワード"> などとやればできそう。
>   ただ、key1という名前のデータは1つしか送れないようなので、ラジオボタンの方がいい。
それだとあまり意味が…cgi-lib.plでも使えば上手くいくでしょうか?

まぁ勉強中なので勉強がてらいじってるのですが、うまくいかなくて。
失礼しました。
635627:2000/11/15(水) 17:48
なんとか上手くいきました。
636sada:2000/11/18(土) 20:19
TheRoomのOne Line BBS Light Ver.1.10で、メッセージ($msg)の連続投稿ができないんですけど。
改造箇所を教えてもらえませんか。

://dream.lib.net/room/sys/dlcount/dlcount.cgi?f=2_1

637名無しさん:2000/11/19(日) 00:30
>636
http://dream.lib.net/room/sys/dlcount/dlcount.cgi?f=2_1
なんで直接リンク張らないの?
638名無しさん:2000/11/19(日) 00:45
>>637

玄人ぶりたいお年頃なのさ
639>636:2000/11/19(日) 01:36
メッセージの連続投稿ができないの意味がわからないんですが・・・
確かに同じメッセージを連続で投稿する事はできない処理になって
ますね。それの事でしょうか?もしそれのことでしたら改造点は
157行目からの条件分岐を以下のようにコメントアウトすれば
いけるのでは?
##if ($y2[2] eq $msg){
## close(IO);
## }else{
$a1=time();
unshift(@y1@`"$name<>$color<>$msg<>$a1<>$ip/$host<>\n");
if ($#y1 >= $pastlines){pop(@y1);}
truncate(IO@`0);
seek(IO@`0@`0);
print IO @y1;
close (IO);
## }
640名無しさん:2000/11/19(日) 03:30
http://tech.millto.net/~fuka/
のEFSTATのアクセスログに、IPも記録できるようにしてもらえないでしょうか…?
改造箇所を教えてもらえると助かります。
641名無しさん:2000/11/19(日) 06:01
http://210.143.99.143/~cgi/cgi-bin/winview.cgi


Computer Name
ってどうやって取得するんでしょうか。
アクセスログに追加したいのでソースの部分を教えて下さい。
642むぎ茶:2000/11/19(日) 06:45



そのくらい自分で調べろよ、ばーk。


┏━━━━━━━━━┓
┃('Д')y ─┛~~ ┃
┃むぎ茶      ┃
[email protected]  ┃
┗━━━━━━━━━┛
http://all.at/bit

643名無しさん:2000/11/19(日) 13:57
人に頼り過ぎなんだよ、ばーか
644名無しさん:2000/11/19(日) 23:21
改造してほしけりゃ金払え
645625の名無し人間:2000/11/20(月) 05:30
エディタというのは秀丸などのソフトのことですよね? (/_;)
646茶碗蒸:2000/11/20(月) 14:44
http://www2.117.ne.jp/~come-on/Homepage/.CGI/Management/Access_Blocker/passwd.pl.txt
掲示板にアクセス認証機能をつける事が出来るものです。

アクセス認証時はクッキーをオフにしてもパスワードで設定した
掲示板に入れるのですが、掲示板に書き込みをする時、
入室時にクッキーをオンにしていないと認証画面に戻ってしまいます。

クッキーを使いたくないのですが、
クッキーを使う機能部分を無くす事は可能ですか?
可能ならば教えていただけると有りがたいです。
647>>646:2000/11/20(月) 14:48
相談は有料です。
648名無しさん:2000/11/20(月) 16:28
>>646 \8000/時で承りますがどうされますか。
649茶碗蒸:2000/11/20(月) 18:23
8000円払うので教えて下さい。
と、思ったんですけど.htaccessで認証とることにします。

じゃー、書くなよ。はい、すいません。
650初心者でごめんなさい:2000/11/20(月) 19:30
http://ohaiue.virtualave.net/cgi-bin/petit.cgi

↑のように掲示板にスレッドのログ(?)を
全表示したいんですが出来ません・・・
どうすれば出来るか教えてください
651名無しさん:2000/11/20(月) 19:38
>>650
8000円払ってから質問してください。
652EPSOM:2000/11/20(月) 20:29
>>650
と申しますか、その様な機能を付けるのは
初心者でごめんなさい様が思われているより簡単かと存じます。
私は、自分で考えない教えて様に教える頭はございませんので
予めご了承頂きたく思います。

>どうすれば出来るか教えてください
651様も仰られている通り
8@`000円をお支払い下さい。
ギブ アンド テークですにょ。
653むぎ茶:2000/11/21(火) 01:18


8000円取るほどの価値もないよ。


┏━━━━━━━━━┓
┃('Д')y ─┛~~ ┃
┃むぎ茶      ┃
[email protected]  ┃
┗━━━━━━━━━┛
http://all.at/bit

654名無しさん:2000/11/21(火) 01:46
やんわりと断ってます。
8000円
655648:2000/11/22(水) 01:50
CGI板で\8000/時間って意外とうけてるな。
元ネタは↓ここです。
http://www.kk-net.ne.jp/support/faq2/1011.html
ここのFAQはなかなか愉快なので必見です。
656名無しさん:2000/11/22(水) 02:08
元ネタがあったのか(笑)
657名無しさん:2000/11/22(水) 16:23
で、偉そうにしてるが、本当はわからないんだろ?(ワライ
658>657:2000/11/22(水) 18:19
で、笑ってるけど、本当はお前が知りたいだけなんだろ?(ワライ
659>658:2000/11/23(木) 03:03
で、おまえも知らない一人なんだろ?(ワライワライ
660>650:2000/11/23(木) 07:21
バ・カ?
661名無しさん:2000/11/23(木) 11:55
たららららららららららららららららららららららあっらあー
662>659:2000/11/23(木) 12:16
で、知りたいからって煽ってるだけなんだろ(ワライワライワライ
663>662:2000/11/23(木) 14:44
で、で、やっぱり知らないんだろ?(ワライワライワライ
ちなみに俺は知らないぜ。ちなみに俺は659でも657でもないぜ。
ついでにオマエの母ちゃんデーベーソ。
664>663:2000/11/23(木) 17:12
ageてる時点で同類
665>664:2000/11/23(木) 18:09
sageる理由がわからん。
さらに何をそんなにムキになっているのかもわからん。
666名無しさん:2000/11/23(木) 18:39
ところでわからないことは馬鹿にされるようなことかな?
勉強すればいいだけだし、例え知識があっても他人を馬鹿にするような人はえらくもなんともないじゃん。
sageる理由は板とまったくなんの関係もないただの煽りだからだよね?
マターリシヨウヨ
667名無しさん:2000/11/23(木) 20:49
>>665

ひとえにおまえの頭が悪いだけ
668>667:2000/11/23(木) 22:26
いいかげんに煽るのヤメロ。どっか逝け。
669名無しさん:2000/11/23(木) 23:32
>667
だからageるなよヴォケ。
670名無しさん:2000/11/23(木) 23:33
>668
だからageるなよヴォケ。
671669=670:2000/11/23(木) 23:35
しくじった、鬱だ。。。。

よーするに内容無いのにageるな。分かったか?>668@`663@`661
672age:2000/11/23(木) 23:39
age
673671:2000/11/23(木) 23:42
>672
出ると思った。行動単純で良いね(ワラ
674名無しさん:2000/11/23(木) 23:45
わからないから教えて下さいと言っただけなのに
どうしてバカとか言って罵るんですか?
このスレッドの主旨に沿った質問をしただけなのに?
675>673:2000/11/23(木) 23:46
出ると思ったと言うと思った。単細胞バカ芯でくれ。
676どうでもいいが・・・:2000/11/23(木) 23:52
余所でやれ。673、675。
677671:2000/11/24(金) 00:03
>>675
真似か。。。独創性無いね。
ま厨房だしこんなもんかね。

>>676
ハーイ。他に当ても無いので止めマース。
678>677:2000/11/24(金) 00:24
まだやってるよ。しつこいやつ。お前気持ち悪いよ。
679名無しさん:2000/11/24(金) 00:34

    ∧_∧ うるせー!黙って聞けや!!
   ( `∀´)   ι ゚
   ( ¶¶¶ つ匚τ゚ 。
  | ̄ ̄ ̄ ̄ ̄|

    水掛け論ですよ。 おやめなさい
680名無しさん:2000/11/24(金) 00:56
http://ohaiue.virtualave.net/cgi-bin/petit.cgi

↑のように掲示板にスレッドのログ(?)を
全表示したいんですが出来ません・・・
どうすれば出来るか教えてください
681名無しさん:2000/11/24(金) 01:39
>>680
その掲示板で管理人に聞くのが手っ取り早いと思うが。
682むぎ茶:2000/11/24(金) 01:56



perlを勉強すればできます。完。


┏━━━━━━━━━┓
┃('Д')y ─┛~~ ┃
┃むぎ茶      ┃
[email protected]  ┃
┗━━━━━━━━━┛
http://all.at/bit

683名無しさん:2000/11/24(金) 06:37
perlの勉強しなくても管理人に聞く位出来ます。
やっぱむぎ茶って●●・・・。
684>683:2000/11/24(金) 13:06
Perlを勉強するのが一番良い道だと思いますが、どうでしょう?
685名無しさん:2000/11/24(金) 19:56
ていうか、これじゃこのスレ必用ないね。
686名無しさん:2000/11/24(金) 20:04
>>685
実際、この板のPerl/CGI関係の住人の大半は、
自助努力が皆無の教えてくんしか来ないなら、このスレは
なくなってほしいと思ってるよねえ・・・
かといって、その手の教えてスレが乱立するのも困る。
687名無しさん:2000/11/24(金) 20:23
このスレは努力しない教えて君が罵られて、努力するよう成長する為のスレです
688名無しさん:2000/11/24(金) 20:59
個々で聞いていいかわかんないですが、思い切って質問します。
CGIじゃないんですけど、Apacheのrewriteがわかんないです。
map.txtに
olduser1 newuser2
olduser1 newuser2
の用に書いておいて、
http://www.hoge.net/olduser1
とアクセスがあったときに、
/home/newuser/public_html/ の中身を表示させたいんですが、
どうもうまくいきません。rewriteのエンジンはちゃんと動いて
いるようです。
RewriteEngine on
RewriteMap change txt:/usr/local/apache/conf/map.txt
RewriteRule ^/([^/]+)/(.*)$ /${change:$1}/$2 [R]
としています。
689>687:2000/11/24(金) 21:34
うまい。
690名無しさん:2000/11/24(金) 22:06
>>688
これだと 〜/olduser1のリダイレクト先である 〜/newuser1が
またRewriteRuleの正規表現にマッチして、無限ループに
なっちゃいますよね。うーん、どうするのがいいんだろう。

そういえばhttpd.conf設定スレッドはなかったですね。
.htaccess質問スレの軒先を借りるのがいいのかな。
691名無しさん:2000/11/24(金) 23:05
>>688
リダイレクト動作じゃなくて、リライト動作ではだめ?
RewriteRule ^/([^/]+)/(.*)$ /${change:$1|$1}/$2
692名無しさん:2000/11/24(金) 23:11
cgi利用時の@ARGVについて質問させて頂きます。
 hogehoge.cgi?111+222+333+444
とのQUERY_STRINGのとき、
 @ARGV = ('111'@`'222'@`'333'@`'444')
と展開されるのは期待して良いのでしょうか?

とほほlngがこの方法を使ってたんで気になりました…
693名無しさん:2000/11/25(土) 00:04
>>692
「ISINDEX」形式の引数指定ですな。
'?'以降の文字列を'+'で区切り、それをコマンドライン引数として
CGIプログラムに渡す。(するとPerlの場合は@ARGVに入る)
正式な仕様がどっかのサイトにあったと思うけど、場所忘れたので
"isindex"+"cgi"+"argv"とかいうキーワードで検索しみて。
いい解説サイトが見つかったら教えてね。

あ、タイトルわかりにくいけど、CGI関連の質問は以下のスレが推奨です。
http://tako.2ch.net/test/read.cgi?bbs=perl&key=971627428
694692:2000/11/25(土) 02:09
>>693
googleで"isindex @ARGV httpd"で検索するだけで見つかりました。
http://www.dais.is.tohoku.ac.jp/~kabe/WWW/cgimech/cgi-mechanism.html#ServerRole
http://www.dais.is.tohoku.ac.jp/~kabe/WWW/cgimech/W3ChttpdCGIivk.html
がよさげでした。助言ありがとうございます。

で、前者のurl読んでみましたが
>渡されたURIをどう解釈し、どうcgi-binに渡すかは本当はサーバー依存なのだが、
>やはり普及しているW3CやNCSAのサーバーと大きく違う動作をするものは互換性の点で
>あまり使われないような気がする
「気がする」などと不安なことを言っててるんで更に探してみたところ、
Netscape-Enterpriseでも期待できそうです。
http://www.newcastle.edu.au/help/netscape/pg/cgibas.htm#111230
なら使っても問題無さそうですね。
695japu:2000/11/25(土) 10:17
http://hoohoo.ncsa.uiuc.edu/cgi/cl.html
規格上は期待して良さそう。
696名無しさん:2000/11/25(土) 11:59
>>691
だめでした。
これらの設定を書くのは、httpd.confのふつうのところ
(<Directory></Directory>内とかじゃなくて)に
書いていいんですよね?
それと、
RewriteRule ^/([^/]+)/(.*)$ /~${change:$1|$1}/$2
として、
http://www.hoge.net/~newuser1 ではアクセスできます。
697名無しさん:2000/11/25(土) 13:23
>>696
名前の置換が発生するときだけURLを書き換えればよいと思う。

リライトしたい場合
RewriteCond ${change:$1} !=""
RewriteRule ^/([^/]+)/(.*)$ /home/${change:$1}/public_html/$2

リダイレクトしたい場合
RewriteCond ${change:$1} !=""
RewriteRule ^/([^/]+)/(.*)$ /~${change:$1}/$2 [R]

ていうか、RewriteCond、よくわかってないんだけど。
RewriteCondで指定する「$1」は、
「後続のRewriteRuleの正規表現でマッチした$1」
という理解でいいのかな?
698名無しさん:2000/11/25(土) 15:03
>>697
/usr/local/apache/conf/map.txtは
olduser1 newuser1
olduser2 newuser2
(old/newの間はタブ、newuser1@`2はシステムに登録されているユーザー)
です。

RewriteRule ^/([^/]+)(.*)$ /~$1/public_html$2
として
http://www.hoge.net/newuser1 にアクセスすると
http://www.hoge.net/~newuser1 がアクセスできました。

ところが、
RewriteMap change txt:/usr/local/apache/conf/map.txt
RewriteRule ^/([^/]+)(.*)$ /~${change:$1}/public_html$2

とすると、change の部分がnullになってしまいます。
RewriteRule ^/([^/]+)(.*)$ /~${change:$1|nobody}/public_html$2
とすると、nobodyが代入されてるので、changeに$1がちゃんとわたされて
いないようなのですが。。
699697:2000/11/25(土) 17:14
>>698
${change:$1}がヌルでないことをRewriteCondでチェックしてる?
あと、リライトでは置換後のパスに「~」を含めたらまずいのでは?
リダイレクトなら置換後のパスに「~」が使えるけどな。

うちではこれで動いたから、とりあえずコピペしてみ。
RewriteMap change txt:/usr/local/etc/apache/map.txt
RewriteCond ${change:$1} !=""
RewriteRule ^/([^/]+)(.*)$ /home/${change:$1}/public_html$2
700697:2000/11/25(土) 17:19
しまったmap.txtのパスは/etcが余計だった。そっちのパスに合わせてちょ。
701698:2000/11/25(土) 17:36
やっぱり動きません。

RewriteCondでnullチェックの条件を付けたら、RewriteRuleが
効かなくなったので、${change:$1} へきちんと([^/]+)の
部分がわたって、changeで変換されていないようなのです。
すべてServerConfig部に記述していいんですよね?
map.txtが悪いって訳じゃないですよねぇ。
pathもパーミッションも問題ないし、なかみは
単純なプレーンテキストのタブ区切りですし。。
702697:2000/11/25(土) 18:17
うーむ、なんだべ。
changeが本当にきいてないか、こんなチェックをしてはどうか。
RewriteRule ^/([^/]+)(.*)$ /?${change:$1} [R]

これで http://www.hoge.net/olduser1 をアクセスして、
置換が成功していれば http://www.hoge.net/?newuser1 という
URLがブラウザのアドレス欄に表示されるはずだが。。
703698:2000/11/25(土) 18:36
原因が分かりました。。apacheのバージョンで
1.3.14ではNG、1.3.12ではOKでした。
bugってことになりますよね。。
大変お世話になりました!
704697:2000/11/25(土) 18:41
うちはまだ1.3.12だったよ。
1.3.14に入れ替えるのは止めたほうがいいのかのお。
まあ、なにはともあれ、ごくろうさんでした。>698
705名無しさん:2000/11/26(日) 02:24
>>703
http://tako.2ch.net/test/read.cgi?bbs=perl&key=968762073&st=19&to=19
↑このApache 1.3.12のセキュリティバグをつぶしたときに
RewriteMap関係のコードがバギーになったらしい。その影響?

↓apache.orgに1.3.14のパッチがあった(動作未確認)
http://httpd.apache.org/dist/apache_1.3.14-fix.diff
706名無しさん:2000/11/27(月) 01:47
http://ohaiue.virtualave.net/cgi-bin/petit.cgi

↑のように掲示板にスレッドのログ(?)を
全表示したいんですが出来ません・・・
どうすれば出来るか教えてください
707名無しさん:2000/11/27(月) 02:19
>>706
前にもちょうど同じような質問がありましたよ。
>>650 >>680 に対する回答を見てね。
708698:2000/11/27(月) 09:36
>>706
apache1.3.14 with patchでのrewrite正常動作を確認しました。
709名無しさん:2000/12/02(土) 15:18
http://www.chibaken.net/cgi_s/teraco2/teraco_cgi.txt

このアクセス解析のCGIは毎日ログをYYMMDD.logというように吐き出すのですが、
これをsendmailで自分のところへ毎日ログをメールで送るようにしたいのです。

自分は日付が変わってから最初のアクセスのときにメールを送る場合、
203行目のあたりを改造すればいいと思うのですが、具体的にどうすれば良いかわかりません。

また、日付が変わると同時にメールが送ることができればそれにこしたこともないと思います。
その場合の改造のし方も教えて頂けないでしょうか。
710名無しさん:2000/12/02(土) 18:52
>>709
>日付が変わってから最初のアクセスのときにメール
これは次の方針でいけると思います。
・最新のログファイル名(YYMMDD.log)は"lastlog.dat"とかいうファイルに保存しておく。
・207行のcloseの直後に、lastlog.datからファイル名を読み出し、さらにそのファイル内容を読み出し、送信する。
・送信したら、新しいログファイル名(ここでは$tuika_log)をlastlog.datに書き込む。
711名無しさん:2000/12/03(日) 03:32
http://tech.millto.net/~side7/400/222.htm

ここのchat bakaに入室メール通知機能をつけることはできませんでしょうか?
よかったら教えていただけるととてもうれしいです。
どうぞよろしくお願いします。
712名無しさん:2000/12/03(日) 09:53
>>711
do_enterの最後にでもメールを送ればいいんじゃない?
メール送信スクリプトをどっかで見つけてきて参考にすれば
そんなに難しくないからやってみれ。
713709:2000/12/03(日) 14:04
>>710
アドバイスありがとうございます。
まだ上手くいっていませんが、もうちょっと頑張ってみようと思います。
本当にありがとうございました。
714711:2000/12/03(日) 15:25
>>712さん
お返事本当にありがとうございます。
感謝感激です!
過去ログを見てWEBPOWERのスプリクトをダウンロードしたのですが
それを参考にしてもよいでしょうか?
それとも他のスプリクトを参考にしたほうがよいのでしょうか?
ってなんか的外れな質問かもしれませんがすみません
do_enterの最後ですね
ちょっと頑張ってみます!本当にありがとうございました。
715  :2000/12/05(火) 23:14
  
716名無しさん:2000/12/06(水) 07:05
スプリクトってなんだよ?
717名無しさん:2000/12/06(水) 11:51
スリプクトの間違いでした。
718711:2000/12/06(水) 14:00
あ ほんとだ!スプリクト(笑)
719名無しさん:2000/12/08(金) 18:00
http://cgi.annie.ne.jp/~oku/okuchat/index.html
ここのページのチャットみたいに@はあと@とやると記号がでたりする改造のしかたおしえてください
リンクきれてますけど、ゆいちゃっとのものです
720711:2000/12/08(金) 19:56
チャットに入室メール通知をつけることが出来ました!
どうもありがとうございました!
721名無しさん:2000/12/09(土) 09:40
    ζ
    / ̄ ̄ ̄ ̄\
   /         \
  /\    \  / |
  |||||||   (・)  (・) |
  (6-------◯⌒つ |   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
  |    _||||||||| |  ヵッォ このスレageるぞ
   \ / \_/ /    \________________
     \____/
722名梨さん:2000/12/09(土) 14:25
>>719
$chat =~ s/@はあと@/\&hearts;/;
でどうよ?
723名梨さん:2000/12/09(土) 14:28
やられた。
>>722を訂正。
ゆいチャットベースなら
$FORM{$key} = $value;
みたいな行の上に

$value =~ s/@はあと@/&amp;hearts;/;

でいいと思うよ。IE限定。
Symbol書体の「ゥ」でもいけるぞ。
724名梨さん:2000/12/09(土) 14:33
>>723
もっかい訂正してもいいっすか。
$value =~ s/\@はあと\@/&amp;hearts;/g if($key eq 'chat');

親切心働かせようって考えたのが間違いだったかな。。。
725名無しさん:2000/12/09(土) 18:07
すいません、これでreferer取りたいんですけど
どやったらいいんでしょうか?
http://ichigoch.virtualave.net/bbs/log/ichigo094.txt
726>725:2000/12/09(土) 18:37
読むほうのスクリプトでどう処理してるかわかんないとね…

とりあえず19行目を
$agent= "$ENV{'HTTP_USER_AGENT'} $ENV{'HTTP_REFERER'}";
とでもしとけば?
これだとAGENTと一緒に表示されるよ。

もしくは
# 書き込みデータの編集
$disp_log = "$count: $date: $addr: $host: $agent: $ENV{'HTTP_REFERER'}: \n";
にして、取り出すほうで
($count@`$date@`$addr@`$host@`$agent@`$referer) = split(/: /@` $disp_log);
とかで取り出した$refererを表示させるとか。
727名無しさん:2000/12/10(日) 11:08
>722 723 724
親切にありがとうございましたおかげできちんとうごくようになりました
728719:2000/12/10(日) 11:27
今度は、参加者表示のところに覗くだけで名前がでるようにしたいのですができますか?
その名前の後ろに(ROM)と表示させたいです。今回は手本となるCGI
がないのでお手数かけますがお願いします。
ゆいちゃっとPRO(スタンダード)がベースです。
729>728:2000/12/10(日) 19:15
大昔のサポート掲示板にあったログだけど…


ゆい >ERIさん
pref.cgiのsub sankaで
push (@sanka3@` "$handle☆") if($handle ne $host2);
の1行を、
if($handle ne $host2){
push (@sanka3@` "$handle☆");
}else{
$rom=$rom+1;
}
に変更し、
push (@sanka3@` "$name☆") if($name ne $host);
の1行も、
if($handle ne $host2){
push (@sanka3@` "$name☆");
}else{
$rom=$rom+1;
}
に変更して、
chat.cgiのsub htmlは、
print "<FONT SIZE=2>参加者($num)ROM($rom):";
のみの修正ではどうでしょうか。
(11/21(金)5:34)このままだとホスト表示だから、途中でクッキー取るようにすれば
常連なら名前も出せるんじゃない?
730729:2000/12/10(日) 19:19
ごめん、まちがえた。
あれはROM人数表示のやつだ。
731名無しさん:2000/12/10(日) 19:43
732719:2000/12/10(日) 21:35
IP表示まではできました
733名無しさん:2000/12/13(水) 21:01
http://hisoka.vis.ne.jp/script/veda.html

vedaという掲示板を利用しているんですけど、iモードで見ると
ファイルが大きすぎて大変なんです。
設定でスレッドを10個、レスを10個表示するようにしているので
すが、iモードだとスレッドを3個、レスを3個くらいが妥当かと思
っています。
そこで、同じ内容(ログファイル)を利用してiモード用の掲示板を
作りたいのですが、どこをどう改造すればよいのでしょうか?
734名梨さん:2000/12/14(木) 10:44
>>733
readme.htmlによると、以下の設定が可能なようです。
ひとまず、3を代入してみては如何でしょう?

デザインを変えるためには、Perlの基礎的な構文と、HTMLの知識があればなんとかなると思います。
# ここの作者さんは「編集不可」みたいな事を言ってるので、お気をつけて。。。

$INIT_maxlines_current
最初のページ($INIT_htmlfileで設定したファイル)に表示するスレッドの数です。デフォルトは 30 です。

$INIT_maxreses
ひとつのスレッドに対する最大のレスの数です。レスがこの数を超えるとそのスレッドにはそれ以上投稿できなくなります。デフォルトは 200 です。

$INIT_showres
ページ表示のときに表示するレスの数です。デフォルトは 10 です。
735名無しさん:2000/12/14(木) 19:33
パソコン用と同じ内容(ログファイル)を利用してiモード用
掲示板を作りたいんですけど
736名無しさん:2000/12/14(木) 19:42
>>735
勝手に作ってよ。
737名無しさん:2000/12/14(木) 20:23
>>735
tcupレンタルしとけ。うん、君にはそれが似合ってる。絶対。
738名無しさん:2000/12/15(金) 00:53
>>735
ついでなんでドリキャスでも見れるようにしてください。
739名梨さん。:2000/12/15(金) 02:16
マジレスしてみるか。

>>735
それだと「改造」では無く「新規作成」の方が早いと思います。
iMode対応の掲示板スクリプトを使うか、tcupを借りると良いでしょう。
過去ログを残すなら、HTMLを加工して置いておくのは如何?

>>738
ドリキャスで掲示板見る時の制限ってどんな感じっすか?
740738:2000/12/15(金) 09:41
知らん。ドリキャス持ってない。
741名梨さん。:2000/12/15(金) 15:58
>>740
2chにもドリキャス経由のカキコあるみたいだから、
普通は対応しなくても大丈夫だと思うよ。たぶん。
742馬鹿馬:2000/12/15(金) 16:21

海外のCGIを落として記述を日本語に書きなおしてあげてみたら
文字化けしてしまうのはどうしてでしょうか?
メタタグも入れたんですが・・。
743名無しさん:2000/12/15(金) 19:32
>>742
ソースのアップもせず、どのスクリプトを使っているかも言わず、
文字化けしてしまうのはどうしてでしょうか? ってご無体な…
744大馬鹿3太郎:2000/12/16(土) 01:34
ドリキャスってなんかの「3」って聞いたような気がするんだけど
何の3なんだろ?もじら、ねすけ、IE?
745名無しさん:2000/12/16(土) 07:49
ドリキャスのブラウザってアクセスオリジナルだろ?
746名無しさん:2000/12/16(土) 12:01
KENTさんの日計カウンタ2を使っているのですが
http://www.kent-web.com/count/dayx.html?
ミラーサイトやTモード用サイトのカウントも同時にカウントさせたい
のですがどうすればいいでしょうか?
747とほほ:2000/12/16(土) 13:58
とほほさんの「ラウンジ」に二重投稿防止機能をつけたいのですが、どうやった良いでしょうか?
http://wakusei.cplaza.ne.jp/twn/cgi-bin/wwwlng.txt
IPを調べて一定時間の連続投稿禁止にするのでは無くって、ログファイルを読み込んで、同じ内容だったら書き込めないようにしたいのです。

また、他のサイトからの書き込みを排除するために、ログファイルに書き込む時にリファーをとって自分のCGIからの書き込みに限定したいのですがどうしたら良いでしょうか?

お知恵を拝借させていただきたいと思います。
748:2000/12/16(土) 15:10
ラウンジは結構いいスクリプトだよねぇ(重いけど)
最近は2chクローンの大規模なマルチスレッド&フロートBBSが増えてきたけど、そんなに書き込みが多くないんだったら見にくいだけだっての!!
規模が大きくないのだったら、ラウンジはいいものだと思うぞ?まあ、実際に使われてるのはあんまり見ないけど(笑)
って、独り言言ってスマソ。
749名無しさん:2000/12/16(土) 15:45
>748
そう?うちなんか親記事などは少ないがレスは平均にしても30は付くから結構便利だなと思っているけど。
まあレスが管理人しかつかねーとこなら無駄やけどな(ワラ


750バッカーです:2000/12/16(土) 18:04
>>744
>>745

Mozilla/3.0+(DreamPassport/3.0)

っつーのを今日偶然ログで見つけた
これそうだよね?
751名無しさん:2000/12/16(土) 18:09
>>750
ピンポン。

Mozilla/3.0 (DreamPassport/1.01)
Mozilla/3.0 (DreamPassport/2.0)
Mozilla/3.0 (DreamPassport/2.1)
Mozilla/3.0 (DreamPassport/3.0)
752名梨さん。:2000/12/16(土) 20:49
>>746
dayx.cgiを、ミラーサイトやiMode用サイトから呼び出してみては如何?
そういう事じゃなくて?

>>747
前者は、ログファイルの形式がどうなってるかややこしかったので割愛。スマソ。
後者は、appendMessageサブルーチンに記述。

if (index($ENV{'HTTP_REFERER'}@`"ラウンジCGIを設置したURL") == -1) {
&showErrorPage("他のフォルダを参照することはできません。");
exit(0);
}

を追加、かな。

>>751
便乗質問ですが、UserAgentにMozillaを名乗らない有名なブラウザってあります?
753747:2000/12/16(土) 21:23
>>752
ありがとうございました!!リファーの件、うまくいきました。感謝、感謝です。
とほほラウンジで保存されるログの形式は以下の通りです。こちらの方も、お力添えがいただければ大変ありがたく思います。Subject: スレッドのタイトル
========================================
From: 最初の書き込み人
Date: 2000/12/16(土) 21:02:10

本文がこれです。
========================================
From: 次にレスした人
Date: 2000/12/16(土) 21:02:28

こうやってログファイルは書かれます。
========================================
From: 3番目にレスした人
Date: 2000/12/16(土) 21:02:45

これがこのスレッドの最新レスです。
754大馬鹿3太郎:2000/12/17(日) 01:01
>750.751
あってた良かった(w

だとすると結構ドリキャスユーザーの来るページや掲示板の作成は
気を付ける点もけっこうあるんじゃない
755とほほ:2000/12/17(日) 11:47
>>752
http://www.felix.or.jp/~yugo/etc/useragent.html
ここに、UserAgentの種類がたくさん書いてありました。別に有名でも何でも無いものが多いと思いますが、Mozilla以外にはこういうのもあるんだってことでは、多少の参考になろうかと思い書きました。
756japu:2000/12/17(日) 13:32
http://www.dais.is.tohoku.ac.jp/logs/agentgripes.html
ブラウザ限定ではないけど、色々なUAが載ってる。
757かずさ:2000/12/17(日) 17:27

http://mupiter777qk.virtualave.net/cgi-bin/

の掲示板に、自作アイコンなんかをつけたものを使ってみたいのですが
ご教授お願いします
758ななし:2000/12/17(日) 17:57
>>757
掲示板が見れない
759 :2000/12/17(日) 20:21
>>757
2ちゃんねる型はみんなカコワルイけど。それにしてもなんかね。
IEのせいかと思ってNNにアドレス入れたら直リン禁止で蹴られるし。
760757のかずさ:2000/12/18(月) 07:21
 http://kiss.to/lovely_kayo_chan
のジャンプアドレスから、いけます。やはり、2チャンからは蹴られましたね
申し訳ないです。。。
761名無しさん:2000/12/18(月) 08:22
>>757
スクリプトはどこよ?
762名無しさん:2000/12/18(月) 10:25
KENTのYY-BOARDなんですが、この掲示板の新規書き込みを上ではなく、下に表示していくように改造できないでしょうか?
よろしくお願いします。
http://www.kent-web.com/bbs/yybbs.html
763名梨さん。:2000/12/18(月) 20:49
すみませんが、手抜き気味な返答をさせて戴きますです。

>>753=747

はじめに言っておきますが、コードは汚いです。
でも、wwwlng.txtを読んで勉強する気なら、わかりやすいと思ってこうしました。

# トピックに発言を追加する
という行を探して、その下に判定ルーチンを書くのが良いかと思います。

open(IN@` $file);

while (<IN>) {
if (/^Reply-To: /) {
} elsif (/^From: /) {
} elsif (/^E-Mail: /) {
} elsif (/^HomePage: /) {
} elsif (/^Date: /) {
} elsif (/^Solved: /) {
} elsif (/^========================================[\r\n]*$/) {
} elsif ($hflag && ($_ eq "")) {
} else {
# ここに本文があるはずです。何故そうなるかは、上の行と同じ行を探してみてください。
if ($FORM{'MESSAGE'} eq $_) {
error("これは二重投稿です。");
}
}
close(IN);

こんな感じです。
(ログが複数行にわたって保存されてる場合は、少し修正しないとだめかも)
あとは、理解出来次第、if-elsifを正規表現などに直してみてください。

# これよりも簡単に本文を取り出せる方法があったら、それを選択すべきだと思う。
# Subjectだけ比較して判定する、とかだったら、もっと簡単に書けますね。
764名梨さん。:2000/12/18(月) 20:55
>>763
error("二重投稿です。");
のところを
&showErrorPage("二重投稿です。");
になおしてください。スマソ。

>>755-756
とてもためになったです。THXです。
UAによる処理の分岐をしようかと思ったんですが、
自分の弱小サイトは殆どIEだったもので。。。

LynxやiCabはMozillaと言わないみたいですね。
昔IEがUAによる差別をされないためにMozillaを名乗ったと聞きましたが、
やはり今の有名どころブラウザも、そういうのを意識してるのかなぁと思い、
752のような質問の仕方になったわけでした。
765名梨さん。:2000/12/18(月) 21:06
>>760=757
ソースへの直接リンクのみ応談って事にしましょう。(できれば圧縮も勘弁)
アクセス向上に貢献してるみたいで、なんか気持ち悪いです。
右クリック禁止とか言うし。

自作アイコンは、スクリプトに対して
s/現行ログトップ/<IMG SRC="logtop.gif" border=0>/g;
ってな感じでどうですか。

>>762
# 記事を展開
という行の下あたりにある
while (<IN>) {
を次のように書き換えてみましょう。

@data = <IN>;
@data = reverse @data;
foreach (@data) {

# 効率の問題とかは考えて無いです。念のため。
766762:2000/12/19(火) 09:08
>>765
うまく作動しました。
ありがとうございました。
767753:2000/12/19(火) 23:05
>>763
ありがとうございました。後は、自力でなんとかやってみます!!
768名梨さん。:2000/12/20(水) 00:09
>>766=762
どういたしまして。
>>767=753
うまくいきましたか。よかったです。
769(゚∀゚):2000/12/23(土) 23:16
http://wakusei.cplaza.ne.jp/twn/cgi-bin/wwwlng.txt
とほほさんのラウンジを使わせてもらっているのですが、
記事を何件かずつに区切ってよみたいのです。
デフォルトでは最新の記事50件だけ表示なんですが、
これに「次の50件(次のページ)をよむ」、というようなリンクをつけたいのです。
↓このページみたいな感じにしたいのですが、
http://hyne.bird.to/bcp/cgireqbbs2/hyperbbs.cgi?mode=view;Code=1
どうすればいいんでしょうか?
QUERY_STRINGで「start=xx」というのがあったら、xx件目から表示するようにする。
というようにすればいいと思い、あれこれやってみたんですが、アホなのでできません。
ONEGAISIMASUΨΨΨ
770名梨さん。:2000/12/26(火) 04:41
久々に来た。
ラウンジネタ、多いですね。このコードは改造向けじゃないと思う。

>>769
頭が死んでるので、まともじゃない可能性大ですが。

1.QUERYにstartを指定された時は、最新記事の制限を取り払う。
(もし、ログファイルが最新順なら、読み込んだ後reverseする)
2.ログファイルを読み込む所に、カウンタ変数を仕込む。
3.カウンタ変数がstartの値になるまで、データは破棄する。
(上でreverseしたなら、最後に、ログファイルをreverseする)

こんな感じは如何?
ログの全件数が先に取得できるなら、
reverseしなくても、全件数-startぶんだけ取得すれば良さそうです。

# やっぱり、ログは1レコード1行が好みだなあ。。。
771むぎ茶:2000/12/26(火) 17:02
BBSで記事管理部分なんか作るからめんどうなんだよ
news reader みたいに表示だけにしとけ。
バックエンドは inn かなんかで楽チン。実績あるし。
772むぎ茶:2000/12/26(火) 17:03
そーいや 2ch ってトップカテゴリの NetNews つくるって話が
前にあったような
実現するといーないーな
773( д):2000/12/26(火) 18:05
>>772
いいっすねえ…
でも開けてみたら大量Flameだったりして(笑
774名無しさん:2000/12/26(火) 23:31
frameね。
flameは炎。
775名無しさん:2000/12/27(水) 00:26
>>769
もともとラウンジのスクリプトは全ディレクトリを走査してspliceしてるだけだからメモリ食うけど・・・。

サブルーチンshowTopPageの
splice(@files@` $num);
の行を
@files = splice(@files@` $num * ($page-1)@` $num);
にすればいいんじゃない?
$pageは最初からの時は1ね。
776( д):2000/12/27(水) 00:32
>>774
おおーぃ(泣
その「Frame」は骨組みのフレームだよう…
ホントにフレーム起こす気か?
勘弁してくれよー
777774:2000/12/27(水) 05:09
スマソ。cgi板だからHTMLのframeのことかと思ってた。
778名無し:2000/12/27(水) 11:35
http://www.zob.ne.jp/~kazuho/

にある tips 集 だかを作るのに役立つ cgi ってのがありますよね.
その cgi はただ単に登録したデータを縦に並べるだけで,カテゴリなど
とかそんな風に分けたりすることはできないもんで.

つまり,こんな風にしたいんですけど

http://www.netlaputa.ne.jp/~yamakita/trouble_shooting/windows_98/index.htm

こんなふうにしたく,
データファイルの書きこみ方法を改造するにも,どのようにすればよいか
よくわかりません.
779名無しさん:2000/12/27(水) 16:45
>>778
まずデータをどんなふうに保存するのか決めるといいすね。
例1 - カテゴリごとに別ファイルを用意する
例2 - ひとつのファイルで、その中をカテゴリごとにまとめる
例3 - カテゴリ名を付加したデータをバラバラに保存し、表示するとき並べなおす

改造なら(3)がもっとも簡単で、(2)、(1)の順に面倒になると思う。
新規作成なら、逆に(1)がもっとも簡単で、(2)、(3)は面倒だろう。
780名無し @ 778:2000/12/27(水) 20:32
>> 779

なるほど.だいぶ整理がつきました.
新規作成てなわけで 例 1 がいいと思いました.

カテゴリ別にファイルを用意し,それぞれのファイルを読みこませるわけですね

ご指摘,ありがとうございます
781(゚∀゚) :2000/12/30(土) 21:31
>>769で質問した者です。

>>770様、>>775
ありがとうございます。見事にできました。
ARIGATOUΨΨΨ

それで、今度はトピックの内容表示のほうを
何件かずつ表示できるように改造しようと思ったのですが、わかりません。
ログの形が一発言一行のやつなら簡単そうなんですが、この掲示板の場合、

========================================
From: 名前
Date: 2000/12/30(土) 13:50:21

本文ああああああああああああああああああ
ああああああああああああああああああああ
========================================
From: 名前
Date: 2000/12/30(土) 13:51:43

本文いいいいいいいいいいいいいいいいいい
いいいいいいいいいいいいいいいいいいいい
========================================

みたいな感じになっているんです。さっぱりピーマンです。
どうしたらいいのでしょうか。
HINTOKUDASAIΨΨΨ
782ほういち:2000/12/30(土) 21:48
>781
質問内容がいまいち見えないのですが、ログが1レコード1行に
なってないので困ってるって事でしょうか?
splitの使い方を知ってる前提ですが、1レコード1行の場合、
ファイルから1行読んでセパレータで切り分けますよね。
で、1行づつ読む指示をする時に行の区切りについては
特に指定しませんよね。これはデフォルトではperlが\nを行の
区切りだとして動作するからです。これを変えてやれば
任意の区切り文字までを1行として読み込む事ができます。
今回の場合、======================================== が
区切りだとすると、読み込む前に特殊変数$/を使って
$/ = "========================================";
とすればFromから本文の最終行までを1行として読んでくれます。
そして、splitを使って\nで切り分ければいけるように思います。
外してたらすみません。
783名無しさん:2001/02/14(水) 18:13
age
784名無しさん:2001/02/15(木) 18:20
>>781
とほほのwwwlngか?
つまり項目を増やしたいって事ですよね?
ええとどうだったか‥ 手元にソースがないから忘れた
785名無しさん:2001/02/18(日) 17:42
ゆいぼっとの独り言が消えた。悲しい。
786名無しさん:2001/02/21(水) 23:20
ツーショットチャットで、二人目が入室した時にJavaScriptのalertでお知らせのダイアログが
表示されるようにしたく、自分でも挑戦してみましたが、ログに一度目のリロード時だけ出力させる方法が分からず
断念しました。どうかお分かりになられる方がいらっしゃいましたら是非教えて下さい。
よろしくお願いいたします。

http://www.rescue.ne.jp/cgi/2shot4/2shot.txt
787名無しさん:2001/02/22(木) 15:35
バックアップ機能のあるカウンタなんですが
配布している状態だと24時にバックアップされるだけです
これを6時間毎のバックアップにできないでしょうか
アドバイスをお願いします。
6:00@`12:00@`18:00@`24:00になって人がきたら1度だけバックアップ作業

Multi Counter Text Ver 1.10
http://www.prism-web.com/cgi/download.html#count
788名無しさん:2001/02/22(木) 23:28
いろいろあるもんだなあ・・・。
789 :2001/02/23(金) 00:03
790名無しさん:2001/02/23(金) 03:56
奇妙な使い方しているな。
sprintf(sprintf("%%0%dld"@` $figure_main)@` $count);
791名無しさん:2001/02/27(火) 20:53
age
792AyuMoe(JAPU):2001/02/27(火) 21:02
普通は
sprintf "%0*d"@` $figure_main@` $count;
だね。:-)
793名無しさん:2001/02/28(水) 00:33
up up
794名無しさん:2001/02/28(水) 16:33
sprintf "%0${figure_main}d"@`$count;

とかやってた。鬱
795名無しさん:2001/03/04(日) 23:16
787です。
790@`792@`794は787への回答でしょうか?
このスレッドで質問しているということからもわかっていただけると思いますが、
わたしはCGIの知識が無いので、変更箇所の
変更前と変更後を教えていただけないでしょうか。
よろしくおねがいします。
796名無しさん:2001/03/10(土) 08:20
http://www.cj-c.com/cgi_s/ibbsm.htm
のCGIで画像をアップロードできるように改造したいのですが・・
ENCTYPE="multipart/form-data"を追加
するとなぜかコメントとURLの内容が空欄になってしまいます。
どなたかご存知ありませんか?
797manami:2001/03/11(日) 13:00
http://www.inside.ne.jp/cgi/lachat/line/chat_cgi.txt

このチャットに発言欄のオートリンク付けたいんですけど
やり方を解説してるサイト等をご存知でしたら教えていただけませんか?

あ、あと単語変換も付けたいです・・
例えば、”はーと”と発言したら”<font face=symbol color=red>ゥ</font>”とか

宜しくお願いします。
798  :2001/03/12(月) 06:51
http://dream.lib.net/room/cgi/e_linebbsl.shtml
の複数設置版を使って、ある引数を掲示板URLに渡したら自動的に
空ログ生成してくれて書き込める様には出来ないのでしょうか。
いわばbbs.cgi?id=12345って感じで適当な数字を入れるとどんどん
ログが増殖するようにしたいのです。お願い致します。
799名無しさん:2001/03/12(月) 07:00
>>797
もうちょっと具体的に。
”発言欄のオートリンク”ってどんなもののこと?
800名無しさん:2001/03/12(月) 10:23
>797
if ($name eq '') { &error('名前が入力されていません'); }
の下当たりに
$comment = ~ s/はーと/<font face=symbol color=red>ゥ</font>/g;
801800:2001/03/12(月) 10:30
オートリンク忘れた
$comment = ~ s/はーと/<font face=symbol color=red>ゥ</font>/g;
$comment =~ s/([^=^\"]|^)((http|ftp):[!#-9A-~]+)/$1<a href=$2 target=_blank>押せ<\/a>/g;

802800:2001/03/12(月) 10:36
>798
かなり危険じゃないか?
簡単だけどヤメテオケ

全然関係無いが、今日始めて2chに書き込みした(怖
803名無しさん:2001/03/12(月) 10:50
>>802
ぷぷっ
804798:2001/03/12(月) 16:22
>>802
具体的に説明しますと、あるリンク集CGIのログデータにある登録Numberを
その1行掲示板に引数として渡してログファイルを増殖、個別に書き込める様にしたいんです。
登録されたリンクそれぞれに感想等を書き込むっといった感じでして。
危険なのは十分分かってるので改造法お教えお願いします。
805manami:2001/03/12(月) 20:44
>>800
ありがとうございました!!
発言中のURLを自動でリンクするのは成功したんだけど・・
これだけうまくいきませんでした どうしてだろ?

$comment = ~ s/はーと/<font face=symbol color=red>ゥ</font>/g;

誰かご存知の方がいらっしゃればお願いしますm(_肉_(_肉_(_肉_)mペコリ
今から自分でも調べてみます♪
806manami:2001/03/12(月) 20:47
書くの忘れてた・・

805=797です ごめんなさい。。(涙)
807名無しさん:2001/03/12(月) 22:36
$comment = ~ s/\Qはーと\E/<font face=symbol color=red>ゥ</font>/g;

だっけ。
808むぎ茶:2001/03/13(火) 01:14



頭悪いね(n

┐(´ー`)┌


┏━━━━━━━━━┓
┃('Д')y ─┛~~ ┃
┃むぎ茶      ┃
[email protected]  ┃
┗━━━━━━━━━┛
http://www.freeml.com/ml_info.php?ml=bitvalley
809名無しさん:2001/03/13(火) 01:22
>>808
お前もな
810マニ:2001/03/13(火) 03:07
(URL)http://www26.freeweb.ne.jp/feminine/mania45/
KENTWEBさんの検索エンジンを改造してメルトモ検索掲示
板にしたのですが、freewebでsendmailが使えないために、アドレ
スが公開され困っています。sendmailを使わないで送る人には相
手のメールアドレスが見れないようにするにはどうしたら良いので
しょうか。知識が無いために分かりません。よろしかったら教えて
ください。
811名無しさん:2001/03/13(火) 06:57
>807

$comment = ~ s/\Qはーと\E/<font face=symbol color=red>ゥ</font>/g;

じゃ無理みたいよ?なんでかな?
誰か知らない?
812名無しさん:2001/03/13(火) 07:01
(URL)http://wakusei.cplaza.ne.jp/twn/wwwsrch.htm

とほほさんのホームページ内検索のCGIで
ヒットしたものがすべて表示されてしまい、負荷が気になります。
Google などのように10件ずつぐらい表示したいのですが
改造方法、もしくは参考URLを教えてください。
813_gunzip:2001/03/13(火) 07:01
>>811
$comment = ~ s/\Qはーと\E/<font face=symbol color=red>ゥ<\/font>/g;
ではいけませんか?もしくは、
$comment = ~ s%\Qはーと\E%<font face=symbol color=red>ゥ</font>%g;
とか。
814_gunzip:2001/03/13(火) 07:19
ネタか・・・鬱だ
815名無しさん:2001/03/13(火) 21:34
&hearts;
816名無しさん:2001/03/13(火) 21:58
http://cheese.2ch.net/test/read.cgi?bbs=phs&key=984477461
ここの1に張ってあるCGIをどう思いますか?
817名無しさん:2001/03/14(水) 01:39
どうも思いません。
818manami:2001/03/14(水) 05:11
>813
$comment = ~ s/\Qはーと\E/<font face=symbol color=red>ゥ<\/font>/g;

で成功しました!!ありがとうございます
あと、わざわざ動作確認してくれた811さんにも感謝です!

わーーい よかったーーーーー!!
819むぎ茶:2001/03/14(水) 05:14


2度とくだらん質問はするな。
エラの原因ぐらい理解してんだろうな?

┐(´ー`)┌


┏━━━━━━━━━┓
┃('Д')y ─┛~~ ┃
┃むぎ茶      ┃
[email protected]  ┃
┗━━━━━━━━━┛
http://www.freeml.com/ml_info.php?ml=bitvalley
820名無しさん:2001/03/14(水) 06:33
>>818
819は気にしないように。
窓の汚れみたいなモンです。
821名無しさん:2001/03/14(水) 10:34
エラって何ですか?(ピュア
822名無しさん:2001/03/14(水) 10:58
KENT WEBのYYボードで
http://www.kent-web.com/bbs/yybbs.html
一定件数以上のレスが付いたら2chのように裏に回して
「レスを全部読む」とするにはどのようにしたら
よいのでしょうか?
この板の別スレで同じ質問をいくつか見たのですが
全部煽られて終わってたので。(これも煽られるかな)
823名無しさん:2001/03/14(水) 18:12
最大件数に達して消えてしまうものを、別ファイルのとって、それを閲覧する時に見せれば済む話ですよね。
824名無しさん:2001/03/14(水) 18:25
822=shige
825名無しさん:2001/03/14(水) 19:45
>>823
書き方が悪かったようで申しわけありません。
そのスレッドごとにです。
例えば、このスレの場合、1番があって、飛んで800番台が
表示されてますが、そういう感じにしたいのです。
826名無しさん:2001/03/14(水) 23:56
>>825
レスを「ひとつずつ読んでは表示する」方式になってるのを
「全レスを読み込んでから最後の20個だけ表示する」よう変える。
827shige:2001/03/15(木) 16:12
クックックック、オイコラお前ら、低スキルは黙ってろや。
ついに折れの出番らしいな。Go Go hakking!!

おっと、自己紹介が遅れてすまんかったな。>>oll
折れは世界を駆け抜ける超大物ミレアニム・ハッカーshige様だ。
hehehe、お前らの言うホームハッキングなんて余裕でできるぜ。

大きな声ではいえないが、小さな声でも言わないぜ。
折れはすでにFotoshopをハッキング済だ。
某大手コンピュータに侵入したハッキングだぜ。
アンド、むかつくヤツにはハッキング・ボム!!

こんなKOOLなハッカーの俺様に頼んでみろや>>oll

[email protected]
828名無しさん:2001/03/15(木) 16:16
楽しいテンプレだな・・・
829名無しさん:2001/03/15(木) 19:00
もとは論毛?
830名無しさん:2001/03/15(木) 22:27
>>829
たぶん、そう。
831shige:2001/03/15(木) 23:02
早速馬○が引っかかったな。
T氏の協力を元に君たちのIPアドレスを掲載したよ。
http://kaede.sakura.ne.jp/~shige/cgi-bin/out.cgi
832名無しさん:2001/03/15(木) 23:06
飽きた。それ
833名無しさん:2001/03/15(木) 23:28
404だよ。。。
834名無しさん:2001/03/16(金) 01:08
Ahhan!BBSをi-mode対応にするにはどんな改造が必要でしょうか?
管理人さんが超多忙な様なので。。

http://www1.kcn.ne.jp/~mig-poco/
835pass:2001/03/16(金) 02:46
Kent Web のCOSMO GATE-EX 等を使って
例えば「abc」から始まるパスワードはAディレクトリのindexに
「def」から始まるパスワードはBディレクトリのindexに、
「ghi」から始まるのはCディレクトリのindexにと
パスワード毎に違うディレクトリに飛ばしたいのですが、
改造方法をご教授してください。宜しくお願いします。

http://www.kent-web.com/pwd/gatex.html
836名無しさん:2001/03/16(金) 03:29
>>834
HTTP_USER_AGENTを見て、i-modeと判断できたら表示数を
少なくする。とかでいいんじゃない?

>>835
パスワードの先頭3文字を調べて、$targetdirを変更する。
とかでいいんじゃない?
837>834:2001/03/16(金) 19:58
HIRO_MUに聞け
838名無しさん:2001/03/20(火) 15:06
前に出てるかもしれませんが
自分KENT WEBで公開されているCOMCHAT-EXを改造した
http://www.arinafan.sakura.ne.jp/download/download.html
を使ってます。

このチャットにて書き込まれたURLを自動リンクできるよう改造したい
のですが、改造されてるかたコピペできるよう教えていただけますか?

おねがいします。
839http://.2ch.net/ :2001/03/20(火) 20:43
guest guest     
840名無しさん:2001/03/20(火) 21:27
あゆ板に時間制限機能を付けたいのですが・・・・・
あゆ板を現在配布している所が分かりません。
アドレスが書けないのですが、どうでしょうか?
もしできる事なら宜しくお願いします。
841guest:2001/03/21(水) 01:31
>>838
そのCHATのソースは見てないから信用しないでね。yybbsから移植。

&auto_link($comment);
を書き込み処理の中に追加。

sub auto_link {
$_[0] =~ s/([^=^\"]|^)(http\:[\w\.\~\-\/\?\&\+\=\:\@\%\;\#\%]+)/$1<a href=\"$2\" target='_top'>$2<\/a>/g;
}

を一番下でもどこでも追加。
ダメだったら優しい人探して。

>>840
安心してください。
あゆ板に時間制限機能は最初からついています。
842名無しさん:2001/03/21(水) 12:20
>>841
それじゃダメじゃない?
面倒だから書かないけど。
843まなぶ:2001/03/23(金) 04:25
http://access.pos.to/freecgi/webmail.txt
にあるフォームメールのスクリプトなんですが
90行目で「内容の確認画面を出さない」に設定しても
どうしても確認画面が出てしまいます。
129行目あたりをいじればいいのかと思うんですが
そこら辺をいじるとどうしても500になってしまいます。
確認画面を出さずに送信するにはどうしたらいいんでしょうか?

ちなみにこのスクリプトはシェアウエアなんですが、
ばれないようにするには20行目の$copyrightemailを
変えちゃえばいいんですよね?テストしてみたところ
$copyrightemailのメアドの所にこのCGIのあるURLと
私のIPが記載されたメールが届くようになってた・・・。
844名無しさん:2001/03/23(金) 04:41
金払え。そして二度と来るな。
845まなぶ:2001/03/24(土) 03:35
うー、是非ご教授願いたいのですが・・・。
846名無しさん:2001/03/24(土) 10:25
犯罪の手助けする気はさらさらね―よ
つか、二度と来んじゃねーよ、って言っただろー
847wind:2001/03/28(水) 13:47
http://www.haide.net/~seirei/htmlbbs.txt
のBBSなんですが、一定件数に達すると、古い記事から順に削除させたいのですが、
まだまだはじめたばっかなんで思いつきません。
どなたか、やってやると言う方いましたらよろしくお願いします。
848名無しさん:2001/03/29(木) 01:31
>>847
投稿ごとに番号($no)をふって、
もし最大記事数($max)を超えてたら($no>$max-1)
最大記事数内におさまるまで(while)
ログファイルの最後の行を削除すればいい。(pop(@log))

…でいいんだっけか。

「#フォームからのデータをデコードするサブルーチン」のelsifは、
もうちょっとひねってみよう。
849名無しさん:2001/03/29(木) 01:35
あ、@logってのは適当に書いたから、自分で名前変えてくれ。
850名無しさん:2001/03/29(木) 03:09
>>848
一般的な配列に入ってるログならそれでもいいけど
件のスクリプトじゃ通用しないでしょ
尚且つ、 それなら$#htmlbbs = $maxlog; で十分

>>847
$htmlbbs =~ s/&lt;!--comment--&gt;/$html/;
の次に、
$htmlbbs = join '<HR>'@` (split(/<HR>/@`$htmlbbs))[0..$maxlog];
$htmlbbs =~ s/(<HR>)*$//;
とする。$maxlogにはお好きな値をどうぞ。
851wind:2001/03/29(木) 09:28
>>850
上記の通りやってみたのですが、1回目は、うまく消えるのですが、
2回目からは、最後の<HR>も消されてしまいます。下記のURLみたいな感じです。
http://www.haide.net/~seirei/cgi-bin/bbs2/bbs.html
いろいろ試しましたが、どうもうまくいきません。
申し訳ないのですが、皆様の知恵を貸して下さい。。
852nanashi:2001/03/29(木) 14:39
暇なのでageとこ。
853名無しさん:2001/03/29(木) 15:44
ここのChild Forumの改造です。
http://www.cj-c.com/

既存の$name、$email等のデータの他にいくつかデータを増やしました。
仮にその中の2つを$mark、$testとします。

トップページの記述で、$markが1だったとき、$testに入力された数値データを比較し、
トピック内で一番大きなものを、トップページのトピック一覧で、
項目の一つとして表示したいのですが、どうもうまくいきません。
どうしたらいいでしょう?
854853:2001/03/29(木) 15:46
具体的には、270行目くらいの

foreach ($page .. $page_end) {
($namber@`$date@`$name@`$email@`$d_may@`$mark@`$test@`$comment@`$url@`
$space@`$end@`$type@`$del@`$ip@`$tim) = split(/<>/@`$NEW[$_]);

の後に、

if($mark==1){
foreach ($page .. $page_end) {
($snam@`$sdate@`$sname@`$semail@`$sd_may@`$smark@`$stest@`$scomment@`$surl@`
$ssp@`$send@`$sty@`$sdel@`$sip@`$stim) = split(/<>/@`$NEW[$_]);

if($stest > $test_a){$max_test = $stest;}
$test_a = $stest;
}
if($max_test > $test){$test = $max_test;}
}

と入れてみたんですが…
855850:2001/03/29(木) 20:04
>>851
正しい状態のログがどういうものなのかわからないから、
正確なことは言えない、初期状態のログHTMLを示すべし。
856wind:2001/03/29(木) 20:18
>>855
すいません。いまアップしました。
http://www.haide.net/~seirei/cgi-bin/bbs2/bbs2.html
よろしくお願いします。
857_gunzip@φ(・▽・ :2001/03/29(木) 20:48
>>856
>htmlbbs =~ s/&lt;!--comment--&gt;/$html/;
>$htmlbbs = join '<HR>'@` (split(/<HR>/@`$htmlbbs))[0..$maxlog];
>$htmlbbs =~ s/(<HR>)*$//;
を、
if($htmlbbs =~ s/&lt;!--comment--&gt;/$html/){
$htmlbbs = join '<HR>'@` (split(/<HR>/@`$htmlbbs))[0..$maxlog];
$htmlbbs =~ s/(<HR>)*$//;
}
とするとどうなりますか。
858wind:2001/03/30(金) 08:43
>>857
うまくいったり、うまくいかなかったりします。。。
859_gunzip@φ(・▽・ :2001/03/30(金) 09:25
>>858
改行を取ってないからのような気が・・・
>open(FILE@` "$dat");
>@htmlbbs = <FILE>;
>close(FILE);
を削除し、
>foreach $htmlbbs (@htmlbbs) {
>$htmlbbs =~ s/&lt;!--comment--&gt;/$html/;
>$htmlbbs = join '<HR>'@` (split(/<HR>/@`$htmlbbs))[0..$maxlog];
>$htmlbbs =~ s/(<HR>)*$//;
>}
の部分を
open(FILE@` "$dat");
while(<FILE>){
chomp;
if(s/&lt;!--comment--&gt;/$html/o){
$_ = join '<HR>'@` (split(/<HR>/@`$_))[0..$maxlog];
s/(<HR>)*$//;
}
push(@htmlbbs@`"$_\n");
}
close(FILE);
にすると?
860wind:2001/03/30(金) 21:48
最後の<HR>が表示されないです。
861名無しさん:2001/03/31(土) 09:43
age
862名無しさん:2001/03/31(土) 15:25
漠然とした質問で悪いんですけど、
タグ使える掲示板でタグの閉じ忘れを防止するような改造ってどうすればいいんですかね?
<b>太字/b>だの
<b>太字</b>だの・・もう勘弁して欲しいです。

if ($tagkey == 1) {
$value =~ s/<>/&lt;&gt;/g;
ここをなんとかすればいいんでしょうか?
863862:2001/03/31(土) 15:30
すいません、変換されちゃいました・・

if ($tagkey == 1) {
$value =~ s/<>/&amp;lt;&amp;gt;/g;

864名無しさん:2001/03/31(土) 17:10
>>862-863
タグの閉じ忘れ防止は、けっこう面倒だよ。
基本的な方針はこんなふうだと思う。

# (1)開始タグと閉じタグが正しく対応してるのだけ特別な記号に変換
1 while $str =~ s/<(\w+)(.*?)>([<]*)<(\/\1\s*)>/≪$1$2≫$3≪$4≫/gis;
# (2)この段階で残った"<"、">"は無効化
$str =~ s/</&lt;/g;
$str =~ s/>/&gt;/g;
# (3)最初に別の記号に変えておいた"<"と">"を元に戻す
$str =~ s/≪/</g;
$str =~ s/≫/>/g;

でもこれだと<BR>とか<IMG>とか閉じタグがないやつが来たとき
破綻がおきるから、さらに手を入れる必要ある。。。
865名無しさん:2001/03/31(土) 17:22
>>864
使えるタグと指定したらもう少しらくでは?
866862:2001/03/31(土) 21:51
>>864さん
思ったよりむずかしそうですね・・でも普段使うタグは
<b><i><font size="*"><font color="#******">
<s><u><a href="****"><pre>
の8つくらいなので、その方法でいきたいと思います。
ありがとうございました!
867864:2001/03/31(土) 22:45
>>862
あ、すんません。864の(1)は試したら全然うまく動かなかった。
「正しく対応してるタグだけ≪≫に換える」正規表現、誰か書いて〜。
868名無しさん:2001/04/01(日) 00:35
ゆいちゃん方式でいっぱい閉じとけばいんちゃう?
869864:2001/04/01(日) 08:44
あり?誰も正規表現書いてくれない。みんな花見で飲んだくれてんのかー。
じゃあこれでどうだー。使い方は $value=&tagcheck($value); ね

sub tagcheck {
my $str = shift;
my $tags = 'b|i|s|u|a|font|pre';
$str =~ s/<((?!\/?(?:$tags)\b)[^>]*)>/&lt;$1&gt;/gios;
1 while $str =~ s/<(\w+)([^>]*)>([^<]*)<(\/\1[^>]*)>/≪$1$2≫$3≪$4≫/gis;
$str =~ s/</&lt;/g;
$str =~ s/>/&gt;/g;
$str =~ s/≪/</g;
$str =~ s/≫/>/g;
return $str;
}
870864:2001/04/01(日) 08:50
↑しまった&lt;と&gt;が・・・。もっかい全角で書きなおし。
sub tagcheck {
my $str = shift;
my $tags = 'b|i|s|u|a|font|pre';
$str =~ s/<((?!\/?(?:$tags)\b)[^>]*)>/&lt;$1&gt;/gios;
1 while $str =~ s/<(\w+)([^>]*)>([^<]*)<(\/\1[^>]*)>/≪$1$2≫$3≪$4≫/gis;
$str =~ s/</&lt;/g;
$str =~ s/>/&gt;/g;
$str =~ s/≪/</g;
$str =~ s/≫/>/g;
return $str;
}
871862:2001/04/01(日) 15:05
>>864さん
うう、ありがとうございます。(T_T) 一応検索したんですけど、
ttp://www3.mahoroba.ne.jp/~yuugeki/cgi_lab/download.html
ここのdecoder.plやゆいチャットはあとでまとめて閉じタグを補完する形で、
望んでた機能とはちょっと違ったので・・

それで870の方法をやってみたんですけど、ちょっと上手くいかない場合があるんです。
○ <b>あ</b>い<s>う/s>え<u>お</u>か
○ <b>あ</b>い<s>う/s>え<u>お/u>か
○ <bあ</b>い<s>う</s>え<u>お</u>か
× <b>あ</b>い<s>う</sえ<u>お</u>か
4番目の「</s」みたく途中で「>」を忘れると、「</sえ<u>」って認識されちゃうみたいで。
これだけなんとかなりませんか・・?
872864:2001/04/01(日) 15:45
いやーわりいっす。おれあんまし正規表現は得意じゃないもんで。
JAPU氏とかgunzip氏とか出てきてくれんかな。
正しい正規表現を教えてくれるなら爆笑クンでもいいすよ。。。
873名無しさん:2001/04/02(月) 14:43
こんなのあったけど。
ttp://bijinga.hoops.ne.jp/attack/
874名無しさん:2001/04/03(火) 02:11
BBSに軽いテキストカウンターを付けたいのですが、
やり方を教えていただけないでしょうか?
875名無しさん:2001/04/03(火) 02:38
>>874
1を読んだのか?
876ヒイロ:2001/04/03(火) 04:37
お願いがあります。今、私のチャットは
http://hylo.virtualave.net/cgi-bin/king2/king2fr.cgi
にありますが、このチャットに待機モードを付けたいのです。
新たに人が来たときに音が鳴るような改造方法を教えてください。
ソースは
http://hylo.virtualave.net/king2.lzh
においてあります。どうかよろしくお願いします。
877ヒイロ:2001/04/03(火) 04:42
876です。入室時のコメントにタグを使うと、そのログが消えるまで音が鳴りっぱなしになるので、
一度だけ、もしくは別窓で待機画面を付けたいのです。
いろいろとうるさい事言ってすみませんがよろしくお願いします。
878T女の竹田:2001/04/03(火) 12:52
>>876
汚いスクリプト…
879T女の竹田:2001/04/03(火) 16:04
自分でやってみた?>>876
880名無しさん:2001/04/04(水) 01:59
>>878
んな大げさな・・・と思って解凍して見たら、
すいませんそのとおりでした。
誰か根性のあるひと見てやってくり。
881T女の竹田:2001/04/04(水) 11:09
>>876のヒイロさん
とりあえず、自分でここまでやったっての教えてよ。
#結果だけ書くとつまらないしさ。
882名無しさん:2001/04/04(水) 12:39
俺がチャットに入室して、いきなり音がなったら速攻出ていくな(藁
883名無しさん:2001/04/07(土) 21:49
http://www.kent-web.com/bbs/yybbs.html?
KENT氏のYY-BORDのアイコン機能なんですが、
「管理者専用」の所を「専用アイコン」にして、
@user_icon = ('icon1.gif'@`'icon2.gif'@`'icon3.gif');
@user_pass = ('pass1'@`'pass2'@`'pass3');
こんな風にユーザー専用のアイコンとパスを設定できるようにして、
それを削除キーでユーザー判別するようにしたいんですけど、どうしたらいいでしょうか?
どうか、よろしくお願いします。
884>883:2001/04/08(日) 00:11
ユーザー専用のアイコンとパスを設定して、
それを削除キーでユーザー判別するように
すればオーケーです。
885名無しさん
>>883
ざっと見ただけなんで、うまくいくか不明ですが。

(1)スクリプトの最初に追加
%user_icon = ( 'pass1'=>'icon1.gif'@` 'pass2'=>'icon2.gif' );

(2)sub registの「管理アイコンのチェック」のとこを修正
if ($my_icon && $in{'icon'} eq "$my_gif") {
if (!$user_icon{$in{'pwd'}}) { &error("・・・専用です"); }
$in{'icon'} = $user_icon{$in{'pwd'}};
}

KENTのスクリプトは読みやすくていいですね。
処理は場当たり的で糞っぽいですが。