トップページphp
1001コメント413KB

【 スクリプト改造工房 PART 5 】

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん02/08/01 18:19ID:???

#================================
# スレッドの説明
#================================

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

質問するときは以下の点に注意して書いて下さい

(1) そのスクリプトの内容と置いてある場所を明記する (txtファイルでUPすればなお良い)
(2) どんな風に改造して欲しいのか? (完成イメージHTMLを用意すればなお良し)
(3) 出来るだけ詳しく書くこと。少しは自分で考えること。できれば御礼も言ったほうが良い

※答えてくれないからといって逆ギレする厨はお断り

#================================
# 過去のスレッド
#================================

【PART1】行方不明
【PART2】http://pc.2ch.net/test/read.cgi/perl/986986227/
【PART3】http://pc.2ch.net/php/kako/988/988808396.html (HTML化済み)
0450nobodyさん02/12/16 22:07ID:tbIe581B
掲示板にメール送信機能をつけてみたんですが、題名に日本語が使えず、
メッセージのところも改行が「・」で、「>」が>になったりしてしまいます。
どこをどう直すべきでしょうか?

>>451がソースです
0451nobodyさん02/12/16 22:07ID:tbIe581B

#------------------メール送信機能-------------------------#
open(MAIL,"| /usr/sbin/sendmail -t") || &error("送信できません。");
print MAIL <<"_MAIL_";
From: xxx\@xx.xx
To: xxxxxx\@xxxx.ne.jp
MIME-Version: 1.0
Subject: 投稿がありました
X-Mailer: Sendmail
Content-type: text/plain; charset=ISO-2022-JP
Content-Transfer-Encoding: 7bit

投稿がありました。
名前:$name
題名:$subject
メールアドレス:$mail
ホームページ:$url
メッセージ:$msg
---------------------------------------
投稿者情報
IP:$ip
ホスト:$host
---------------------------------------
_MAIL_
close(MAIL);
#--------------------メール送信機能------------------------#

よろしくお願いします。
0452nobodyさん02/12/16 22:28ID:tbIe581B
掲示板にメール送信機能をつけてみたんですが、題名に日本語が使えず、
メッセージのところも改行が「・」で、「>」が&gt;になったりしてしまいます。
どこをどう直すべきでしょうか?

>>750がソースです
0453nobodyさん02/12/16 22:30ID:tbIe581B
あれ・・?
2重投稿スマソ
0454nobodyさん02/12/16 22:49ID:???
>>449
送信不可能なんだろ?何がしたいんだ?
ずるぼんでも使ってファイル一覧表示しないようにしたらいいだろ
0455nobodyさん02/12/16 23:06ID:???
>>451
メール送るのにJISに変換しない厨房ハケーン
0456yani ◆saNSktNEdQ 02/12/16 23:11ID:/GE+8J7v
個人的にはMIME宣言してるメールはヘッダもMIMEにするのが筋だと
思うんだがどうだろう。
045745102/12/16 23:33ID:tbIe581B
すいません。本当にわかんないんです。
教えてください
045845502/12/16 23:43ID:???
だからさ、メール送る時は、そのまんま送っちゃいけないの。
どっか、メーラー機能付きのフリーの掲示板かなんかさがしてきて、
それがどんな風に送ってるのか調べてみろって。

ここはアドバイスをする場所であって、回答そのものを書く場所じゃあない。
0459yani ◆saNSktNEdQ 02/12/16 23:50ID:/GE+8J7v
ついでだからさっき書きかけた奴を投げてみる。

>>451
(1)スクリプト中の日本語がJISになってないか、
(2)またはsendmailが妙な面倒を見てくれているかどちらか?
いずれにせよ、個人的にはMIMEを宣言するならsubjectもBASE64エンコードするのが筋だと思う。
(1)だったらEUCで書いて、nkfとか、jcode.pl, Jcode.pmを使うのがいいのかな。
5.8だと pragma encodingがサポートされているけど。
(2)だったら、本文もヘッダもBASE64エンコードか。
046045102/12/17 23:50ID:gzYXlHgB
スクリプトはシフトJISでかかれてます。
EUCはエディタを持ってないんで…

