CGI Perl総合
■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん
NGNGコノ板の栄華を取り戻すべく
少し賢げな話しようぜ (オプ
0002名無しさん
NGNGopen(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";
0003none
NGNG$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;
}
}
0004obj
NGNG配列の中身は
'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);
こんな感じで組んだんですが、全然ダメで。。。
どなたか教えてください。
0005名無しさん
NGNG何がしたいのかさっぱりわからん。
これで良いのか?
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);
0006名無しさん
NGNGforeachにはいるまえに chomp(@LINES)
出力は print OUT join("\n", @LINES);
0007名無しさん
NGNG全部。0点。
・sendmail 使うなら -tとか使え。
・ヒアドキュメント使え。
・CGIモジュール使うなら、あえて%formにセットすることないだろ
・Content-type自分でださなくていいだろ。 CGIモジュールつかうなら。
・未定義値が欲しいなら eq undefするだろ、ふつー。
でdieしたらサーバーエラーになるだろ、自前ルーチンで表示させたれ。
0008名無しさん
NGNG(1)ロックしないの?
(2)$nって何?
runmode用の変数?
(3)ファイルハンドルは大文字に統一すれ
謎の $nをつかった、$cnf_file.tmpをつかって
ロックというか、トランザクションをとってる
つもりなんだったら、たぶん、完全に間違い。
($nの設定時に排他処理してたらすまん)
というわけで、たぶん、あってません。
0009ふさふさ
NGNGhttpで串刺してきたハゲに
ftpのリクエストを送信する
例の別プロトコル抜きのソースきぼーん!
0010教えて
NGNG00115-8
NGNG>>8
すまん ×>>2 ○>>3
>>9
おれ、UGの人じゃないんで(爆)、それしらない。
JAVAアプレット連携させるのかなあ。
それとも 擬似サーバー立てといて、そのポートに
ftp://www.server:niseport/
とかでHTTPプロキシを外してアクセスさせるのかなあ。
>>10
つか1はどこに行った。。。
00129-10
NGNGスマソ、9も10もわいや。
スレ立てといてレスよこさねえとは、ふてえ野郎だなって思って
いらいらしてたんで、一発抜こうかなって思ってたとこだったんだ(*´ρ`*)
アプレットは使ってないよ。Perlだけ。
南国工房で前にみたけど、わかってることはこんな感じ。
串さして来たハゲ→htmlで出力された掲示板でやりたい放題
→出力されたhtmlはフレームが使われている→0%,100%で小さい方はもちろん不可視
→小さい方にftpをリクエストする、何かが仕込まれているらしい。
→ハゲは気づかずにいつも通りかきこを行い、送信ボタンを押す。
→すると自動的にCGI側からハゲにftpのリクエストを行う。
→さすがのハゲもftpは無防備で、掲示板に表示された自分の生IPを見て青くなる。
→このプログラミングを作った人は、ローカルでの実験が出来ないことから
直接Web鯖上で実験をして(しかもプロバイダーの鯖)何度か失敗して
プロバの鯖を落としてしこたま怒られたらしい。
わかっているのはこれだけ、十分だろ?
作ってもらえないかな師匠、お願いだ!
001311
NGNG南国工房ってとこもはじめて聞いた(^^;
手法は、11で書いた手法と同一だね。
書いてもいいけど、これぐらいなら、
そこらへんにころがってそうな気がするなあ。
誰か知らない?
001412
NGNG>そこらへんにころがってそうな気がするなあ。
ところがないのよ、あってもソースは公開してないんだよ。
送信ボタン押すとオラの生IPが表示されるだけだっちゅーの。
自分の生IPみて何が面白いと。。。何とかパクろうと思ったけどね。
ディレクトリ掘ってファイルいただくCGIは持っているんだが、
ありゃ同一鯖でしか使えないわな。
オラもC言語でハローワールドをウィンドウに表示させることが出来るが
それじゃ話にならんわなー(T-T)
C言語の本読んでたら、髪の毛がたくさん抜け落ちてきてな
ハゲになると困るから、1時間くらいで挫折したのよ。
頼むから作ってくだされ、師匠('-';
001511
NGNG動いてるところ教えてくれー。
# つか、今日、スケジュール遅れで納期のばしてきたのに。
# 客が知ったら激怒だろうな.....。
001612
NGNGこっちの方も同じ仕組みだとは思うんだが
なんかtelnetが起動したぞ。。。??
ま、いっか。↓
www.tok2.com/home/pat/ipget.html
00171
NGNGみんな、、、、、書き込みアリガッチュン・・・・
>>9-10
FTPから抜くカウソタで良いのか・・・?
手持ちのヤツで合ってると思うが
漏れが変にイジッテ不安定な動作カマスかも知れんが気にすんな (ヲプ
つか違ったら拾ってクレヨ
http://server2047.virtualave.net/ibzrjp/count_p.txt
00191
NGNG南国工房じゃ健作してもヒッカカンナイヨ
正式名称は南国CGI工場
今でもログか遺跡が有る筈だから暇だったら探しとくさヽ(´,ー`)ノ
確か2ヶ所、、、Logeんトコと、、、、
00201
NGNGhttp://server2047.virtualave.net/ibzrjp/crypt.txt
漏れのディスコに放置されてた工場のプトンのソース
つか大したモン無いネ
0021多段嵐王ntttkyo28209.ppp.infoweb.ne.jp
NGNG00239-10-12
NGNGとりあえずSSI許可してる自由鯖を探さないといけんわな・・
ところで12のURLのところのは、なぜtelnetと関連付けされた
メーラーが起動するのじゃろか?オラの場合OEが起動したが
普段は関連付けしていない、Veckyを使ってるので
OEは何も設定して無いけどね(w
くそ>>18 漏れが頼んだんだから漏れにも例を言うのが人道的だろ?ちゃうか?
>>21
ようわからんが、眠くなることは確かだな。
ありゃ、つかおめえ荒らす側じゃねえか!
オラは荒らされる側だ!自分のスレに帰れ!この(荒らすなよ)
0024ちゃりが無くなってる。。。
NGNG漏れもイタダキました。ドモドモ
>漏れが変にイジッテ不安定な動作カマスかも知れんが気にすんな (ヲプ
って、気になりますがナ
>確か2ヶ所、、、Logeんトコと、、、、
これも気になりますがナ。
ツカあなたはいったいナニモノ??
00251
NGNGhttp://yyy-cgi.virtualave.net/
有った、有った
遺跡みっけ♪
ログはミツカンネけど幾つかソース転がってたゾ(´,д`)ノ ヒロットケ
ツカヨ最近思ったんダケドヨ、
スゲェドーデモ良い事なんだが辞書鍛え過ぎて話しにナンネーヨ (ゲロヲプ
>ツカあなたはいったいナニモノ??
タダのチャンコロです.ひろむきがハクラ板に板名を戻す事を切に望むイチチャンコロタだよ。。。
0026きゅー
NGNGここの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">
==============================
多分、首吊って芯だ方が良いような事だと思うんですけど・・・
思いっきり馬鹿にして下さい
0027蹂躙希望
NGNGサーバーのバージョンが古いん違う?
0028きゅー
NGNGsendmailのバージョンは動作可能な物の様です。
後、readmeを見てもらえると嬉しいのですが、referer設定で
他のサーバーからは呼び出せない様に成っているんで、
この辺りは間違いなく書き換えています。
それで、馬鹿丸出しなんですが、フォームの書き方が良く解って無い
ので(スカラー変数と言うのでしょうか?)しょーも無い間違いを
してるんじゃ無いかと言うわけです
いきなり厨房質問してしまって申し訳ないっす。
0030きゅー
NGNG設置したサーバーはh1.ruです。
症状なのですが、"Thank You For Filling Out This Form"
のメッセージ(デフォルトで送信完了後に表示される様です)は拝んで
居るんですが、メールが送信できていないです。
refererや、sendmailへのパスが間違えていると、その旨を表示して
くれる、馬鹿にも優しいスクリプトなんですけど・・・・・・
日本語が通らないのは問題無いです
>フォームの書き方はスカラー変数とはいいません。
はい、こんな感じのうんこちゃんなんでもっと罵って下さい。
情けない事に、フォームの記述がcgiにどう渡されるかが解って無いです。
recipient"送信先" subject"件名" realname"送信者の名前" だと
思うんですが、本文に相当する部分が解らないのです
それでhelloとかしちゃってるのが原因なのかな・・・・と
つか意味不明すね、厨房らしくお勉強からはじめます。
らくだ本って言うのを買えば、perlを少しは理解できるだろうか・・・・・
003111
NGNGREADMEで、print_configを見れば解決するとおもわれ。
Mattさんのスクリプトはわかりやすいっちゃわかりやすいけど
冗長なので、今日はみたくない。スマソ。
順番が
# Return HTML Page or Redirect User
&return_html;
# Send E-Mail
&send_mail;
なので、終了メッセージがでたからといってメールが
おくれてるかどうかチェックでけん。
とりあえず、
open(MAIL,"|$mailprog -t");
を ">>debug.txt"にでもして、debug.txtの出力を
確認すべし。(debug.txtはCGIの実行ユーザーが
書き出しができるパミッションで先につくっとくか、
ディレクトリのパミッションがCGIの実行ユーザーで
書き込みができるか確認しといて)
入門書は 初めてのPerl(ラマ本;オライリー)がおすすめ。
0032きゅー
NGNG>READMEで、print_configを見れば解決するとおもわれ。
これは理解できました、大感謝です。
なるほど〜、送信完了メッセージの後にコケている可能性がある訳
ですか。それで、それを確認する為の手段がdebug.txtな訳ッスね。
馬鹿相手に順序立てて説明して下さって、マジ感動してます。
と同時に、自分には質問する資格すら怪しい事もよーく理解できたっす。
自分は、亀なんで今からもう一度readmeと睨めっこしながら、
debug.txtを吐かせてみます。
本はラマの絵の奴ッスね、了解です。
必ず結果報告に来るんで、亀の成長振りを見てやって下さい ^^;
ホントに有難うございます。
003311
NGNG>ところで12のURLのところのは、なぜtelnetと関連付けされた
>メーラーが起動するのじゃろか?オラの場合OEが起動したが
見に行ってないから、知らないけど、
たぶん、news:// を使ってるんでしょう。
メーラーじゃなくって、標準のニュースリーダーが起動された
んだと思う。
0034ランチタイムバッカー
NGNG鍛え過ぎたとは?どのように?ツカオセーテ。
0035uu
NGNGFormmail欲しい時は、その辺のスクリプト貰ってきて
改造しちゃってるの?
つか、それ位ならオケかな
00361
NGNGCGI総合っつっても別に新たなプトン作る必要性が殆ど無いからネ
既存のモノから拾い出すだけで充分ダシ・・・
>>34
辞書ファイルダヨ。.dicかな??ジョム君とかに読ませるジャン?
適当に単語集健作して拾ったんだが多すぎて時間掛かるのヨ
0037ミッドナイトバッカー
NGNG>辞書ファイルダヨ。.dicかな??ジョム君とかに読ませるジャン?
それわかってたけど、スゲーヒット率の高い単語集でも作ったと思ってね。
00381
NGNGただ拾いマクッタだけダヨ(;´д`)
でも総当りヨリはマシだからね
エロ動画でも探すかな (ヲプ
0039何も知りません。
NGNG0041ああ
NGNG0042nanasai
NGNG0043名無しさん
NGNG004411
NGNGそれって、SMTPサーバーがオープンリレーかどうか
チェックするスクリプト?
とりあえずORBSで遊んでみれば?
http://www.orbs.org/
# 全然CGIじゃねえなあ>おれ
# というわけで1に期待
00451
NGNG廃れてる〜〜 (゚Д゚;) アウアウア〜
漏れが細い回線をフルに使って小沢まどかをダウソしている間に、、、、、(ゲロオプ
>>41
anonmail?タブンAnonWebMailの事ダト思うけどプトン本体じゃ無いよナ?
一般配布されたモノかな?つぅか正式名称が解らんと、、、、(´ヘ`)ノワカンネ!
漏れ'sディスコにも入って無いみたいダケド、少し探しちゃるわい。
#小沢まどかと瞳リョウイイネ!
00461
NGNGなんで最近はフェイザー撃てる→上級者って構図ナンダロ
寂しいよ、、、漏れいつも撃たれる方ダシ。。。。
カール板はその点良いけどメンドイよね。。
カール板破りでもスルカナ。。。。絶対ムリダケド。
#悲しくなって来たので帝凶アソグラ(核爆
でペドに走ります・・・・
0047名無しさん
NGNG面白そう。
XBM攻略法にしませんか?
画像コード無いと簡単だし。
よろしく♪
0048szok5DS76.szo.mesh.ad.jp
NGNGビッグローブだとだめなんかな
0049
NGNG俺もそうだったけどもう一度スクリプツを落とし直したら設置できたよ
微妙に違うみたい
005048
NGNGそして何も変更せずにあげてみるためしに
0051abc
NGNGパスも間違ってニャイアルヨ
ロカル用のパスにしても
ロカルテストも出来ないアルヨ?誰かオシエルアルヨ;
005248
NGNGただ単に設定ミスってる可能性大です。
今設置できました。
0053名無しさん
NGNG005451
NGNGパーミッションの間違いしか考えられないアル
デモ、ロカルでも動かないアルヨ
httpdはapache1.3.9アルヨ
00551
NGNG金取るらしいケド
>>47
つかXBM破りなら、御堂丘とHIDEが大分前にやってなかったカ?
確かタン先生の所で公開サレテタゾ
0056age
NGNG0057
NGNGgoogleでログ探してくるわ>>55
0058
NGNGCGIのプログラムの事?
いい入門書ある?
ハクするスキルとかつく?
難しい?
やるだけの価値はある?
将来役に立つ?
カッコイイ?
0059名無しさん
NGNGCGIによく使われます。
言語としての入門書は「はじめてのPerl」(オライリー)がおすすめ。
ハクするスキルとは直接関係ないかな。言語だからね。
特に難しくない。
価値は自分で判断してね。
将来役に立つかどうかは58次第。
別にかっこいくない。普通。
0060nansisasp
NGNGあとtelnet.cgi使って人のファイル削除できるの?
0061うっふ〜ん
NGNGプログラムを一行ずつ解読して実行していくタイプの言語です。
使いやすいという反面、大規模なアプリケーション開発には向か
ないという欠点があります。
─荒瀬遥著「初めてのC言語入門」西東社
■ このスレッドは過去ログ倉庫に格納されています