【 スクリプト改造工房 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化済み)
0186nobodyさん
02/09/29 12:06ID:i0j1EM8Sなんだけど、
>>各スレッドから1-100を表示する みたいな感じにできないのですか?
>>一つのスレに 最大いくつまで書き込めるかも設定できるようにしてほしいです。
の機能、漏れもつけたいと思って自分で改造しようとしたけど何処をいじったらいいのか
わからない…。
何方か教えてくださいませ…。
0187nobodyさん
02/09/29 13:01ID:???sub frame の
&header; を
&header(1); に変更、
sub header を以下のように。
if($_[0]){$doctype = 'Frameset';}
else{$doctype = 'Transitional';}
print "Content-type: text/html\n\n";
print<<"EOM";
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 $doctype//EN">
<html>…
質問がスレ違いなのでこっちに書いとく。
0188186
02/09/29 18:09ID:GVezWC+D無理なら、2chで使われてるのに一番近い機能がある板を教えてください。
お願いいたします。
0189nobodyさん
02/09/30 00:59ID:???やっぱ、メガビだろ?
http://www.megabbs.com/
0190nobodyさん
02/09/30 18:45ID:9eniCY8sどなたか診てください。おねがいします。
http://www.geocities.co.jp/HeartLand-Cosmos/4228/enter.txt
http://www.geocities.co.jp/HeartLand-Cosmos/4228/chat.txt
0191nobodyさん
02/09/30 19:21ID:???0192LaLaLa ◆12fmecqU
02/10/03 01:22ID:uq/PQZBfこの度は皆様にスクリプト改造のお願いがあって参りました。不束者ですがどうぞ宜しくお願い致します。
早速お願いに入りますが、http://xxx.vis.ne.jp/a/ealis.cgiに設置した掲示板
・スクリプト配布元『http://kano.feena.jp/erial/ealis2/』
・スクリプトの改造版レタリングエンジン配布元『http://www85.sakura.ne.jp/~cgilabo/cgi.html』
★レタリングエンジンのソース『http://xxx.vis.ne.jp/a/ealis_let-topic_icon.txt』
…について、特定のスレッドに対してのレスが100件に達すると返信フォームが無くなって、これ以上返信不可能になるように改造していただきたいのです。
具体的には100件に達すると返信フォームの部分を、以下のHTML文に変換するようにしていただきたいのです。
↓↓↓
<TABLE border="0" cellpadding="10" cellspacing="1" bgcolor="#000000"><TBODY><TR>
<TD bgcolor="#ffffff"><B>レス数が100を超えたためこのスレッドには投稿できません。<BR>
必要に応じて新しいスレッドを立ててください。</B></TD></TR></TBODY></TABLE>
↑↑↑
そう機能するにはどのように改造すれば宜しいでしょうか?ご教授くださいませ。
どうか宜しくお願い致します。
0193nobodyさん
02/10/03 01:58ID:???else
{$resform}
全く見てないけど。
0195LaLaLa ◆9G12fmecqU
02/10/03 09:08ID:uq/PQZBfご回答どうもありがとうございます。感謝しております。
とりあえず$noの部分を$numberに変えてちょっといじってみましたが全然出来ませんでした。
力不足で申しわけありません…。
もし宜しければ、詳しくご指導お願いできないでしょうか?
あつかましい願いで申しわけありません。宜しくお願いいたします。
0196nobodyさん
02/10/03 09:55ID:???if($number >= 100){
print "レス100新スレ立てれ";
}else{
print "レスつけろ。";#通常の表示するものなぞ。
}
0197nobodyさん
02/10/03 11:01ID:xHS0Gcl+レスは$tres[$number]。
sub reswindow
{
if($tres[$number] == 100) {
print "書けませんよニヤリッ";
}
0198 ◆9G12fmecqU
02/10/03 13:03ID:uq/PQZBf>>196様のと>>197様のを両方やってみました。
しかし、色々いじってみましたがそれをどうやって組み込むのか全然分かりません。
力不足で本当に申し訳御座いません。
Normal modeとDynamicHTML modeの両方で使用したいのですが、
具体的に何行目にそれらを組み込めば宜しいのでしょうか?教えてくださいませ。
また、(大変失礼で申しわけありません)>>196様のと>>197様のではどちらが正しいのでしょうか?
お手数かけてすみません。どうか宜しくお願いいたします。
0199nobodyさん
02/10/03 14:57ID:???> 色々いじってみましたが
どういじってみたのかを示してみれば?
0200nobodyさん
02/10/03 15:42ID:???どうすればいいでしょうか?
あと投稿語に「ありがとうございました」ってでるので
それも表示させたくないんですけど…やりかた教えてください。
http://www.cgi-down.com/cgi/imodebbs.html
0201 ◆9G12fmecqU
02/10/03 16:30ID:uq/PQZBfはい。
えっと、いじったと言うか…ただコピペして放り込んだだけなんですが、
>>196様や>>197様の書いたのを154行目の周辺、187行目の周辺に放り込んで
何回か試してみましたがいずれも上手くいかなかったんです…。
他には全然分からないのです。
…どこにどういう形で入れるのか教えてくださいませ。
教えて君で申しわけありません。どうぞ宜しくお願いいたします。
0202nobodyさん
02/10/03 16:30ID:???0204 ◆9G12fmecqU
02/10/03 16:43ID:uq/PQZBfゴメンなさい…。バカみたいで書けませんでした。ゴメンなさい。
if文とかそう言うのなんにも分からないです。HTMLしか分からないです。
本当に申しわけないです。どうかご教授ください…。
0205その1
02/10/03 18:52ID:eT3P8zNo----------------------------------
# 1スレッドあたりに書き込めるレス件数
$max_res = "100";
----------------------------------
0206その2
02/10/03 18:52ID:eT3P8zNosub reswindow
{
#追加
if($tres[$number] <= $max_res) {
------------------------------------
0207その3
02/10/03 18:54ID:eT3P8zNo&footer_menu;
print "\t</Td></Tr></Table>\n";
print "\t</TD></TR></TABLE>\n";
print "<br>\n";
}
#ここから
}else {
print "\t</td></tr>\n</table>\n\n";
print '<TABLE border="0" cellpadding="10" cellspacing="1" bgcolor="#000000"><TBODY>';
print '<TR><TD bgcolor="#ffffff"><B>レス数が'.$max_res.'を超えたためこのスレッドには投稿できません。<BR>必要に応じて新しいスレッドを立ててください。</B></TD></TR></TBODY></TABLE>';
&footer_menu;
print "\t</Td></Tr></Table>\n";
print "\t</TD></TR></TABLE>\n";
print "<br>\n";
}
#ここまで追加
}
sub footer_menu
--------------------------------
以上
0208nobodyさん
02/10/03 19:20ID:???ダウンロードして解凍して読めってか?
氏んでくれ。
全く見てないけど、多分、
if ($pass != ""){&error}
みたいなところがあったらそこをエスケープしる。
書き込み後のは
「ありがとうございました」
をファイル内から検索してそこをlocationでトップに飛ばすようにしる。
0209 ◆9G12fmecqU
02/10/03 21:45ID:uq/PQZBf有り難う御座いました!!出来ました♪
レスが何件でも出来るようにアレンジまでして頂いて、本当に感謝のきわみです。
嬉しいです!!本当に有り難う御座いました!!
でも一つおかしいところがありました…。(汗)
えっと、通常のはいいんですが、『レスを全部読む』をクリックすると、
そっちの方は限界をすぎても正常どおり返信フォームが現れてしまうのです。(汗)
これを直すことは出来ませんでしょうか?
再三にわたりお手数をかけて申しわけありません。
どうか、宜しくお願いいたします。
↓改造後レタリングエンジン
http://xxx.vis.ne.jp/a/ealis_let-topic_icon2.txt
↓掲示板
http://xxx.vis.ne.jp/a/ealis.cgi
0210nobodyさん
02/10/03 21:46ID:???>>1読んだか?
ここは一から十まで全て人任せで改造してもらえる便利な場所ってわけじゃ
ないんだけどな。
#================================
# スレッドの説明
#================================
「スクリプトを改造したいけどやりかたわかんないよー」という人がいましたら
ここで聞いてください。ひょっとしたらアドバイス出来るかもしれません。
0211 ◆9G12fmecqU
02/10/03 21:56ID:uq/PQZBfた、大変もうしわけ御座いません。
改造していただけて、うれしくて調子にのってしまいました。
本当にゴメンなさい…。
これからはこのようなこと無いように気をつけます。
お気を悪くさせてしまい、本当に申し訳御座いませんでした。
考えていただいた全ての皆様、本当に有り難う御座いました。
では失礼します…。
0212nobodyさん
02/10/03 22:01ID:qJG4DIFH0214nobodyさん
02/10/03 22:05ID:???自分でやってみてわからない所を聞く。
…なら歓迎なんだけどね。
自分でやる気が無い奴に答えてたらそんな奴ばかりが
集まるようになって大変な事になるのよ。
0216190
02/10/04 00:05ID:8sSFu4uX思い当たる所はいじってみたんですが変わりませんでした。
ちなみにフレーム解除画面では残りません。
いじったのはtableやstyleなど外観だけです。
どの辺が原因かだけでも(クッキー関係かautoclear関係か)
教えてください。
0217nobodyさん
02/10/04 02:28ID:???発言消去にクッキーは使ってない。
それにHTMLやJavaScript等のクライアントサイドの問題だから
板違いじゃない?
0218nobodyさん
02/10/04 05:12ID:???でいけるんじゃないかな。
0219200
02/10/04 11:42ID:???一応設置してみましたけど、中身みてもよくわかんないです。
パスワード入れなくても書き込みできるのと、
書き込み後のありがとうございましたを表示しなくするの教えてください。
http://www.385ch.tv/cgi/i-modebbs/imodebbs.cgi
0220nobodyさん
02/10/04 12:36ID:???パスワードのチェック
328行目
if ($FORM{'pwd'} !~ /^[0-9a-zA-Z]+$/) { &error("削除キーは半角英数字で入力して下さい。"); }
を削除
投稿後のお礼表示
445行目の
&html_ok($flag);
を
print "location: $cgifile\n\n";
に変更する。
でも多分i-modeからの投稿だと駄目かもしれない。
検証がPCでしか出来なかったから後は自分でなんとかしてちょ。
中途半端な返答でスマソ
0221200
02/10/04 13:23ID:???ありがとうございます。出来ました。
あと、投稿を表示してる画面で、PCの画像やケータイの画像の
非表示したいのでがうまくいかないです。画像非表示にするかわりに、
文字で機種表示したいのですが…お手数かけます。
0222200
02/10/04 13:31ID:???無効なデータを受信しましたってエラーがでます><
0223220
02/10/04 14:05ID:???i-mode対応
445行目を元に戻して &html_ok($flag);
450行目の &html_header; を削除する。
453行目の
print "登録ありがとうございました。<br><br>\n";
print "<a href=\"$cgifile\">『掲示板へ戻る』</a><br>\n";
を &html_view; に変える。
456行目 print "<div align=\"center\"><br><br><br><br>\n"; の上に
&html_header; を入れる。
460行目を
print "location: $cgifile\n\n";
exit;
に変える。
記事を変更修正したときのメッセージも飛ばすのなら
458行目も同じ上の460行目に書いたものと同じものに変える。
以上の改造でi-modeで投稿しても確認画面の表示はしないはずです。
確認画面は sub html_ok で行われていますのでそこを重点的に改造するということです。
サブルーチン中にif文が幾つかありますが、先頭の if (index($agent, "DoCoMo/") == 0 || index($agent, "J-PHONE/") == 0) でi-modeか否かを判定しているようなので、
yesなら真下の命令をnoなら次のelseの中へと誘導されています。
しかし、if文の上に&html_headerで生成されるhtml(画面)の上部が呼び出しがかけれら生成されていますので生成(呼び出)されるタイミングをずらします。
これで必要に応じて呼びにいくような形になりました。
0224220
02/10/04 14:05ID:???機種を判別してそれを数値で記録しているようなので数値に対応したメッセージを出すように改造すればいいです。
どこかに数値に対応した配列が格納されていると思いますのでその中身をメッセージにして呼び出しているところの周りが恐らくimgタグで囲まれていると思います。
ですので、それぞれのポイントをimgタグではなくただの文章として表示(imgタグを抹消)することで解決できると思います。
私が出来るのはここまでです。
一応解りやすいよう解説も書きましたが、あくまで暇なので丁寧にしただけであって常にこのような対応が受けられると思わないほうがいいです。
それと、もう少し基礎というか少しでも勉強してください。
常識で考えれば「パスが無くても投稿出来る」ということは、パスが無いときはエラーのメッセージを出しているところが怪しいと考えるはずです。
ですから、エラー時のメッセージをCGIプログラム中から探し出してそこから流れの逆を辿っていくということくらいは出来るでしょう。
0225220
02/10/04 14:08ID:???参考程度に改造付近のプログラムはこうなります。
$COOKIE{'mail'} = $FORM{'mail'};
$COOKIE{'hpurl'} = $FORM{'hpurl'};
&html_ok($flag);
}
# ++++++++++++++
# [登録完了ページ表示]
sub html_ok {
$change = $_[0];
if (index($agent, "DoCoMo/") == 0 || index($agent, "J-PHONE/") == 0) {
&html_view;
print "登録ありがとうございました。<br><br>\n";
print "<a href=\"$cgifile\">『掲示板へ戻る』</a><br>\n";
} else {
print "<div align=\"center\"><br><br><br><br>\n";
if($change) {
print "記事の変更を受け付けました。<br><br><br><br><br><br>\n";
} else {
print "location: $cgifile\n\n";
exit;
}
print "<a href=\"$cgifile\">『掲示板に戻る』</a><br>\n";
それじゃまた。
(丸写しでもいいだけどね(汗(気づくかな?))
0226220
02/10/04 14:19ID:???私も相当な暇人だよな。
OSイメージの非表示
212行目の中の <img src=\"$os_gif\" align=\"absmiddle\" width=\"$os_wid\" height=\"$os_hei\" border=\"0\"> を削除する。
機種名はブラウザ(OS)として出てるでしょ?
そういうのは駄目かな?
0227220
02/10/04 14:31ID:???ゴメソ嘘書いちまった。(汗
アイコン表示
184行目付近で投稿内容のデータを見て判別しているので
if ($magent !~ "DoCoMo/" && $magent !~ "J-PHONE/") {
print "PC<img src=\"$spa_gif\" width=\"$spa_wid\" height=\"$spa_hei\" border=\"0\">\n";
} elsif($magent =~ "DoCoMo/" && $magent !~ "J-PHONE/") {
print "DoCoMo<img src=\"$spa_gif\" width=\"$spa_wid\" height=\"#spa_hei\" border=\"0\">\n";
} else {
print "J-PHONE<img src=\"$spa_gif\" width=\"$spa_wid\" height=\"#spa_hei\" border=\"0\">\n";
}
に変えてください。
2,3行増えてますがJ-PHNEとi-modeとを区別すために増やしました。
いい加減疲れたよ、これでいいかいな?
0228200
02/10/04 14:31ID:???こんなにいっぱい変えられるんですね…感動しました!
教えてくれた皆さんホントにありがとうです。
いまチクチクいじってますが、また質問するかも…シツコイですね・・><
0230220
02/10/04 16:11ID:???いじりしくじっただけだろ。
0232220
02/10/04 16:42ID:???一応ねどうんな状況でエラーが出たか書いてもらわないときついです。
で、バグあったから直したの書いときます。
sub html_ok {
$change = $_[0];
if (index($agent, "DoCoMo/") == 0 || index($agent, "J-PHONE/") == 0) {
&html_view;
} else {
if($change) {
print &html_header;
print "<div align=\"center\"><br><br><br><br>\n";
print "記事の変更を受け付けました。<br><br><br><br><br><br>\n";
} else {
print "location: $cgifile\n\n";
exit;
}
print "<a href=\"$cgifile\">『掲示板に戻る』</a><br>\n";
print "</div>\n";
}
&html_footer;
exit;
}
&html_header; と もう一行の位置が変わりました。
かえとかないと修正した後の画面で変になりまする。
詳しく教えてくれるならもうちょっと付き合ってもいいよ。
0233220
02/10/04 16:45ID:???漏れのミスだ。(汗
&html_view;
を
&html_view;exit;
にしてちょうだい。
0234220
02/10/04 16:59ID:???>>200
&html_view;exit;
の前に
@DATA = &read_file($datafile);
$agent=$ENV{'HTTP_USER_AGENT'};
$agent =~ s/\,//g;
&read_form;
を書かないと駄目な仕組みになっている模様。
0235200
02/10/04 17:02ID:???動きました!@DATA = &read_file($datafile);
$agent=$ENV{'HTTP_USER_AGENT'};
$agent =~ s/\,//g;
&read_form;
↑入れないとダメって??
0236220
02/10/04 17:08ID:???設定エラーってさ・・・属性の変更し忘れとかの鯖エラーでしょ・・・。
まぁいいや。
それいれとかないと新規投稿が見えない状態で表示されます。
投稿はされてるんだけどね。
って勝手に推測。
やっとくに越したことは無いと思うけど、ちゃんと動いてるならやらなくていいよ。
i-modeの環境が無いもんでね。
検証出来んのだわ。
すまんね。
@DATA = &read_file($datafile);
&read_form;
この2行だけでイイっぽい見た感じ。
0238220
02/10/04 17:33ID:???逝ってらっさい。
漏れもヘタレだから大したことは出来ないけど、勉強してきます。
今携帯持ってきて動かしてみたけど上のレスの追加2行はいらんみたいね。
んじゃそういうことで乙彼さん。
0239nobodyさん
02/10/04 19:43ID:???0241nobodyさん
02/10/05 21:30ID:???0242たく
02/10/06 00:56ID:ND83c5Mpこの掲示板の投稿フォームで<select></select>の中から選んだ内容を
コメント本文に書き込ませたいんですけどうまくできませんでした…
本文には
raiting:<改行>
★★★★<改行>
コメント内容
というような感じにしたいんですけど、
これはフォームをいじるだけではダメで
スクリプトも変えなきゃダメですか?
0243nobodyさん
02/10/06 01:02ID:???0245たく
02/10/06 01:46ID:ND83c5Mp0246nobodyさん
02/10/06 04:00ID:???0247nobodyさん
02/10/15 17:04ID:???http://ayu.csidenet.com/
こちらの
http://ayu.csidenet.com/cgi/whiteforum.html?
ここで配布されているWhite Forumに文字色選択機能を付けたいのです。出来れば、それぞれのフォーラムに別々の色を最低でも10コくらいで選べるようにしたいんです。ラジオボタンで選ぶ形だとだと凄く嬉しいんですけど。
でもちょっと見てみたんですけれど、なんだかplとかがいっぱいあって、設置するのは出来たんですが改造するには私には難しいんじゃないかと思って…。
私はほんとに、簡単な改造くらいしか出来ないんです。
こういうのって、お仕事として改造して下さるところとかあるんでしょうか?
0248nobodyさん
02/10/16 04:50ID:???0249nobodyさん
02/10/16 22:09ID:vfA8qHJl「新規発言のみを読み込む機能」を付けたいのだけれど
何でもいいのでアドバイスいただけませんか?
0250nobodyさん
02/10/17 07:50ID:???0251nobodyさん
02/10/18 05:17ID:???0252
02/10/18 13:26ID:W7G/zwxhTOS BBSにアイコン機能をつけたいのですが。。
0253s
02/10/18 13:34ID:efsLfX8l0255252
02/10/18 22:38ID:???0257nobodyさん
02/10/20 00:35ID:???0258太郎
02/10/20 00:38ID:wHfnl2c6http://www31.tok2.com/home/sanche/cgi-bin/ankeet/enq.cgi?
0260nobodyさん
02/10/20 18:39ID:RVEI8NIXこれ→http://rpg-center.net/bbs/dsfbbs/yybbs.cgi
http://cuo.press.ne.jp/cgi/b07_1.html
この方法は通用しませんでした。
0261nobodyさん
02/10/20 18:58ID:???0262nobodyさん
02/10/23 00:21ID:y0AW0VEm詳細キボンヌ
0263nobodyさん
02/10/23 00:54ID:???0264nobodyさん
02/10/23 13:19ID:???そういえば、昔
ttp://www.prologue.info/web/
で、そういうの再配布してたな。
ちょっとオリジナル版作者とのいざこざがあって配布やめているらしいが。
0265nobodyさん
02/10/23 15:49ID:y0AW0VEm詳細キボンヌ
スクリプト配布場所↓
http://kano.feena.jp/erial/
0266nobodyさん
02/10/23 17:04ID:???0267nobodyさん
02/10/23 19:33ID:???0268nobodyさん
02/10/25 01:14ID:???http://www2u.biglobe.ne.jp/~micky/saver/dl/docum.htm
このスクリプトを連続登校可能にしたいのですが、
どこをどう削ったら良いのか解りませんでした。
お手数ですが、どの辺を削れば良いか教えて下さい。
よろしくお願いします。
そこの管理人さん恐いので聞けませんでした。
0269nobodyさん
02/10/25 01:40ID:???if ($ip eq $ips)
{ &html_list; &html_main; exit; }
0270269
02/10/25 01:41ID:???51・52行目
0271268
02/10/25 07:48ID:???うまくいきました!
今、テストして動作も確認しましたが、問題ナシです。
教えて下さってありがとうございました。
0272nobodyさん
02/10/25 17:30ID:LJRnzKMg詳細キボンヌ
スクリプト配布場所↓
http://kano.feena.jp/erial/
0273nobodyさん
02/10/25 18:17ID:???0274nobodyさん
02/10/25 23:21ID:HxbWw97sソース落とすのめんどくさいんでどっかにテキストで上げれ。
トリップ部分のサブルーチンはこんなんで。
デコードの後ろあたりに変数名変えて入れりゃいいかと。
sub make_trip{
$name =~ s/◆/◇/g; #偽者対策
$k = substr($name,index($name,'#')+1);
$s = substr(substr($k,0,8).'H.', 1, 2);
$s =~ s/[^\.-z]/\./go;
$s =~ tr/:;<=>?@[\\]^_`/ABCDEFGabcdef/;
$t = substr(crypt($k, $s), -8);
$name =~ s/#(\S+)/<\/b> ◆$t <b>/g;
}
0275nobodyさん
02/10/25 23:52ID:???0276nobodyさん
02/10/26 12:36ID:euzUnDiz今のログを残したいのでこのCGIに送信機能をつけたいんです。
http://www.starcity.ne.jp/~ars/cgi-bin/0test/treebbs.txt←ソースです
よろしくお願いします。
0277nobodyさん
02/10/26 18:39ID:???pastlog.cgiというスクリプトを使っています。
表示対象外の拡張子や表示対象外のブラウザは設定できるようになって
いるのですが、対象外のIPを設定できません。
元ソース↓
http://www.geocities.co.jp/SiliconValley-Sunnyvale/9694/pastlog.html
#対象外IP
@extip = ('211.xxx.xx.xx','219.xx.xxx.xx','216.xxx.x.xxx');
は埋め込んでみたのですが、どこで対象外を判断したらいいものか
判りません。
アドバイスお願いします。
0278277
02/10/26 19:25ID:M0gOphaSprint "<div align=center><br>以下の記事を書き込みました。〜
の近く(少し前とか少し後とか)で&adminmalを呼んでください。超適当だけど。
sub adminmail
{
$sendto = 'xxxx@xxxx.ne.jp'; # 宛先
$sendmail = '/usr/sbin/sendmail';# sendmailのパス
if (open(MAIL,"| $sendmail -t"))
{
print MAIL "To: $sendto\n";
print MAIL "Subject: [mail from treebbs]\n";
print MAIL "MIME-Version: 1.0\n";
print MAIL "Content-type: text/plain; charset=ISO-2022-JP\n";
print MAIL "Content-Transfer-Encoding: 7bit\n";
print MAIL "-----------------------------------\n";
print MAIL "TIME : $nowtime\n";
print MAIL "NAME : $name\n";
print MAIL "SUBJECT : $subject\n";
print MAIL "MAIL : $mail\n";
print MAIL "URL : $url\n";
print MAIL "DELKEY : $delkey\n";
print MAIL "A3 : $a3\n";
print MAIL "IP : $ip\n";
print MAIL "HOST : $host\n";
print MAIL "MESSAGE :\n";
print MAIL "$msg\n";
close(MAIL);
}
}
0279276
02/10/26 20:03ID:euzUnDiz0280nobodyさん
02/10/27 00:26ID:vhLCr/NY表示対象ログ抜き出し
のあたりじゃないかな。
試してないけど。
0281277
02/10/27 12:45ID:ie8xxqvtPartGet(表示対象ログ抜き出し) の中にロジックを追加してみたのですが、
if ( $brw =~ /$exip/ )
のところで、何を指定したらIPになるのか、どうも判りません。
#対象外IP
@exips = ('211.xxx.xx.xx','219.xx.xxx.xx','216.xxx.x.xxx');
sub PartGet{
for ($i = $lnum; $i < $lognum; $i++){
$rec = @inrec[$i];
my @ldata = split(/\"/,$rec);
my ($method,$file) = split(/ /,@ldata[1]); # メソッド,アクセスファイル
my ($dmy,$cd) = split(/ /,@ldata[2]); # apacheのコード
my $brw = @ldata[5]; # ブラウザ
# 指定IPアドレスを無視を無視 ※ここから追加※
$flg = 1;
foreach $exip (@exips){
#※↓ $brwじゃなくて、何を指定していいのかわかりません ※※
if ( $brw =~ /$exip/ ){
$flg = 0; # 対象外IP
last;
}
}
if ( $flg == 0 ) { next;}
オリジナルソース http://www.geocities.co.jp/SiliconValley-Sunnyvale/9694/pastlog.html
0282nobodyさん
02/10/27 12:56ID:???@exips= (); ←このリストに指定したいIPを追加するんじゃない?
一応、以下の行は変更したほうがいいのでは?
if ( $brw =~ /$exip/ ){ ⇒ if ($brw=~ /^\E$exip\Q$/){
■ このスレッドは過去ログ倉庫に格納されています