探検


CGI Perl総合

1名無しさん
垢版 |
NGNG
ぁ事件の後落ちぶれきった
コノ板の栄華を取り戻すべく
少し賢げな話しようぜ (オプ
NGNG
#どこがイタイのでしょうか?

open(OUT,"|$mailer $address") || die "送信できませんでした\n";

$cgi = new CGI;
:
die if($cgi->param("realname") eq "");

$Etitle = $form{'titlename'};
$Ename = $form{'realname'};
$emale = $form{'mailaddr'};
$comment = $form{'comm'};

print OUT "Mail From Web\n";
print OUT "$Etitle\n";
print OUT "氏 名:$Ename\n";
print OUT "E-Mail:$emale\n";
print OUT "コメント:$comment\n";
print OUT "IPアドレス:$ENV{'REMOTE_ADDR'}\n";

close(OUT);

print "Content-type: text/html\n\n";

print "<HTML><HEAD><TITLE>index.htm</TITLE></HEAD>\n";
print "<BODY>\n";
print "<CENTER>\n";
print "<H3>メールは送られました。</H3>\n";
print "</CENTER>\n";
print "</BODY></HTML>\n";
3none
垢版 |
NGNG
あってますか?#!/usr/local/bin/perl

$cnt_file = 'cnt.dat';

open(fp,"$cnt_file");
$cnt = <fp>;
close(fp);
++$cnt;
$len = length $cnt;
if ($len < $n) {
$imgfile = "0";
} else {
$imgfile = substr($cnt, $len-$n, 1);
}
open(IN,"img/$imgfile.gif");
@lines = <IN>;
close(IN);
print "Content-type: image/gif\n\n";
print @lines;
if ($n == 1) {
open(fp,">$cnt_file.tmp");
print fp $cnt;
close(fp);
rename("$cnt_file.tmp", $cnt_file);
}
sub frmdec
{
$buffer = $ENV{'QUERY_STRING'};
@pairs = split(/&/,$buffer);
foreach $pair (@pairs)
{
local($name, $value) = split(/=/, $pair);
$value =~ tr/+/ /;
$value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
$form{$name} = $value;
}
}


4obj
垢版 |
NGNG
データファイルを読み込んで@LINESという配列に入れたとします。
配列の中身は

'23<>a<>0','26<>b<>5','14<>c<>3','30<>d<>9'
だったとして、$xxという変数にa〜dのいずれかの文字が入ります。

例えば$xxにcが入ったらcという要素を含む3要素目の'14<>c<>3'
の3を1増減、4にして

'23<>a<>0','26<>b<>5','14<>c<>4','30<>d<>9'
になった配列をデータファイルに上書き保存したいのですが
どのように組めばよいのでしょうか?


open (IN,"hoge.txt") || &error('オープンエラー','指定された書込みファイルが開けません。');
@LINES = <IN>;
close (IN);

$i = "0";
foreach (@LINES){
($t1,$t2,$t3)=split(/<>/,$_);
if ($xx =~ /\Q$t2/) { last; }
$i++;
}
$t3++;
$all = $t1;
$all .= '<>';
$all .= $t2;
$all .= '<>';
$all .= $t3;
$all .= '\n';

$LINES[$i] = $all;

open (OUT,">$hoge.txt") || &error('オープンエラー','指定された書込みファイルが開けません。');
print OUT (@LINES);
close (OUT);

こんな感じで組んだんですが、全然ダメで。。。
どなたか教えてください。
5名無しさん
垢版 |
NGNG
>>4
何がしたいのかさっぱりわからん。
これで良いのか?

open (IN,"hoge.txt") || &error('オープンエラー','指定された書込みファイルが開けません。');
@LINES = <IN>;
close (IN);

$xx = "c";

foreach (@LINES) {
&nbsp; my ($t1, $t2, $t3) = split /<>/;
&nbsp; next unless $t2 eq $xx;
&nbsp; $t3++; $_ = join ("<>",$t1,$t2,$t3);
&nbsp; last;
}

open (OUT,">$hoge.txt") || &error('オープンエラー','指定された書込みファイルが開けません。');
print OUT (@LINES);
close (OUT);
NGNG
あ、いかんいかん。

foreachにはいるまえに chomp(@LINES)
出力は print OUT join("\n", @LINES);
NGNG
>>2

全部。0点。

・sendmail 使うなら -tとか使え。
・ヒアドキュメント使え。
・CGIモジュール使うなら、あえて%formにセットすることないだろ
・Content-type自分でださなくていいだろ。 CGIモジュールつかうなら。
・未定義値が欲しいなら eq undefするだろ、ふつー。
 でdieしたらサーバーエラーになるだろ、自前ルーチンで表示させたれ。
NGNG
>>2
(1)ロックしないの?
(2)$nって何?
  runmode用の変数?
(3)ファイルハンドルは大文字に統一すれ

謎の $nをつかった、$cnf_file.tmpをつかって
ロックというか、トランザクションをとってる
つもりなんだったら、たぶん、完全に間違い。
($nの設定時に排他処理してたらすまん)

というわけで、たぶん、あってません。
9ふさふさ
垢版 |
NGNG
>1さん

httpで串刺してきたハゲに
ftpのリクエストを送信する
例の別プロトコル抜きのソースきぼーん!
10教えて
垢版 |
NGNG
昼間はいねえのか!ゴラァァァ!
115-8
垢版 |
NGNG
おれは1じゃないよ。

>>8
すまん ×>>2>>3

>>9
おれ、UGの人じゃないんで(爆)、それしらない。
JAVAアプレット連携させるのかなあ。
それとも 擬似サーバー立てといて、そのポートに
ftp://www.server:niseport/
とかでHTTPプロキシを外してアクセスさせるのかなあ。

>>10
つか1はどこに行った。。。
129-10
垢版 |
NGNG
>>11

スマソ、9も10もわいや。
スレ立てといてレスよこさねえとは、ふてえ野郎だなって思って
いらいらしてたんで、一発抜こうかなって思ってたとこだったんだ(*´ρ`*)

アプレットは使ってないよ。Perlだけ。
南国工房で前にみたけど、わかってることはこんな感じ。

串さして来たハゲ→htmlで出力された掲示板でやりたい放題
→出力されたhtmlはフレームが使われている→0%,100%で小さい方はもちろん不可視
→小さい方にftpをリクエストする、何かが仕込まれているらしい。
→ハゲは気づかずにいつも通りかきこを行い、送信ボタンを押す。
→すると自動的にCGI側からハゲにftpのリクエストを行う。
→さすがのハゲもftpは無防備で、掲示板に表示された自分の生IPを見て青くなる。
→このプログラミングを作った人は、ローカルでの実験が出来ないことから
 直接Web鯖上で実験をして(しかもプロバイダーの鯖)何度か失敗して
 プロバの鯖を落としてしこたま怒られたらしい。

わかっているのはこれだけ、十分だろ?
作ってもらえないかな師匠、お願いだ!

1311
垢版 |
NGNG
>>12
南国工房ってとこもはじめて聞いた(^^;
手法は、11で書いた手法と同一だね。

書いてもいいけど、これぐらいなら、
そこらへんにころがってそうな気がするなあ。

誰か知らない?
1412
垢版 |
NGNG
おお、頼もしいこと言う人が、この板にも久々にあらわれたのぉ!

>そこらへんにころがってそうな気がするなあ。

ところがないのよ、あってもソースは公開してないんだよ。
送信ボタン押すとオラの生IPが表示されるだけだっちゅーの。
自分の生IPみて何が面白いと。。。何とかパクろうと思ったけどね。
ディレクトリ掘ってファイルいただくCGIは持っているんだが、
ありゃ同一鯖でしか使えないわな。

オラもC言語でハローワールドをウィンドウに表示させることが出来るが
それじゃ話にならんわなー(T-T)
C言語の本読んでたら、髪の毛がたくさん抜け落ちてきてな
ハゲになると困るから、1時間くらいで挫折したのよ。
頼むから作ってくだされ、師匠('-';


1511
垢版 |
NGNG
動作サンプルあったのがラクだから
動いてるところ教えてくれー。

# つか、今日、スケジュール遅れで納期のばしてきたのに。
# 客が知ったら激怒だろうな.....。
1612
垢版 |
NGNG
ありゃ、本命のサイトがわからなくなっちまった。
こっちの方も同じ仕組みだとは思うんだが
なんかtelnetが起動したぞ。。。??
ま、いっか。↓
www.tok2.com/home/pat/ipget.html
171
垢版 |
NGNG
俺は嬉しいぜ、、、、
みんな、、、、、書き込みアリガッチュン・・・・

>>9-10
FTPから抜くカウソタで良いのか・・・?
手持ちのヤツで合ってると思うが
漏れが変にイジッテ不安定な動作カマスかも知れんが気にすんな (ヲプ
つか違ったら拾ってクレヨ

http://server2047.virtualave.net/ibzrjp/count_p.txt
18sage
垢版 |
NGNG
>>17
頂きます。
有難うごぜーますだ。
191
垢版 |
NGNG
ツカヨ
南国工房じゃ健作してもヒッカカンナイヨ
正式名称は南国CGI工場
今でもログか遺跡が有る筈だから暇だったら探しとくさヽ(´,ー`)ノ
確か2ヶ所、、、Logeんトコと、、、、
201
垢版 |
NGNG
http://server2047.virtualave.net/ibzrjp/env.txt
http://server2047.virtualave.net/ibzrjp/crypt.txt
漏れのディスコに放置されてた工場のプトンのソース
つか大したモン無いネ
21多段嵐王ntttkyo28209.ppp.infoweb.ne.jp
垢版 |
NGNG
C言語なんてオタク臭いものは必要ありません。
22発火
垢版 |
NGNG
>>21
漏れも同意ダヨ
うんこと串は漏れてる方が良いよな ヤッパ。
俺なんか撃つにしても手で撃った方が早ィぜ
秒速5マンコだぜ
239-10-12
垢版 |
NGNG
1さんありがとごぜえます。
とりあえずSSI許可してる自由鯖を探さないといけんわな・・
ところで12のURLのところのは、なぜtelnetと関連付けされた
メーラーが起動するのじゃろか?オラの場合OEが起動したが
普段は関連付けしていない、Veckyを使ってるので
OEは何も設定して無いけどね(w

くそ>>18 漏れが頼んだんだから漏れにも例を言うのが人道的だろ?ちゃうか?

>>21

ようわからんが、眠くなることは確かだな。
ありゃ、つかおめえ荒らす側じゃねえか!
オラは荒らされる側だ!自分のスレに帰れ!この(荒らすなよ)
24ちゃりが無くなってる。。。
垢版 |
NGNG
>>1
漏れもイタダキました。ドモドモ

>漏れが変にイジッテ不安定な動作カマスかも知れんが気にすんな (ヲプ

って、気になりますがナ

>確か2ヶ所、、、Logeんトコと、、、、

これも気になりますがナ。

ツカあなたはいったいナニモノ??
251
垢版 |
NGNG
http://www2.synapse.ne.jp/synaqse/pato/
http://yyy-cgi.virtualave.net/
有った、有った
遺跡みっけ♪
ログはミツカンネけど幾つかソース転がってたゾ(´,д`)ノ ヒロットケ

ツカヨ最近思ったんダケドヨ、
スゲェドーデモ良い事なんだが辞書鍛え過ぎて話しにナンネーヨ (ゲロヲプ

>ツカあなたはいったいナニモノ??
タダのチャンコロです.ひろむきがハクラ板に板名を戻す事を切に望むイチチャンコロタだよ。。。
26きゅー
垢版 |
NGNG
http://www.worldwidemart.com/scripts/formmail.shtml
ここのFormmailってスクリプトを貰ってきて、sendmail可能な
サーバーに設置して見たんですけど、上手く行かないです。
sendmailのパスとスクリプトへのフルパスは間違えていないと
思いまス。
多分、フォームの記述が間違えてると思うのですが・・・・
=============================
<form method=POST action="http://***************/cgi-bin/afw/FormMail.pl";>
To:<input type=text name="recipient" size=40><br>
Yourname:<input type=text name="realname" size=40><br>
Subuject:<input type=text name="subject" size=40><br>
<textarea name="hello" rows=15 cols=80 wrap=hard>hello</textarea><br>
<input type=submit value="tlanslate"><input type=reset value="cancel">
==============================
多分、首吊って芯だ方が良いような事だと思うんですけど・・・
思いっきり馬鹿にして下さい


27蹂躙希望
垢版 |
NGNG
>>26
サーバーのバージョンが古いん違う?
28きゅー
垢版 |
NGNG
蹂躙希望さん、有難う御座います。
sendmailのバージョンは動作可能な物の様です。
後、readmeを見てもらえると嬉しいのですが、referer設定で
他のサーバーからは呼び出せない様に成っているんで、
この辺りは間違いなく書き換えています。

それで、馬鹿丸出しなんですが、フォームの書き方が良く解って無い
ので(スカラー変数と言うのでしょうか?)しょーも無い間違いを
してるんじゃ無いかと言うわけです
いきなり厨房質問してしまって申し訳ないっす。
レスを投稿する


ニューススポーツなんでも実況