BASE64等聞いたことはあるんですがやり方がよくわからんのです。
046145502/12/17 23:54ID:???
>>451
自力でできないなら、すでにあるものをパクってこいって言ってるだろ。
046245102/12/18 00:28ID:ZpDIFVLh
それもやってみたんですが・・・
変数が入り組んでてわからんのです
046345502/12/18 01:11ID:???
>>451
もしKENTのスクリプトですらわからんとか言うなら、諦めろ。
いやマジで。
0464マリモーマ ◆jbBCmetwgw 02/12/18 06:29ID:rjGaYRoU
サンプル
sub send{
if($mailon == 0){return;}
$m_url = "アドレス http://" . $url;
$m_cn = "件名" . $ken;
$m_name = "名前 " . $name;
$m_com = "コメント " . $te . "<br>" . $te2 . "<br>" . $te3;
$m_aiu = "アイコン" . $aiu;
&jcode'convert(*m_name,'jis');
&jcode'convert(*m_url,'jis');
&jcode'convert(*m_cn,'jis');
&jcode'convert(*m_com,'jis');
&jcode'convert(*m_aiu,'jis');
$mail_head .= "プログラム名 :掲示板\n";
$mail_head .= "送信日    :$date\n";
$mail_head .= "IPアドレス :$ENV{'REMOTE_ADDR'}\n";
$contents .= "名前     :$m_name";
$contents .= "メッセージ  :\n\n$m_com\n";
open(MAIL,"| $sendmail $mail") || &error("メールが送れません");
print MAIL "From: $FORM{ma}\n";
print MAIL "Subject: $m_cn\n";
print MAIL "\n$m_name\n";
print MAIL "\n$m_url\n";
print MAIL "\n$m_aiu\n";
print MAIL "\n$m_com\n";
close(MAIL);
}
046545102/12/18 21:21ID:ZpDIFVLh
つまりメール用に変数を書き換えるんですか?
$m_name = "名前 " . $name; のように??
KENTのCGIですか・・・
JCODEなどの使い方がわからないんですよね・・
0466マリモーマ02/12/19 07:29ID:82rcnvne
これは 僕の作った掲示板なんだ
sendmail用に jcode.plで 変換してるだけだよ
0467nobodyさん02/12/19 23:50ID:???
>>464
サンプルったって……
何故Perl4を意識した組み方なのかそこんところを作った人間に聞いてみたい。
0468nobodyさん02/12/20 03:20ID:fpLfXsGv
はじめまして。
>>310さんと同じKENTWEBさんのchat roboの改造なんですが、
このチャットは2人以上が入室するとロボットが黙るようになっています。
それを、2人以上入室しても喋るようにはできないでしょうか?

概要 www.kent-web.com/chat/robo.html
微妙な改造をしていますが、cgiのテキストファイル
http://jadore.jp/~sermot/robo.txt

