CGIだけど、なんか質問ある? Part 12
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
04/10/10 00:04:06ID:???※ CGIはウェブサーバ上でユーザプログラムを動作させるための仕組みであり、
Perl等特定の言語に依存するものではありません。
Perlのコーディングに関する質問は、専用スレでお願いします:
[Perlコーディング初心者質問スレ Part 38]
http://pc5.2ch.net/test/read.cgi/php/1097158988/
CGIとPerlの区別がわからない、という人はとりあえずこちらへ:
[△▲ WebProg 初心者の質問 Part10 ▼▽]
http://pc5.2ch.net/test/read.cgi/php/1095633323/
過去ログ・関連スレッドは>>2-10あたりに
0202nobodyさん
04/12/09 04:21:37ID:???0203nobodyさん
04/12/09 22:15:37ID:???0204nobodyさん
04/12/09 23:41:23ID:4E0zB4lk0205nobodyさん
04/12/10 23:35:14ID:???次のようなhtmlファイルを作りました。
<HTML lang="ja">
<HEAD>
<META http-equiv="Content-type" content="text/html;
charset=Shift_JIS">
<Title>タイトル</TITLE>
</HEAD>
<BODY bgcolor="FFCC00">
これはテストです<BR><BR>
<FORM action="http://localhost/cgi-bin/test.cgi" method=POST">
<P>
<LABEL>subject<INPUT type="text" name="subject"></LABEL>
<BR>
<LABEL>FROM<INPUT type="text" name="FROM"></LABEL>
<BR>
<LABEL>mail<INPUT type="text" name="mail"></LABEL>
</P>
<P>
MESSAGE <BR>
<TEXTAREA rows=15 cols=100 name="MESSAGE"> ここに感想をどうぞ</TEXTAREA>
</P>
<P>
<INPUT type="submit" value="送信">
</P>
</FORM>
</BODY>
</HTML>
0206205
04/12/10 23:38:35ID:???で、テキストエリアに
これはテストです
と入れてボタンを押せば、問題なくtest.cgiが起動します。
が、次のようなものを入れるとCGIが起動しません。
_.. ―ー ..,、
,/゛.:.:.:.:.:.:.:.:.:.:.:.:``'''ー ,、
/.:.:._,,.:.:.:.:.:.:.:,_.:.:.:.:.:.:.:.:.:.:.:.:.`' ,
,ノ'"゛ ``'ー、,.:.:.:.:.:.:.:.:.:. \
/ _______ .\..:.:.:.:.:.:.:.:ヽ
/ ,..-‐''"゙,、 ,、`゙ ヽ、 \.:.:.:`:、.:ヽ
l .,/./ | l / ヽ / | ( ゙''、 ゙ ',.:.:|.:.:.:.:.:ヽ
! i l i / // /, ' l '、 ' ,l /.:.:.:.:.:.:.ヽ
! | ! l| ! // ,ィ´∠∠',,,,,,,_', ヽ ヽl.:.:.:.:.:.:.:.:.:.l.
! l !''7|!',´i`!/'//'´_,,......._ ヾ ヽ丿.:.:.:.:.:.:.:.:.:',
| ', !ノ''ラ∀、、 '´ ,r'''ラ""''ヽヽ、 l`.:.:.:.:.:.:.:.:.:.:.:!
', ヽ{i {_)::::::i !_)::::::::!ヽヽ,,l,.:.:.:.:.:.:.:.:.:.:|
', !ヾ、 !:::::::::} |::::::::::::} ノ、 !'l.:.:.:.:.:.:.:.:.:.:|
', | | ! ゝ--' ゝ---'、 ノ l,l,.:.:.:.:.:.:.:/
',', ',', // , |.:.:.:.:.:/
',', ',丶、 r--、 /'  ̄/」.:.:./
',ヽ', `丶、 ` ´ _,.. ィ´'´ i ,'゙゙"⌒ ゙ヽ
ノ ヽ | }`T;ーr '´ // /!,( ',
☆ i |', // /'/! , -‐! ! ノ ',( ノ
人 ', ! ! /' // //'´,..ノノ´=ヽ ヽ`'''‐ -'"´
ノ;;;; ゝ ヽ | ノ ! / !|/',イ //':::::::::::::! ', ! /
ノ( 'A`) |!{ ヽ ! イノヽ:{ !{::i::::::::::::::::| !/ {
0207205
04/12/10 23:41:41ID:???http://localhost/cgi-bin/test.cgi?subject=&FROM=&mail=&MESSAGE+%81@+%81@%81@+%81@+%2C%83m%27%22%81J%81@%81@%81@%81@%81@%8181.%3A.%3A.%3A.%3A(長いので以下略)
と、でます。
POSTメソッドで起動してるのに、これっておかしいですよね?
原因と解決法をお願いします。
起動するCGIは、テスト用のhtmlを出力するだけの簡単なものです。
0208205
04/12/10 23:44:11ID:???@ってなんでしょうか?。。。。。
0209nobodyさん
04/12/11 00:02:15ID:???0210nobodyさん
04/12/11 00:06:28ID:???0211205
04/12/11 00:10:45ID:???0212nobodyさん
04/12/11 01:22:38ID:???0213nobodyさん
04/12/11 04:43:38ID:???この程度の行数で間違うならlintでチェックしろ。
0214nobodyさん
04/12/11 14:25:33ID:???0216nobodyさん
04/12/13 13:19:16ID:???0218nobodyさん
04/12/14 06:19:18ID:???0219nobodyさん
04/12/14 14:13:20ID:???0220nobodyさん
04/12/14 20:42:29ID:???0221nobodyさん
04/12/14 22:10:56ID:???何があったのか激しく興味あるw
0222nobodyさん
04/12/15 06:20:50ID:???/\__/ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
/ / \ < 終了
/ /ヘニヾ ノヘ\ \_____ ,-v-、
(⌒ / ''=・=',i i.'=・=''| ./ _ノ_ノ:^)
. ( (6 ./ | |`ヽ | / _ノ_ノ_ノ /)
( | ./ rl_.| ヽ| ビ゙シッ!!! / ノ ノノ//
\ ,r-ー-、 / ____ / ______ ノ
/ i, \__个_/ \____(" `ー" 、 ノ
ー'/ 'i. ヽ、 ,二ニ/ \ ``ー-、 ゙ ノ
/ 'i、 /\ / > ( `ー''"ー'"
\ 'i," (__) / / \ /ノ
0223nobodyさん
04/12/15 12:58:00ID:???0224nobodyさん
04/12/15 19:48:57ID:???http://dream.lib.net/room/cgi/e_ps.html
アダルトサイトの申請が増えてきたので、サイト登録用のCGIにアクセス制限をかけて、
自分一人しか登録作業ができないようにしました。
(事前に設定した特定のブラウザからしかアクセスできないように制限してます)
なのに、今日、またアダルトサイトが登録されてきました。
どういうことでしょう。よく知られたCGIなので、自動登録用のプログラムでも有るんでしょうか。
0225nobodyさん
04/12/17 17:15:20ID:???ISWEBのサーバー500エラーを返します
Perlのパスや設定やパーミッション等きちんと合わせたんですが何故でしょうか?
0229nobodyさん
04/12/18 01:14:01ID:???/\__/ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
/ / \ < もういいだろ。糞スレFIN
/ /ヘニヾ ノヘ\ \_____ ,-v-、
(⌒ / ''=・=',i i.'=・=''| ./ _ノ_ノ:^)
. ( (6 ./ | |`ヽ | / _ノ_ノ_ノ /)
( | ./ rl_.| ヽ| ビ゙シッ!!! / ノ ノノ//
\ ,r-ー-、 / ____ / ______ ノ
/ i, \__个_/ \____(" `ー" 、 ノ
ー'/ 'i. ヽ、 ,二ニ/ \ ``ー-、 ゙ ノ
/ 'i、 /\ / > ( `ー''"ー'"
\ 'i," (__) / / \ /ノ
0230nobodyさん
04/12/18 19:54:57ID:???0231nobodyさん
04/12/18 22:10:59ID:SguX1kSWこちらの画像あぷ掲示板「ECOUP」を使いたい
んですが、この掲示板は画像ダイエット機能が働く
みたいで、JPEGヘッダを削るらしいんです。携帯の
待ち受けサイトに使用する場合、画質とかに影響は
あるんでしょうか?
せっかく職人さんが綺麗なのをアップしてくれても、
画質が落ちたらマズイと思いますて。。
携帯からなんで、見にくかったらすみません。
よろしくおながいします。
0233231
04/12/19 02:30:39ID:MFfnh9Uyありがとうございます。
検索してみたんですが、Exif情報というのがそれに
あたるんでしょうかね。。?画質に影響は無いんですね!
本当にありがとうございました。
0234nobodyさん
04/12/19 23:12:53ID:Wrsvun+Xhttp://doglover.cool.ne.jp/dog/
ここで使ってるカスタマイズ版、配布止めてるみたいなのですが
誰かお持ちじゃないですか。宜しくです。
0235nobodyさん
04/12/19 23:47:56ID:W6XRuLU0・パスワード入室可能 ・ROM閲覧が可能 ・他のページから参加者数がわかる
どこかで配布しているところはないでしょうか?
今日半日探していたのですが、見つからなくてここにやってきました。
どなたかご存知の方、教えてください…。それこそ教えてチャンでごめんなさいです。
0236nobodyさん
04/12/19 23:54:11ID:???こちらへどうぞ。
【CGI】こんなCGI探してますver.15
http://pc5.2ch.net/test/read.cgi/hp/1097762828/
0238nobodyさん
04/12/20 21:39:23ID:???初期画面表示→重い処理→画面更新(処理結果を反映)
ってなことを、CGI+Perlでやりたい。
$| = 1;
if (my $pid = fork()) {
waitpid $pid, 0;
header();
print "<html><head></head><body>hoge</body></html>";
}
elsif (defined $pid) {
header();
print "<html><head></head><body>foo</body></html>";
close STDOUT;
# この後、重い処理
}
else {
exit 1;
}
こんな具合なコードを書いてみたんだが、親プロセス終了まで
画面が返って来なくてうまくいかない。
どうすればいいか教えてちょ。
0239238
04/12/20 21:40:08ID:4AjVflcZheader()は適当なヘッダ出力関数ね。
0242nobodyさん
04/12/21 22:48:52ID:???0243nobodyさん
04/12/22 02:38:21ID:???header();
print "<html>重い処理をがんばっちょりまんがな";
#重い処理
while(1){}
print "おわったぜい</html>";
exit;
0245nobodyさん
04/12/22 17:54:20ID:???ttp://www.cj-c.com/cgi_s/cbbs.htm設置したいんだけど
エラー500が返ってくる。
インフォシークのヘルプだと
文法違い、サーバの仕様が違うと返ってくる。
パーミッション、パスなどは、正確。
ダウソしたものをホームとパスワードを書き換えUP下だけのものです。
診断お願いします。
0246nobodyさん
04/12/22 17:56:01ID:???スレ違い
■ 設置の方法がわからない場合には
CGI設置について質問
http://pc5.2ch.net/test/read.cgi/php/1054216089/15(テンプレ)
0248nobodyさん
04/12/23 01:35:12ID:???例えば、数箇所の掲示板の最初の書き込みタイトルをHTML上に並べるとか。
お願いします。
0249nobodyさん
04/12/23 01:36:01ID:???0250nobodyさん
04/12/23 01:39:12ID:???CGI で表示するのが HTML や JavaScript。
同列に考えんな。
0251nobodyさん
04/12/23 01:40:06ID:???0254nobodyさん
04/12/23 02:26:27ID:???要するに行き付けの掲示板の更新チェックがしたいんだろう?
まず「JavaScriptで」ってことは板違いじゃねーか。
CGIならできるが、JavaScriptはかなり無理くさい。
CGIの場合LWPとかSocketがキーワードになるだろうから調べるといい。
0255nobodyさん
04/12/23 04:38:45ID:???インラインフレームに表示して innerHTML を適切に書き換えればいい。
また、掲示板本体を弄れるんであれば、
ヘッドラインを document.write で吐かせて <script> の src で指定すればいい。
どっちもできないんであれば、>254の通り。
0256nobodyさん
04/12/26 00:56:58ID:dNeoIy6tURLフィルタリングを無効にするようなCGI
は存在していますか?
ページ内語句のチェックまでされていると無理そうですが
URLだけなら、何とかなるのかなと思いまして。
0257nobodyさん
04/12/26 01:35:49ID:???0258nobodyさん
04/12/28 19:09:14ID:???require './cgi-lib.pl';
をいれると
CGIプログラムエラーのため表示することが出来ません。(500 Internal Server Error)
となってしまいます。
require './cgi-lib.pl'; をコメントアウトすると
CGIプログラムエラーのため表示することが出来ません。(500 Internal Server Error)
はでなくなります。
どうすればよいでしょうか?
0259nobodyさん
04/12/28 19:41:59ID:???0260nobodyさん
04/12/28 19:48:34ID:???0261nobodyさん
04/12/28 19:59:44ID:???で、cgi-lib.plをPerlインスコしたディレクトリを探したけど見つかりませんでした。
cgi-lib.plってのはなんですか?どこにあるものですか?
0262nobodyさん
04/12/28 20:04:50ID:???0263nobodyさん
04/12/28 20:58:36ID:???0264nobodyさん
04/12/28 21:52:58ID:???>>261
http://cgi-lib.berkeley.edu/
0265nobodyさん
05/01/04 05:16:13ID:???こちらのページに
> CGIの掲示板にアクセスカウンターを表示しようとしてSSIのタグを入れても表示されません。
> CGIスクリプトの中ではSSIは動作しないからです。
と書いてあります。
が、以前どこかでCGIスクリプトの中に別のCGIの結果を貼り付けるって事が出来るっていう記述を見た覚えがあるんですが、どうでしょうか?
やり方をご教示ください。
言語はPerlです。
0267265
05/01/05 20:01:40ID:???徹夜明けに質問するんじゃ無かったよ。
スマソ
あらためて
index.htmlにアクセスカウンタを表示するのにSSIを使ってます。
<!--#exec cgi="counter.cgi"-->
で、今回CGIが吐き出すページにもSSIの実行結果を貼りたいと考えております。
が、CGIが吐き出すページに<!--#exec cgi="counter.cgi"-->を書いても、SSIの実行結果が貼れません。
何か別の方法でSSIの実行結果をCGIが吐き出すページに貼る事ができますか?
0268nobodyさん
05/01/05 20:10:58ID:???0269nobodyさん
05/01/05 20:17:00ID:???apache2のfilter機能を使えば可能。
でも普通そういう設定はしないし、他のweb鯖の場合は知らん。
管理者さんに聞いてごらん。
0271nobodyさん
05/01/06 15:18:27ID:???onlyoneが配布してあるサイトってないのか。。
本サイトはDLできない
0272nobodyさん
05/01/06 15:32:21ID:???0274nobodyさん
05/01/15 15:33:30ID:NB9cGt7y故あって、アドレスの文字列をEUC-JPにURLエンコードしたいのですが、
そんな事が出来るのでしょうか?
SJIS上で↓
$word =~ s/(\W)/'%' . unpack("H2", $1)/eg;
とやっても、当然SJISのデータしか出てきません。
出来るのであれば、ご教授いただけると嬉しいです。
0276nobodyさん
05/01/16 21:30:09ID:???$temp = sprintf "%02d", $i;
$file = "$note/$temp$ex";
連番でファイルを保存しようとやってみたのだが、
うまくいかない。。。
0278nobodyさん
05/01/17 19:31:40ID:???,0280nobodyさん
05/01/17 20:43:37ID:???0281nobodyさん
05/01/17 23:25:49ID:???以下の内容を読み替えて使ってくれ
$src = '保存ディレクトリ'
if ($file ne "") {
($ex) = ($file =~ m|(\.[^./\\]+)$|);
$num++;
$tmp = sprintf ("%02d", $num);
$newfile = "$src/$tmp$ex";
open(FILE, "> $newfile") or die;
flock(FILE, 2);
if (defined $file) {
while (<$file>) {
print FILE $_;
}
}
close FILE;
此れでどうよ?
ファイル名を取得して、拡張子($EX)と文字列に分ける、拡張子(EX)そのままで、
ファイル名を変更するのだが、$num++で連番を生成、生成した連番を二桁("%02d")で表記($tmp)
$newfile = "$src/$tmp$ex";なのだが、此れは、ファイルのある場所とファイル名を保存するものとみた、
此れでいけると思うがどうよ?
0283nobodyさん
05/01/18 14:31:43ID:???CGI側で作成した.txtにアプリ側から書き込み、こちらへ保存させようとしています
CGI側で作成した
open KEITAI,">>$DataDir\/test.txt";
のパスをアプリへ送るにはどうすればよいでしょうか
友人がアプリの方を作成してまして、パスを貰えればファイルに文字列を記述出来るそうなのですが
物凄い初心者です、すれ違いなら誘導してもらえると助かります
0284nobodyさん
05/01/18 17:06:43ID:???ヒントは/i/ez
0285814
05/01/19 02:11:49ID:p+skwzeWどの程度で動作が重くなったり支障が出てくるものでしょうか?
一般的なものはログの行数を1000行までとしている所が多いようですが。
数MBを超えるようなログはどのような方法で保存が適しているのでしょうか?
0286nobodyさん
05/01/19 09:55:31ID:???use strict;
use warnings;
require "./jcode.pl";
require "./cgi-lib.pl";
print "Content-type: text/html\n\n";
print "<HTML>\n";
print "</HTML>\n";
というtest.cgiを動かすと500エラーが出ます。
jcode.plとcgi-lib.plとtest.cgiは全て同じディレクトリにあり、
全てeuc_jpのlfです。test.cgiは755、*.plは644です。
require "./jcode.pl";の行をコメントアウトすると動き、
コメントを外すと500が出ます。
これはどのような原因が考えられるでしょうか?
0287nobodyさん
05/01/19 10:18:55ID:5+w2R1ze#!/usr/bin/perlの後に
use CGI::Carp 'fatalsToBrowser';
を追加する。
まぁ、大方Perlのパスが間違ってるか、Perlのバージョンが5.005以下でuse warningsに対応してないかだと思うがな。
0288nobodyさん
05/01/19 11:06:33ID:mxYphXm6Software error:
Unrecognized character \x01 at ./jcode.pl line 343.
Wed Jan 19 11:04:26 2005] insert.cgi: Unrecognized character \x01 at ./jcode.pl line 343.
Compilation failed in require at test.cgi line 7.
だそうです…。
>まぁ、大方Perlのパスが間違ってるか、Perlのバージョンが5.005以下でuse warningsに対応してないかだと思うがな。
Perlのパスは/usr/bin/perlであってますね。/usr/local/bin/perlからもシンボリックリンク
張ってるのでどちらからでも行けますが。バージョンは5.6.1です。
0290nobodyさん
05/01/19 11:45:46ID:mxYphXm6原因は何ですか?
jcode.plのバグだとは思えませんが。
0292nobodyさん
05/01/19 12:19:34ID:mxYphXm6ここの
http://www.srekcah.org/jcode/
これですが。
http://www.srekcah.org/jcode/jcode.pl-2.13
ちなみに343行目は
$esc_0208 = "\e\$$esc_0208" if length($esc_0208) == 1;
あとググれってのは何をでしょうか?
0293nobodyさん
05/01/19 15:52:23ID:???それにinsert.cgi:とは何よ?
なんにしてもお前の書いたコードに間違いがあるだけ。
0294nobodyさん
05/01/19 16:59:38ID:???そこから今ダウンロードしてみたけど343行目はそこじゃなかったよ。
ファイルが壊れてるんじゃないの。
jcode.plをダウンロードしなおしてみたらどう
0295nobodyさん
05/01/19 17:34:10ID:sZQcp1a5>>1
↑みたいなリンク先を表示している所をクリックした時に
一緒にデータを送りたいと考えています。
送り先はCGIで、そのリンク表示している文に関連するデータを受け取って
それの一覧を表示できるようにしたいのです。
フォームの送信ボタンをクリックした時と同じような感じです。
何か方法はあるでしょうか?お願いします。
0297295
05/01/19 18:30:34ID:sZQcp1a5CGI名の後に?をつける方法ですか?
〜CGI?name=$変数名
みたいにするので大丈夫ですかね?
0299295
05/01/19 19:47:25ID:sZQcp1a5上の文をリンク先に貼るだけでいいんですよね?
受け取り先のCGIがどこか間違っているんでしょうか?
■ このスレッドは過去ログ倉庫に格納されています