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

CGI: Common Gateway Interface part 11

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん03/06/14 22:26ID:F9qlqHNx
CGIの運用に関する質問スレッドです。

※CGIは特定の言語に依存するものではありません。

Perlのコーディングに関する質問は、専用スレでお願いします:
[Perl 初心者コーナー Part24]
http://pc2.2ch.net/test/read.cgi/php/1054992610/

CGIとPerlの区別がわからない、という人はとりあえずこちらへ:
[WebProg 初心者の質問 Part3]
http://pc2.2ch.net/test/read.cgi/php/1045091733/

過去ログ・関連スレッドは >>2-5 あたりに
0476nobodyさん03/10/31 13:30ID:???
>>475
こんなのでできないか?

$path = $ENV{'SCRIPT_FILENAME'};
$path =~ s/$ENV{'SCRIPT_NAME'}//;

あとは$pathにクエリーストリングのファイル名をくっつけてやれば
0477nobodyさん03/10/31 21:18ID:???
>>469
環境変数 DOCUMENT_ROOT
0478nobodyさん03/10/31 23:37ID:NZRYtOAF
hbgfb
0479nobodyさん03/11/01 00:07ID:???
>>472
直腸検査?

>>469
>>477に同意。
バーチャルドメインでもDOCUMENT_ROOTで取れると思うよ。
0480nobodyさん03/11/01 02:11ID:???
バーチャルドメインなら取れるけどユーザディレクトリは取れないのでは?
0481nobodyさん03/11/01 03:03ID:???
>>480
あぁ、欲しいのはユーザディレクトリなのね。
「ドキュメントルートを絶対パスで」しか見てなかったよ。

なら、プログラム内や設定ファイルで陽に指定するしか
確実な方法は無いだろうね。 cgi-bin ディレクトリと
ユーザのドキュメントルートの位置関係は設定次第で
いくらでも変わるからね。

cgi-bin ディレクトリがユーザのドキュメントルートの下に
存在するなら >>476 でOK。
048247503/11/01 10:32ID:???
>>481

そうっす。ユーザディレクトリ。
やっぱりCGIスクリプト内に直書きするしかないかな…