よろしくおねがいします。
0469nobodyさん02/12/20 03:34ID:XVaLbHjJ
>>468
# 在室者が1名のとき、又は名前を呼ばれた時に返答する
の直下のifブロックを撤去して
$regist_flag=1;
にしたらいいんじゃない?
0470マリモーマ02/12/20 07:04ID:rQl0YSG9
>467
まだ初心者なもんで あまりわかってないんだ
0471nobodyさん02/12/20 11:35ID:sQRsVps7
2ちゃんねる VS TIME・・・
その戦いの歴史は、まさに近代兵器の見本市だった
田代砲にはじまる数々のスクリプト兵器を経て到達した、97式アラファトマシンガン
これはまさに最終兵器として、猛威を振るった
しかし、ついにTIMEはこれらの兵器全てを完膚無きまでに無効とする
パプリカの設置に成功した
武器を奪われた我々に残されたもの ・・・それは「チョップ!」
手動で一撃一撃叩き込む「チョップ!!」地味で威力も極限まで小さな「チョップ!!!」
ただそれだけと、なってしまった!
だが、チョップといえども決してバカには出来ないということを!
そしてこのような手段にまで出たTIMEを今一度!
我が2ちゃんねらーの総意を込めたチョップを以て、叩き壊したい!!
有志たちの参戦を、ひとりでも多くの戦士の挑戦を待つ!!!
http://live.2ch.net/test/read.cgi/festival/1040349157/
047246802/12/20 13:35ID:fpLfXsGv
>>469
ごめんなさい、どうも505エラーが出ます。
# 在室者が1名のとき、又は名前を呼ばれた時に返答する
if ($_[0] eq "comment" && $now_member <= 1) { $regist_flag=1; }
の、 if ($_[0] eq "comment" && $now_member <= 1) を
削除するということでしょうか?
0473nobodyさん02/12/20 13:57ID:ehxtG+cI
>>472
&& $now_member <= 1
を取れ。それ以上は君には無理っぽい。
0474nobodyさん02/12/20 13:58ID:bSnvNs3j
>>472
if ($_[0] eq "comment" && $now_member <= 100) { $regist_flag=1; }
ここの数字大きくするだけでもいいと思われ。 ↑
047546802/12/20 14:37ID:fpLfXsGv
>>473さん、>>474さん、レスありがとうございます。
474さんの方法でやってみました。うまくいったくさいです。
無知で申し訳ないです……ありがとうございました。
0476nobodyさん02/12/20 18:43ID:Xm/IHOJS
始めまして。最近CGIをかじりだして、なんとか設置「できる」程度にはなったのですが、
KENT-WebさんのYY-BORDのアイコン登録機能をyy-chatに追加したいのですが、
自分で調べてもpup.cgiをどうやって連動させたらいいのかというところでつまずいてしまいました。
もし宜しければご指南いただけないでしょうか?
宜しくお願い致します。
0477nobodyさん02/12/21 03:04ID:p9M9wN14
初めまして。
このスレの職人さんにお力添えを頂きたく、図々しくも
やってきました。m(__)m

↓このスクリプト
http://www.dd.iij4u.or.jp/~musume/test/imgboard.cgi.txt
を使っているんですが、アクセス制限がイマイチまどろっこしいので、
下記のスクリプトの長所を盛り込んで
バシッ!!と串制限したいのです。
http://www.dd.iij4u.or.jp/~musume/test/bbs.cgi.txt

どの辺をいじれば良いのでしょうか?
多分、簡単な事なのかもしれませんが、私の知識ではどうしたらいいのか
よくわかりません。
どうか教えて頂けたら嬉しいのですが。。。
0478nobodyさん02/12/21 03:29ID:hxR7EJif
>>477
http://dream.lib.net/room/cgi/e_acsdeny.html
とかどう?

使ったことないけど。
047947902/12/21 06:12ID:TCs+vCTx
お世話になります。
私はKENT-WEBというサイトの'LIGHT BOARD v6.1という掲示板スクリプトを設置しているのですが、
荒らし対策の為に掲示板にホストIPを表示させたいんです。
恥ずかしながら私はCGIの知識はほとんどないのでやはり、改造の段階でつまってしまいました。

・メインスクリプト
http://www2.csc.ne.jp/~nga/light.txt
・設定等のスクリプト
http://www2.csc.ne.jp/~nga/init.txt

まずinit.txt(本来のファイル名はinit.pl)の最後の方を見ると、
ホストやIPは取得しているようなので、ログにそれらを記述する為に、

local($no,$dat,$nam,$eml,$sub,$com,$url,$ho,$pw,$tim) = split(/<>/, $file[0]);
unshift (@file,"$no<>$date<>$in{'name'}<>$in{'email'}<>$in{'sub'}<>$in{'comment'}<>$in{'url'}<>$host<>$pwd<>$time<>\n");

上記のような個所全てに$addrや$hostなどを追加し、
名前のあとに$addrや$hostと表示するようにしてみたのですが、
全ての書き込みに何故か自分のIPやホストが表示されるだけという結果でした。
詳しく説明した方がいいと思い長文になってしまいました申し訳ございません。

このスクリプトを配布しているサイトのサポート掲示板は改造に関する質問は禁止という事ですので、
こちらに質問させて頂いたのですが、どなたかご教授下さらないでしょうか?
宜しくお願いいたします。それでは失礼致します。
0480_02/12/21 16:35ID:???
>>479
125記事展開
($no,$dat,$nam,$eml,$sub,$com,$url,$host,$pwd,$time,$addr) = split(/<>/);