一応配布CGIとして考えてるんだけど、
CGIをDLするユーザって、
その鯖内の自分のユーザディレクトリパスなんて知らんしね。
下手すりゃ file=/etc/passwd とかってやられそうだ(ガクガクブルブル
(↑これを /home/user/public_html/etc/passwd にできればええんやけど)

0483nobodyさん03/11/01 15:28ID:???
マウントポイントを知らないと>>482のようなこと言うヤシが・・
0484nobodyさん03/11/01 18:41ID:???
Macからのフォーム送信だと、半角スペースが%20ではなく%A0になる事があるのですが、
それに関して詳しく書いてあるサイトなどはありませんでしょうか?
googleなどで探してみたのですが、検索ワードが悪いのかいいサイトが見つかりませんでした。
対策なども含めてかかれているサイトがありましたら、どなたかお教えください。
0485nobodyさん03/11/01 19:33ID:???
>>484
ISO-8859-1 なら %A0 は no-break space ( ) なので
どっちゃでもいい気もするが。

情報を小出しにせず再現できる条件を全部書いてくれんか。
0486nobodyさん03/11/02 00:02ID:???
>485
レスありがとうございます。
再現条件は自分ではよくわからないのです。
自分の投稿では普通に%20になっているようで、誰がどの状況になった時に
%A0になるかがはっきりとわからないので。
条件絞りきる力がなく申し訳ありません。

%A0についてですが、どっちゃでもいいとおっしゃられますが、我が家のマシンで
%A0の文字をブラウザで見ると半角の「・」みたいに表示されます。
気にしなければ気にならないのかもしれませんが、できれば解決したいと思っていまして。
Perlの正規表現で置き換えようともしたのですが、%A0は「あ」の2バイト目であったりと
なかなか上手くいきません。
それで資料を探していたのです。
0487nobodyさん03/11/02 02:10ID:???
>>486
だからぁ、小出しにしないでって言ってるでしょ。(w

「あ」の 2 byte 目が %A0 なのは Shift_JIS 。
Shift_JIS では 1 byte 文字としての A0 は未定義だから
(特定の環境では) 半角の「・」みたいに表示される。

言語は Perl らしいし置換で事が済むのならこの辺。
http://homepage1.nifty.com/nomenclator/perl/shiftjis.htm
0488nobodyさん03/11/02 12:11ID:???
>488
・環境
Web上のPerlCGIにてデータを取得している。
送信者はどのような環境かわからない。(条件の限定ができない)
フォームから送信された取得はPerlで行なっているが、その後
取得データをCプログラムで処理することもある。
また、今後Perlで送信データの取得を続けるとは限らない。
スクリプトの文字コードはS-Jisで行ない、結果作成もS-Jisで行なっており、
CプログラミングはVCで行なっている(S-Jis以外使えない)ので、文字コードの変更は困難。
送信フォームもMETAタグにてS-Jis指定を行なっている。
データ取得で使うサーバーはRedHat、Cプログラムを走らせるのはWindows。
S-Jisの状態で%A0を%20に置き換えようとすると「あ」などの文字が化けてしまう。

・目的
%A0が送信されない環境が作れればベスト。
もしくは%A0を%20に上手く置き換える手法を知りたい。
正解のみをここで聞くのではなく、できれば自分できちんと理解し、応用できるようにしたい。


思いつくだけの情報を羅列してみました。
他に足りない情報があればご指摘ください。
紹介されたページはこれからじっくりと読んでみようと思います。
ありがとうございます。
0489nobodyさん03/11/02 12:29ID:???
>>488
お前自分で何言ってるか分かってる???
Shift-JISなら「あ」=「%82%A0」だから
>%A0を%20に置き換えようとすると「あ」などの文字が化けてしまう。
当たり前
0490nobodyさん03/11/02 12:31ID:???
>489
それはわかっています。
だからこそ、「上手く置き換える手法」を知りたいのです。
0491nobodyさん03/11/02 12:33ID:???
つまり、S-Jisで文字化けを起こさないように、%A0で送られてきた半角スペースを
S-Jisの半角スペースである%20に置き換えたいと。
0492nobodyさん03/11/02 12:48ID:???
>>490,>>491
ってことは
>Macからのフォーム送信だと、半角スペースが%20ではなく%A0になる事があるのですが、
これは本当のことなのか?
てっきりShift-JISの文字列見て%A0を空白と勘違いしただけなんだと思ってた。
先頭から1文字ずつ見ていくしかないだろう。

別の文字コードでどうなるか試してみたら?
0493nobodyさん03/11/02 13:13ID:???
あれだな。
<FORM accept-charset="Shift_JIS">
を試してみるとか。macのブラウザが対応してるのかどうかは知らん。

あるいは
<FORM enctype="multipart/form-data">
で常にバイナリ送信させるとか。
0494nobodyさん03/11/02 14:21ID:???
レスありがとうございます。

>492
アクセスログを見たところ、%A0になってしまっていたのはいずれもUAがMac_PowerPCの方でした。
確認できた件数が6件と少ない為に断言はできませんが、Macからの送信で化ける可能性が高いと判断したのですがいかがでしょう?
自分ではMacマシンを所有していないので、正確な調査が行なえず申し訳ありません。

試行錯誤の末、>487のリンク先や、Perlメモの記述を参考に、1文字ずつ見ていくような処理が行なえるようになりました。
これでしばらく様子を見ようかと思います。
別の文字コードで試すというのは、「別文字コードでの送信」という意味でしょうか?
後程、やり方を調べた上で試してみたいと思います。

>493
accept-charasetは知りませんでした。
早速試してみたいと思います。
0495nobodyさん03/11/02 14:22ID:???
余談になるかもしれませんが、accept-charasetを調べている時に下記ページを見つけました。
ttp://www.att.or.jp/perl/cgi-tech-tips.html
ここに掲載されていた、CGI出力ヘッダでの文字コード指定と.htaccessによるADDType指定も
同時に行なった事を報告させていただきます。
0496nobodyさん03/11/02 14:23ID:???
>>494
再現性がないと難しいね。
まあ何か分かったらここへまとめてくれ。
0497nobodyさん03/11/02 14:53ID:???
accept-charaset じゃなくて accept-charset ね。念のため。

自分がこの属性に着目したのは、Operaから文字を投稿するとき
<META http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
と指定していても、送信フォームの内容をShift_JISと判別してくれなかったから。

全部Shift_JISの半角カナで投稿すると、OperaはそれをEUC-JP全角と自動判別して
それをShift_JISに変換してから送信するので、CGI側で受け取った段階で既に文字が化ける。

最初はjcode.plの問題かと思ったけど、jcode.plを外しても同じだったのでほぼ間違いない。
0498nobodyさん03/11/02 15:33ID:???
長井秀和?
0499nobodyさん03/11/02 16:57ID:???
Operaでは&nbsp;が化けるらしい
0500nobodyさん03/11/02 22:32ID:???
>496
自分で確認できないのは厳しいですね。
後から気付いた事とわかった事を少しだけ載せます。

文字化けした6件ともMacのMSIEだった。(MSIE5.16〜5.22)
一部の人の証言ではS-Jisのページで出ていた文字をコピペしたとの事。(全員がそうであるかは不明)

>497
ご指摘ありがとうございます。
危うく間違えるところでした。
0501nobodyさん03/11/04 01:41ID:ZhxpP0UW
PerlのCGI::Carpモジュールってどのような時に必要になるのか
教えてはもらえませんか?
0502nobodyさん03/11/04 08:06ID:???
>>501
ぐぐればでる
050350103/11/04 13:37ID:???
ちょっと自分で調べてみました。
CGI::Carp素晴らしいですね。

use CGI::Carp qw(fatalsToBrowser);

とやるだけでdieや文法エラーに対してブラウザに
エラー内容を表示してくれなんて。
CGIの開発がかなり楽になりますね。
しかも標準モジュールなので別途インストールの必要は
ないみたい。今まで知らなかったよ。

本来の機能はHTTPDのログにエラー内容を書き込んでくれる
ということでよろしいですか?
0504nobodyさん03/11/04 13:45ID:???
本来の機能は佐々岡を先発で使うことだ。
0505nobodyさん03/11/04 21:05ID:Ljvqwop4
Apache 1.3系で

Redirect ^/hoge/abc([0-9]{4})\.html$ http://example.com/index.cgi?a=1&b=$1

で動作させると、

?が%3f &が%26になり、&のところで、ループしているようなURLを吐き出します。

ここで、解決できたのでしょうか?
0506nobodyさん03/11/04 21:33ID:???
>>505
Apache 限定の話題は Apache スレへ。
http://pc2.2ch.net/test/read.cgi/php/1043851302/

Redirect (mod_alias) じゃなく Rewrite (mod_rewrite) 使えば可能。
0507nobodyさん03/11/04 21:56ID:xEdoNAPc
普通の掲示板のようなCGIを2chみたいにHTMLで表示したりログ保存したりすることってできるの?
0508nobodyさん03/11/04 22:14ID:???
そういうふうに作ればできるだろう。
ていうか、そもそも「普通の掲示板」って何だ。2ch型は普通じゃないのか。
0509nobodyさん03/11/04 22:27ID:???
ヤフーみたいなのが「普通」なのか
それとも駅構内の掲示板が「普通」なのか
0510nobodyさん03/11/05 07:59ID:???
駅構内の掲示板に1票
0511nobodyさん03/11/05 08:29ID:???
JR新宿駅東口の掲示板ってあるの?
0512nobodyさん03/11/13 01:19ID:???
みなさん、CGI(Perl)でのセッション管理はどのようにやってます?
クッキーにログインパスワードを暗号化したものを食わせて、
画面が遷移するたびにその暗号化パスワードと本当のパスワードを認証させるとか。

Apacheのセッション管理モジュールとかは虫で、
Perlだけでできるようなの他にあったらきぼんぬ
0513nobodyさん03/11/13 08:34ID:???
>>512
例え暗号化していても、クッキーにパスワードを持たせるべきではない。
ログインしたときにセッションIDを持たせて、それで認証するのがセオリー。

セオリーだから細かい部分は調べれば資料はすぐに見つかるはず。
051451203/11/13 13:22ID:???
>>513
セッションIDを発行して、それをクッキーに持たせてSSL通信にすれば
今のところPerl-CGIでできる最善の方法かもしれないすね。

セッションIDは、普通、発行時刻とプロセス番号をくっつけてcryptするのが主流なんでしょうか?
まあユニークで、盗聴に耐えうるものであればなんでもいいような気がしますが。
で、セッションはサーバー上に生成するファイルで管理すると。。

本当にこれでセキュリティ上安全なのか不安になったのでみんなに聞いてみたまででつ。。
他にこういうことしてるとかあったら教えてくさい
0515nobodyさん03/11/14 10:39ID:???
セッションの管理って、
セッションIDにtimeとプロセスIDでユニークにしつつセッション開始時刻をとって、
セッション開始時に発行したセッションIDのファイル名のファイルを作って、
次にセッションIDでアクセスしたときに、毎回セッションファイルリストをチェックして、
存在すれば、そのセッションの開始時刻を見て、制限時間を切れてたら削除。
問題なければセッション継続。

でよろしいか?
てかこれしか思い浮かばん。
0516nobodyさん03/11/14 11:12ID:???
やってみれ。
0517nobodyさん03/11/14 14:55ID:???
漢ならやってみれ(何を?)
0518nobodyさん03/11/17 14:42ID:WakYOncE
入力画面で入力したパラメータをPOSTでcgiに渡してそのcgiから
さらに次のcgiに同じパラメータを渡す事ってできる?
0519nobodyさん03/11/17 15:20ID:???
もちろんできます
052051803/11/18 11:25ID:2RvczggN
やり方を教えてください。
環境はVinelinux2.2+CGI.PM+Perl4です
0521nobodyさん03/11/18 11:39ID:???
>>520
Perl....4!!??
0522nobodyさん03/11/18 11:51ID:???
とりあえず自分でできるところまでやってみようよ。
0523nobodyさん03/11/18 14:44ID:???
漢ならやってみれ(何を?)
052451803/11/18 19:41ID:???
GETで受け取るまではわかったのですが
POSTで渡す方法はありますか?
0525nobodyさん03/11/18 19:46ID:???
POSTでもらうときと同じ事をやればよい
ヘッダのみじゃ不可能なのはわかるよな?
052651803/11/18 20:23ID:???
?
二つ目のcgiへの渡し方がわかりません。
GETなら引数に書いてやればいいのですが
0527nobodyさん03/11/18 20:29ID:???
>526
検索とかしてみた?
検索したならどういう単語で検索した?
052851803/11/18 20:33ID:???
>>527
cgi.pm GET
052951803/11/18 20:48ID:???
http://tohoho.wakusei.ne.jp/lng/200003/00030338.htm
を発見しました。
できればはじめのcgiで作ったフォームから次のcgiに渡したいのですが・・・
Javascriptとかを使わないと無理ですか?
0530http://mokorikomo.2ch.net/03/11/18 23:19ID:???
ura2ch
0531nobodyさん03/11/19 11:00ID:???
ある画像を、アカウント認証した人だけに見せるページを考えてます。
その場合、認証成功した人が、HTMLのソースを見ると普通に画像のパスがわかってしまい、
アカウントを持っていない人でも、そのURLを教えてもらえれば見れてしまうのですが、
何かいい考えはありますでしょうか?
0532nobodyさん03/11/19 11:43ID:???
>>531
http://httpd.apache.org/docs-2.0/howto/auth.html
http://support.microsoft.com/default.aspx?scid=kb;ja;324276
053353103/11/19 11:56ID:???
>>532
ありがとうございます。
すいません、情報不足でした。
BASIC認証は使わずに、CGIで認証をした人にだけ見せたいです。

遷移としては、
インデックス⇒ログイン⇒画像ページ⇒HTML内で画像表示
BASIC認証でやる場合、ログイン部分に置けば万事解決ですが、
ログインCGIを使用しているため、
ログインアカウントと、画像を表示するアカウントの二つが存在するのは
あまり望ましくないですね。
0534nobodyさん 03/11/19 14:04ID:???
負荷がかかってもいいんであれば、
cgiに画像を読み込ませてそれを出力すればいいんでないの?
0535nobodyさん03/11/19 17:10ID:7+Nu5MKS
フリーでメルマガ一斉配信みたいなスクリプトありませんかね〜
探しているのですが有料ばかり(^^;)
0536nobodyさん03/11/19 17:32ID:???
>>535
【CGI】こんなCGI探してますver.1.1【素材】
http://pc2.2ch.net/test/read.cgi/hp/1067286961/
0537nobodyさん03/11/19 17:33ID:???
>>533
漏れの案
認証した人だけに見せるページはCGIが吐き出す。
画像のパーミを400とか600にして、直に見ようとしたら403エラーが出るように汁。
これでどうだ。
0538nobodyさん03/11/19 18:16ID:???
>>537
CGI プログラム経由で吐くなら、画像ファイルをドキュメントルート
以下に置く必要は全く無い。つか >>534 と結婚。

>>533
ログイン CGI とやらが何をする為のものか分からん上に、サーバ
環境も許されている権限も分からん。BASIC認証が使えん理由も
分からん (ログイン処理を変えられるなら、アカウントを .htpasswd
で一括管理すれば済む話) 。

あと本質的に、アカ持ってる奴が画像キャプチャしてバラ撒いたら
終わりなので、こういう部分に力を入れても労多く益少ない上に
正規ユーザが不便なだけ。
0539nobodyさん03/11/20 00:05ID:nKwXTSg6
[質問事項]
perlのデバッガを使用したいのですが、以下のメッセージが出力されており実行できません。対応方法を教えてください。

Can't locate perl5db.pl in @INC (@INC  contains: /opt/perl5/lib/5.00502/PA-RISC1.
1 /opt/perl5/lib/5.00502 /opt/perl5/lib/site_perl/5.005/PA-RISC1.1 /opt/perl5/li
b/site_perl/5.005 .).
BEGIN failed--compilation aborted.

[環境]
OS:HP-UX11.0
perlのバージョン:version 5.005_02 built for PA-RISC1.1

[補足事項]
�@本環境ではperl4と5が共存しております。それぞれのパスは以下のとおり
/usr/contrib/bin/perl    ・・・ver4
/usr/contrib/Q4/bin/perl   ・・・ver5.00502

以上、よろしくお願いします。
0540nobodyさん03/11/20 00:18ID:???
>>539
そのパスの中にはperl5db.plが見つからないって出てるでしょ
0541nobodyさん03/11/20 05:40ID:EAgQK2Up
http://esenden.com/rank/network/ranklink.cgi?id=mercury
0542nobodyさん03/11/23 12:07ID:???
CGIを動かす場合、
改行コードは、UNIX系OSならLF、WindowsならCR+LFに変換してUPする必要があるけど
文字コードは、EUCだろうがSJISだろうが、
ブラウザへの出力、フォームからのクエリーストリングなどが、
スクリプトの文字コードと一致するように注意していれば全然問題ないかと思うんだけど、
この考えって問題ある?
0543nobodyさん03/11/23 12:28ID:???
実は改行コードもあまり関係が無い
054454203/11/23 12:46ID:???
>>543
UNIX系OSで、CRLFのCGIを実行するとエラーおきない?
0545nobodyさん03/11/23 12:53ID:???
それは、1行目のコマンド指定のけつに\r単独でくっつくから
#!/usr/bin/perl\r <-こんな感じ。perl\rってコマンド作ってやるか、
#!/usr/bin/perl --\r みたいに、 オプションをつけることでCRLFでも動作する

つまり、改行コードはCGI動作の本質的な問題ではない
054654203/11/23 13:02ID:???
なるほど。

となると、
#! /usr/bin/perl --
ってやっとけば、別にShift_JIS+CRLFでも無問題か。。
配布CGI作るときに、メモ帳でもいじれるようにできそうだね。
0547_03/11/25 05:32ID:???
1つお聞きしたい事があります。
状況が分かりやすいようにサンプルソースを書いてみました。

<form name="f" method="POST" action="xx.cgi">
<input type="text" name="t1">
<input type="button" name="b1" value="【push】" onClick="f1()">
</form>

<script language="javascript">
function f1(){
document.f.t1.value = "1";
document.f.submit();
}
</script>


上記のコードは【push】ボタンを押した際、t1フィールドの値に"1"がセット
されて、xx.cgiにPOSTされるものです。

Win環境ではしっかりt1の値に"1"がセットされたものが渡るのですが、
Mac環境だとなぜかt1の値がnullになってしまいます。
手動で入力した時は問題なく渡るようなのですが・・・

ちなみにMACの動作環境はOSX、IE6です。

これはMACの仕様なのでしょうか?
期待通りにデータを渡す方法がありませんでしょうか?

もしどなたかご存知の方がいましたらご教授ください。
よろしくお願いします。
0548nobodyさん03/11/25 05:52ID:???
>>547
それCGIの問題なの?
0549nobodyさん03/11/25 06:59ID:???
>>547
http://pc2.2ch.net/test/read.cgi/php/1012750353/301
0550ぱくちゃん03/11/25 17:12ID:UdoS9gNt
WindowsXPでPerlのプログラミングをしています。
ビープ音を鳴らしたいんですけど、どなたか方法を知りませんでしょうか?
0551ぱくちゃん03/11/25 17:14ID:UdoS9gNt
WindowsXPでPerlによるビープ音の鳴らす方法について知りませんでしょうか?
0552nobodyさん03/11/25 17:21ID:???
>>550
Perl の話は Perl スレへ。
http://pc2.2ch.net/test/read.cgi/php/1066286828/
http://search.cpan.org/~giulienk/Audio-Beep-0.10/
0553nobodyさん03/11/25 19:21ID:UeVyDd4a
http://2chp.net/
http://2chp.net/
http://2chp.net/
http://2chp.net/
http://2chp.net/
http://2chp.net/
http://2chp.net/
http://2chp.net/
http://2chp.net/
0554あらスィー03/11/25 20:15ID:???
Common Gateway Interface
0555nobodyさん03/11/26 11:04ID:???
>>542
Windowsでcgiファイル作ってUnix(Linux)サーバにアップするとき、
FTPソフトによっては、勝手にCRLF->LFに変換してくれる場合があるよ。
0556ぱくちゃん03/11/26 15:50ID:+ZoCfoLg
お世話になってます。ブラウザ上でprint "\a"を用いたCGIにアクセスさせビープ音
を鳴らそうと思ったのですが、うまく行きません。どうしたらよろしいでしょうか?
0557nobodyさん03/11/26 16:13ID:???
>>556
ご安心ください。
ちゃんとサーバの方でビープ音が鳴っています。
0558ぱくちゃん03/11/26 16:37ID:+ZoCfoLg
1台のPC上でサーバーソフトAnHTTPDを用いて、ローカルでCGIにアクセスしているのですが、
「・」が表示され、音はならない状況ですが…
0559ぱくちゃん03/11/26 16:41ID:+ZoCfoLg
1台のPCでAnHttpdサーバーソフトを用いて、ローカルでCGIにアクセスして
います。「・」が表示され、音はならないようですが...
0560nobodyさん03/11/26 22:02ID:???
ブラウザが鳴らしてないだけなんじゃない?
ほら、たとえばCRLFを表示しても改行しないでしょ。それと同じで。
0561nobodyさん03/11/26 22:49ID:???
飾りじゃないのよHTMLは。
0562nobodyさん03/11/27 00:33ID:???
ハッハァ〜♪
0563nobodyさん03/11/27 09:12ID:???
uhoxtu
0564nobodyさん03/11/27 10:34ID:???
コマンドプロンプトでperl -e "print \"\a\""
としても鳴らないね(win xp pro)
perl -e "print \"\n\""
だと改行されんだけど。
0565nobodyさん03/11/27 10:52ID:???
>>564
ウチでは鳴るけどね
0566nobodyさん03/11/27 12:21ID:???
win2kでは鳴りますた
コマンドプロンプトでだけど
0567ぱくちゃん03/11/27 14:01ID:qZERqfQc
Win95でもやってみましたが、だめでした。コマンドプロンプトでは、
XP、95どちらでもできました。あと、ビープ音をならすプログラムをC
で作成し、これをexecコマンドでCGIから呼び出しましたけれど、
音は出ませんでした。
ブラウザはIEVer5とOperaでやってみました。ブラウザが鳴らしていな
いのでしょうか?なにか設定があるのでしょうか?
0568nobodyさん03/11/27 14:08ID:???
おまえもうちょっとよく考えろよ
全部本人か知らないが、マルチで書きまくってたから
教えてはやれないがな
0569nobodyさん03/12/02 17:48ID:???
cgiのページ内でアンカーリンクってできないよね?
イメージとしては、
<a href="hoge.cgi#here">アンカー</a>
みたいな。
0570nobodyさん03/12/02 18:22ID:???
>>569
<a href="hoge.cgi?huga=here">アンカー</a>
クエリで吐き出す内容を変えればいいだろ
0571nobodyさん03/12/02 18:24ID:???
>>569
普通にできる。
057256903/12/03 11:17ID:???
>>570
それだとJavascript必要になりそうだな…

>>571
ほんとだ、普通にいくね…
すまんかった。
0573nobodyさん04/01/11 13:15ID:upkQsXWI
原因不明のバグで困っています・・・(つд`)
すみません、どなたかわかる方いますでしょうか?

CGI.pm を使ったフォーム送信(ファイルアップロード付き)→DB登録
の処理をするCGIを、SSLをかけたサーバで動作させてます。

フォーム送信する要素数(inputタグ)が少ないうちは問題なく登録できますが、
要素数が多くなる(20個くらい)につれて、以下の2つの症状が出る確立が増えます。
(確立があがるだけなので、要素数が多くても問題なく登録できる場合もあります)

(1) フォーム送信後、読み込み中のまま応答しなくなる。
 →数分後、IEデフォルトの「ページを表示できません」が表示される(IEで見た場合)
 (print STDERR でデバッグしたところ、決まって my $query = new CGI; の部分で止まる)
 ※読み込み中に、ブラウザの中止ボタンを押すと、my $query = new CGI; から先に進みます。
(2) フォーム送信後、CGIの処理に行く前に、「ページを表示できません」が表示される。

再現できるバグならまだいいのですが、上手くいくときといかないときがあるのが辛いです。
CGI.pmのバグかと思い、最新の3.01にバージョンアップしましたが変わりませんでした。
ちなみに実行環境は以下の通りです。

OS: Kondara Linux 2.4.18
WWW: Apache/1.3.29 mod_ssl/2.8.16 OpenSSL/0.9.7c
Perl: ver 5.6.1
CGI.pm: ver 3.01
0574nobodyさん04/01/11 14:24ID:Ua0H5zjq
一般的にCGIの拡張子って.cgiだと思うけれど
mod_perlで動かすCGIの拡張子って皆さんどう付けています?
べつに拡張子区別したりしないですか?
0575nobodyさん04/01/11 14:57ID:???
mod_perlで動かすCGI?
■ このスレッドは過去ログ倉庫に格納されています