133記事編集
"<b style=\"color:$subcol\">$sub</b> 投稿者:<b>$nam</b> <small>$addr</small> ",
218行目
# 二重投稿禁止
local($no,$dat,$nam,$eml,$sub,$com,$url,$ho,$pw,$tim,$addr) = split(/<>/, $file[0]);
245行目
$addr = $ENV{'REMOTE_ADDR'};
# ログを更新
$time = time;
$no++;
unshift (@file,"$no<>$date<>$in{'name'}<>$in{'email'}<>$in{'sub'}<>$in{'comment'}<>$in{'url'}<>$host<>$pwd<>$time<>$addr<>\n");

行数一部ずれてるかも…
自分もへっぽこだからな(;´Д`)
048147902/12/21 18:37ID:TCs+vCTx
>>480
レスどうもありがとうございます。
ですが>480さんの言った通り改変してみましたが、
やはり投稿者のIPではなく、自分のIPが表示されてしまいます・・・。

245行目に $addr = $ENV{'REMOTE_ADDR'}; を追加する事は、
今まで試していなかったのでこれで出きると思ったのですが・・・
もう少し自分で試行錯誤してみます。
048247902/12/22 03:15ID:IzGI9cL3
あれから色々やってみたのですがやはり出来ないです。
同じスクリプトの前のバージョンではこの方法で出来たのですが・・・

ログを見てみるとちゃんとIPもホストも残されているのですが、
名前の後に表示するとなると自分のIPとホストが表示されてしまいます・・・

どなたかご教授下さい。どうかお願いします。
0483nobodyさん02/12/22 03:56ID:???
>>482
ログから記事を取り出しがうまく取れてないか、
もしくは表示するときにうまく表示できてないか、でしょ。

変数の名前が違ってる(ログから$adrで取ってるのに$addrをprintしてる)
とかじゃない?
048447902/12/22 05:24ID:IzGI9cL3
>>480 >>483
もう一度DLしなおし、>>480さんの言った通りに改変して見た所、無事出来ました!
何時間もいじっていたので、どこかのソースを少し変えたまま戻すのを忘れていたんだと思います。
手間かけてすみませんでした本当にどうもありがとうございました。
048547702/12/22 09:58ID:4O+EjJim
>>478
それでちょっと試してみます!
ありがとう御座いました。
048647902/12/23 05:07ID:nzgwR1fc
昨日は本当にありがとうございました。
皆様に教えて頂いたおかげで、掲示板は順調に動作しているのですが、
もう一つ気になる個所がでてきてしまいました。

書き込みを削除する際に、1つチェックを入れる度に送信ボタンを押す為、
削除したい書き込みが複数ある場合には非常に効率が悪いんです。
同スクリプトの以前のバージョンは出来たのですが・・・

自力でやってみようと以前のバージョンと見比べて、
<input type=radio name=no value=\"$no\">
という個所の radio を checkbox に変えてみたのですが、
チェックは複数につけられるものの複数にチェックをして削除しようとしても
結局最初にチェックした書き込みしか削除されませんでした。

どなたか教えて頂けないでしょうか?
一昨日質問したばかりで申し訳ないですが、どうか宜しくお願いいたします。

ソースは↓です。(おそらくこのスクリプトを改造するだけで出来ると思うのですが・・・)
http://www2.csc.ne.jp/~nga/admin.txt
0487nobodyさん02/12/23 12:12ID:EkLX2nFl
それはUIの変更でしかない。
実際に選択された全てを削除する作業を改良付加しなきゃ。
0488nobodyさん02/12/23 15:32ID:ylDWuCld
トップソートっていうんでしょうか。
レスのついたスレッドが一番先頭に上がるっていうやつですが

http://www.rocomotion.net/index2.html

ここの左のフレームでCGI>BBSと入ったところにあるCGI配布の掲示板シリーズ。
これの一番下の「ROCO HOUSE BOARD 2」はCSSとiniとcgiでコントロールされています。
しかしこの掲示板、トップソートが初期設定でアリになっていて、これを解除(スレッド固定)にしたいのです。
ini(kboard.ini)とcgi(kboard.cgi)両方をワードパッド上で「topsort」と検索をかけてもヒットしません。
OKWEBでも初心者の私には詳しいことはわかりませんが不可能だろうと言うことでした。
ただし、これはKAISMさんのkboardがベースになっていて改造が施されたものですが
そのオリジナルであるkboardは初期でスレッド固定のようなので
プログラム自体が複雑に絡み合ってこうなっていると言うより、
何行かが書き加えられてこうなっていると考えるのが自然のように思えます。
どうにかなりますかねえ^^;
0489nobodyさん02/12/23 22:15ID:ylDWuCld
改造された方からのお返事を今確認。
スクリプトが長くなり重くなるなどの理由からトップソートのみで書いていると言うこと。
こういうこともあるんですねえ。
049048602/12/23 23:41ID:nzgwR1fc
>>487
わざわざレスありがとうございます。
やはり特別な改良を行う必要があるのですか・・・
お手数とは思いますがその処理を教えては頂けないでしょうか?

ですが製作者様は今までのバージョンでは可能だったという事をあえて出来なくしたのですから
可能にする事により何かデメリットが出来てしまうんですかねぇ・・・

私のサイトは携帯用なので利用者どうしの喧嘩のようなものから、
よく荒らしに発展してしまうので複数チェックで削除出来れば大変便利なのですが。
0491nobodyさん02/12/24 01:34ID:???
>>490
その掲示板だかなんだかの、昔のバージョンはないのかね?
複数削除が可能だった頃の使えば?
049248602/12/24 02:03ID:7RBB/Grc
>>491
「プログラムは、セキュリティ対策を施したv5.7以降を必ずご使用ください」
という注意事項がかかれてあったので、以前の物を使用するのはちょっと・・・
それに以前のバージョンはもう公開していないみたいですし私もそれそのものはもってないんです。
セキュリティのどこが甘かったかといったような事はわからないのですが。
0493nobodyさん02/12/24 23:39ID:???
>>492
じゃあ、作った本人に改造してもらったら?

作った本人が面倒くさいって言ってるくらいだから、
他人がいじるのはもっと面倒くさいな。
0494nobodyさん02/12/25 05:08ID:???
>>493
それじゃこのスレの意味ねぇだろアフォ!
しかもKENTは面倒くさいなんて言ってないだろ?
どこで言ってたの?まぁ俺は面倒くさいから嫌だがね。
0495nobodyさん02/12/25 11:35ID:???
>>492
それかなりめんどうだよ。
スクリプト全体に手を入れないといけないからね。
むしろ以前のバージョンにセキュリティ対策施した方が楽かも。
049648602/12/27 09:13ID:ABvqt34o
レス遅くなって申し訳御座いません。

>>495
そうなんですかか大掛かりな改良が必要なんですね。
特に致命的な問題ではないですし、諦めてこのまま設置致します。
レスくれた皆様ありがとうございました。
0497nobodyさん02/12/27 17:33ID:???
>>496
これを参考にシル
# 削除情報を配列化
@del = split(/\0/, $in{'no'});

# スレッド内より削除記事を抽出
@new=();
open(IN,"log");
$top = <IN>;
($num,$sub2,$res,$key) = split(/<>/, $top);
while (<IN>) {
$flag=0;
($no,$sub,$nam,$em,$com,$da,$ho,$pw) = split(/<>/);
foreach $del (@del) {
if ($no == $del) { $flag=1; last; }
}
if (!$flag) {
push(@new,$_);
}
}
close(IN);
049849702/12/27 17:53ID:???
>>494-495
全然面倒じゃないだろ、と釣られてみるテスト
48行あたり
# ロック開始
&lock if ($lockkey);

# 削除情報を配列化
@del = split(/\0/, $in{'no'});

# 削除記事抜き取り
@new=();
open(IN,"$logfile") || &error("Open Error : $logfile");
while (<IN>) {
$flag=0;
($no) = split(/<>/);
foreach $del (@del) {
if ($no == $del) { $flag=1; last; }
}
if (!$flag) {
push(@new,$_);
}
}
close(IN);

後は、radioをcheckboxにカエレ!
049948602/12/28 05:06ID:???
>>498
神様の言う通りやってみたらあっさり出来ました!
凄く嬉しいです!この掲示板に書き込みしてほんとによかったです!
お世話になりましたありがとうございました!
050047702/12/29 17:36ID:5O7Hg3I+
>>478さん
あれから色々試してみましたが、教えていただいたスクリプト
http://dream.lib.net/room/cgi/e_acsdeny.html
このスクリプト自体はちゃんと動くのですが
http://www.dd.iij4u.or.jp/~musume/test/imgboard.cgi.txt
に最初から搭載されている荒らし対策機能のせいか全く効果が
ありません。

それどころかこの掲示板、投稿者情報をホストで記録しているだけ
なので(本当はIPでも記録しているのでしょうが)、
デフォルトで搭載している荒らし対策機能が十分に活かされておりません。
(海外串やIPアドレスでの制限が出来ない、など)

ちょっといじるだけで解決する問題でしたら誠に恥ずかしいお願いなのですが、
今まで自分なりに調べたりしても判りませんでした。
どうかご指導して下さる方はいらっしゃいませんでしょうか・・・。
宜しくお願い致します。m(__)m


0501nobodyさん02/12/29 17:55ID:uoxci6sX
>>477
アダルトサイトの管理人には教えたくないです。
0502nobodyさん02/12/30 03:32ID:cfFttQy/
a
0503AY02/12/30 21:38ID:6Lg7oo1p
すごい初歩的なことなんですけど、
「KENT WEB」の「Joyful Note」に、投稿者の居住地をつれけるようにするには、
どこをどうすればいいのでしょうか。
プルダウンで選べるようにしたいのですが。
0504にんにん02/12/31 02:48ID:w7i1AXgj
&nsp;
050548602/12/31 05:59ID:???
>>498
先日はお世話になりました。
あの>498で教えてもらった通り改変した所、
無事、複数同時削除が出来るようになったのはお話しした通りなんですが、
それにより、どうやら修正が出来なくなってしまったようです。(気付くのが遅くてすみません)
私としましては書き込みを修正する機能は必然というほどではありませんので、
出来ればでいいのですがご教授頂けないでしょうか?

プログラムのソースは以前と同じくhttp://www2.csc.ne.jp/~nga/admin.txtです。

それでは失礼致します。
050648602/12/31 06:10ID:???
すみません!修正出来なくなっていたのは私のミスでした!
修正出来ました。お騒がせして申し訳ございませんでした。
050749802/12/31 10:01ID:???
>>486
もしかして、複数選んでなかった?

# 修正フォーム
} elsif ($in{'job'} eq "edit" && $in{'no'}) {
&error("複数修正はできません") if ($in{'no'} =~ /\0/);

これでも追加しれ
0508nobodyさん02/12/31 10:05ID:???
ところでパスワード晒してない?
dimensionzってモロダシ━━━(゚∀゚)━━━!!!!
0509α ◆HCOpYnZA7c 02/12/31 11:59ID:mjoKt6Ws
http://dream.lib.net/room/で配布されてる
Icon Chat by The Room ココのチャットのIchat
でrom者のIPを表示する機能のつけかたをおしえてください
0510α ◆HCOpYnZA7c 02/12/31 12:02ID:mjoKt6Ws
↑に追加1分以内ロムってる場合IP表示
0511nobodyさん02/12/31 13:18ID:qLQW6luA
>>509-510
ソースはテキスト形式で出してね。
0512α ◆HCOpYnZA7c 02/12/31 14:56ID:KGoFfbhM
このcgiはテキスト形式でやると汚くなるんですよ>>511
0513α ◆HCOpYnZA7c 02/12/31 15:03ID:KGoFfbhM
http://dream.s17.xrea.com/s/ichat.txt>>511
0514nobodyさん02/12/31 15:13ID:???
>>513
939行目
$a3 = "ROM:$rom_num人 ";

$a3 = "ROM:$rom_num人 $rom_member ";


1179行目
$rom_num++;

$rom_num++; $rom_member .= "($ip) ";

1187行目
$rom_num++;

$rom_num++; $rom_member .= "($y2[1]) ";

1205行
$rom_num++;

$rom_num++; $rom_member .= "($ip) ";

こんなんでいいの?
0515α ◆HCOpYnZA7c 02/12/31 18:27ID:NfjjwQzQ
1分以内ロムってる場合IP表示これが発動してないような
0516nobodyさん02/12/31 18:43ID:???
>1分以内ロムってる場合IP表示これが発動してないような
意味が分からないのですが
0517nobodyさん02/12/31 18:43ID:???
そういう機能つけるのむりっぽいのでいいですぅ。
後そのチャットに発言ランキングをつけたいのですが、どのようにすればいいんでしょうか?
0518nobodyさん03/01/01 13:22ID:SdsD4VAk
age
0519nobodyさん03/01/01 14:54ID:???
>つけたいのですが
付いてるスクリプト探せば?
0520α03/01/01 14:58ID:SdsD4VAk
そこで配布されてるCGIがどうしてもつかいたいのです
0521nobodyさん03/01/01 15:28ID:???
「1分以内」じゃなくて「1分以上」でしょ。。。
0522nobodyさん03/01/01 20:12ID:???
>αさん
教わる場合はもっと礼儀をしっかりしましょうよ・・・。
ここに人たちは純粋に善意で教えてるんだからさ・・・。
0523nobodyさん03/01/01 21:34ID:???
女子は画像添付だよ
守れよ〜
0524名無しさん@お腹いっぱい。03/01/02 01:56ID:???
KENTさんのとこのプチ☆ボードにスレッドごと及びレス記事に番号つけてようは
ここの掲示板みたいなやつ。んでレスカット機能つけて全レス読むでread.cgiを
使って表示するという改造を(read.cgiは探してきます。)したいのですが・・・。
当方やっと本、片手にシンプルな掲示板が組めるようになった程度でスキルが
ありません。ご協力お願いします。
0525nobodyさん03/01/02 04:52ID:???
>>524
鬼レスボードじゃだめ?
あれはPetitベースだけど・・・
って、見てきたら配布終了してたわ
代わりにeMzStyle Boardに同等の機能が在るとの事
ttp://mic.sites.cc/
0526α03/01/02 12:32ID:DP7C43xk
>>522スイマセン、今度からきおつけます。
0527α03/01/02 16:01ID:BNSxPHvc
そのチャットに発言ランキングをつけたいのですがどのように改造すればいいんでしょうか?
0528nobodyさん03/01/02 17:23ID:???
perl覚えてください




とミもフタもないことを言ってみるテスト
0529名無しさん@お腹いっぱい。03/01/02 18:58ID:???
>>525
ありがとうございます。でもなんつ〜か自力で(ここで聞いてる時点でそうでは
ないけど)改造したいんですよね。ただ設置するだけでは意味がないような気が
するんですよね。

自分で頑張ってみて自力で無理なとこ(ほぼ全部だけど・・・)はソース張るので
ご協力していただけたらと思います。
0530名無しさん@お腹いっぱい。03/01/02 21:06ID:???
すみませんが協力してください。お願いします。

現在、PETIT BOARDを改造しています。というより機能削り?以下、詳細です。
ttp://www.geocities.co.jp/SiliconValley-SanJose/7269/petit1.txt

それで投稿フォームを別画面に表示する改造をしているんですがスクリプト自体は
動いていて投稿フォームのみエラーになるという現象が起きています。アドバイスお願いします。
ttp://www.geocities.co.jp/SiliconValley-SanJose/7269/petit.txt
053152903/01/02 21:09ID:fb82aWK0
>>530
ちなみに529です。名前変更するの忘れました。
053251503/01/03 14:01ID:sga5e0Hj
自分なりにichatに発言ランキングいれようとしたけど、無理でした。
発言ランキング使けかたおしえてください
0533nobodyさん03/01/03 17:04ID:???
>>530
投稿フォームへのリンクを消せばいいだけだと思うが。
すっきりさせたいならsub newk{} とそれを呼び出している部分も消せばいい。
具体的には193行目と237行目とsub newk{}全体。
まあ機能削りなんかするくらいなら一から自分で作ったほうが良いとは思うがな。
053453303/01/03 17:11ID:???
ちなみに #!/usr/local/bin/perl の下あたりに
use CGI::Carp qw(fatalsToBrowser);
と書いておくとブラウザにエラーが表示されるのでおすすめ。
0535nobodyさん03/01/03 18:01ID:Dyvox6wr
http://mtbbs.tr-w.net/
で配布してる掲示板なのですが、一番下の記事には
全部読む 最新50 1-100 板のトップ リロード
って表示されません。
http://mtbbs.tr-w.net/yy2ch.html
のサンプルにも表示されていません。
どうすれば表示されるようになりますか?
0536nobodyさん03/01/03 18:14ID:yYHPzW2l
初めまして、質問させていただきます。

.htaccessが設置できない鯖で、perlでホストによるアクセス制限をしたいと思っています。

例えば、"jp"と"hoge.com"をアクセス禁止にしたい場合は下記のようになると思うのですが

----

$host[0] = ".jp";
$host[1] = ".hoge.com";

local($match) = 0;
foreach (@host) {
if ($ENV{'REMOTE_ADDR'} =~ /$_/) { $match=1; last; }
}
if ($match) {
print "Content-type: text/html\n\n";
print "<html><body>アクセスできません</body></html>";
exit;
}

----

この逆で"jp"と"hoge.com"のみ許可したい場合の記述の方法が今ひとつ良く分かりません。
ご教授お願い致します。
053751503/01/03 18:15ID:d+mRDn0L
教えてください
0538nobodyさん03/01/03 18:51ID:???
>>536
if ($match) を if (!$match) にするだけ。
それと余計なお世話かもしれないが、本当にやりたいことは
@host = ('\.jp$', '\.hoge\.com$');
なんだと思う。
0539nobodyさん03/01/03 18:51ID:???
>>536
単純に
if(!$match){
じゃダメなの?
0540冬厨 ◆j0Oon93KwY 03/01/03 18:53ID:???
>>536
if($match)

if(!$match)
にするだけで、$matchじゃなかったら「書き込めません」と出るようになります。
054153603/01/03 18:54ID:???
>>538-539
ご回答ありがとうございます!早速やってみます。
0542冬厨 ◆j0Oon93KwY 03/01/03 18:54ID:???
レスが遅くて被りまくり・・・。
054353603/01/03 18:57ID:???
>>冬厨様
ありがとうございます。
054453603/01/03 21:01ID:???
先ほど質問させて頂いた536です。

教えて頂いた通りに記述してみたところ、ホスト名をIPアドレスで指定した場合は正常に動作しましたが、"jp"などドメイン名で指定すると上手くいきませんでした。
恐らくIPアドレスからホスト名の逆引きが上手く出来てないと思い、

if ($ENV{'REMOTE_ADDR'} =~ /$_/) { $match=1; last; }



if ($ENV{'REMOTE_HOST'} =~ /$_/) { $match=1; last; }

としたけどだめでした。

また、538さんが指摘して頂いた

@host = ('\.jp$', '\.hoge\.com$');

↑を使って記述したいいと思い色々弄ってみたのですが、私がやるとスクリプトエラーになってしまいます。

初歩的な質問で大変恐縮なのですが、改善策をご指導願えますか?
054553803/01/03 22:09ID:???
>>544
まず本当にホストの逆引きができていないか $ENV{REMOTE_HOST} の内容を
表示して確認する。(printデバッグ)
IPアドレスが表示されるなら
$ENV{REMOTE_HOST} = gethostbyaddr(pack("C4", split /\./, $ENV{REMOTE_ADDR}), 2);
たぶんこれでいける。
スクリプトエラー云々は単なる記述ミスだと思うが…。
perl -cw なり >>534 の方法で確認。
0546名無しさん@お腹いっぱい。03/01/04 00:16ID:3GL3mxm0
>>534
とりあえず軽量化するための苦肉の策として投稿フォームをhtmlで
吐き出すことにしました。名無し投稿が可能なので匿名投稿可というのをクッキーの
言い訳に・・・(w 返信フォームではクッキーが有効なので大して問題もないですので

ご協力ありがとうございました。
054751503/01/04 09:35ID:KfYBPbca
AGE
発言ランキングどうやったらつけれるんですか?
0548nobodyさん03/01/04 14:59ID:???
>>547
入れようとして無理だったなら途中までのソース見せれ
054953603/01/04 19:17ID:???
>>538さん
教えて頂いた通りにしたら今度は上手くいきました!ご丁寧にご教授頂き本当に助かりました。有難うございました。
■ このスレッドは過去ログ倉庫に格納されています