CGIだけど、なんか質問ある? Part 10
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
03/03/26 22:47ID:44KxXtaW※CGIは特定の言語に依存するものではありません。
※Perlのコーディングに関する質問は専用スレがありますのでそちらでお願いします。
↓
【Perl】初心者コーナー Part21
http://pc2.2ch.net/test/read.cgi/php/1047980851/l50
過去ログ・関連スレッドは >>2-5 あたりに
0521nobodyさん
03/05/11 13:10ID:???0522369
03/05/11 15:15ID:???まぁ、いいけど一応理論上は、
#! /usr/bin/perl
print "Content-type: application/x-csv\n";
print "Content-Disposition: inline; filename=ahya.csv\n\n";
print "Content-encoding: gzip\n\n";
・
・
・
でgzipにパイプするとかつかったり、
Compress::Zlib::memGzipを使うなりするんだけど
IEの古いバージョン使うとバグ有るし、
通信状態悪いと内容化けるわで、おおよそ使い物にならんわ・・・
0523nobodyさん
03/05/11 15:24ID:???それ、TCP的に失格。
0524369
03/05/11 15:34ID:???それをブラウザーに出しても意味ないんでないだろうか?
0525520
03/05/11 17:19ID:???しました。
スマソ…。
ZIPをブラウザに送ると
ダウンロードダイアログでますよね?
もちろん、MIMEタイプの設定はされてる前提で。。
それがやりたいのです。
CSVを出してもいいんですが、
容量がでかいとZIPで落とした方が速いので。。
gzipは
print "Content-type: application/x-gzip\n";
print "Content-Disposition: inline; filename=aheahe.csv.gz\n";
print "Content-encoding: gzip\n\n";
open(STDOUT,"| /bin/gzip -1 -c");
print "test,test\n";
これでいけましたね。。
0526nobodyさん
03/05/11 18:15ID:???0527369
03/05/11 18:30ID:???それ・・・
0528nobodyさん
03/05/11 18:35ID:???0529nobodyさん
03/05/11 21:15ID:???print "Content-Disposition: inline; filename=aheahe.csv.zip\n";
print "Content-encoding: zip\n\n";
open(STDOUT,"| /bin/zip -1");
これでいけない?
0530529
03/05/11 21:48ID:???0531nobodyさん
03/05/13 10:58ID:SyWfQmCJ0532bloom
03/05/13 11:10ID:rppJJuu/0533nobodyさん
03/05/13 16:25ID:???htaccessは弄れます。
クライアント側にバレないようにサーバサイドで
CSSやJSのUAによる振り分けがしたいんですよ。
htaccessでcssファイルもSSIっていうことにしたんだけど、
実際に埋め込む方法がわからない・・・。
<!--#cgi execではだめみたいです。
0534nobodyさん
03/05/13 16:25ID:???0535nobodyさん
03/05/13 16:48ID:???====hoge.html====
<html>
<head>
<title>hoge</title>
<link rel="stylesheet" type="text/css" href="hoge.css">
</head>
<body>
<h1>hoge</h1>
</body>
</html>
====hoge.css====
(ここにhoge.cgiをSSIで埋め込みたい)
====hoge.cgi====
#! /usr/bin/perl
print "Content-Type: text/plain\n\n";
print "h1{color:red;}\n";
この3ファイルがあったときに、hoge.htmlを開くと赤い字でhogeと出れば成功です。
ちなみに、hoge.htmlの<link>のところのファイル名をhoge.cgiとすると成功します。
が、それではスタイルシートの変わりにcgiを呼んでいることがバレてしまいよろしくないんです。
また、htaccessでhoge.cssをhoge.cgiにリダイレクトさせても成功したのですが、
それでもhttpヘッダを見るとやはりリダイレクトしてることがバレてしまいます。
まあ普通はバレないとは思うのですが、SSIを使ってCSSの中に埋め込むことが出来れば完全に隠蔽できるのでぜひそうしたいのです。
難しい説明もがんばって理解しようと思いますので、どうかよろしくお願いします。
0536梨
03/05/13 16:57ID:TFqCBiSstext/cssじゃだめ?
じゃなくて、まずはWebサーバの設定で
cssをssiとして読み込めるようにしなきゃいけないのでは。
0538動画直リン
03/05/13 17:10ID:rppJJuu/0539533
03/05/13 17:19ID:???cssファイルには、
<!--#exec cgi="hoge.cgi"-->
と記述すればよかったようです。
さっきそれでダメだったのは、
鯖のmimeタイプにcssがtext/plainってなっていたからのようです。
htmlファイル、cgiのcontent-type、さらに鯖のMIMEタイプを
どれもtext/cssで統一したらうまくできました。
梨さんがtext/cssじゃだめ?って言ったのは
そういう意味だったのですね。ありがとうございました。
どうも私はMIMEに関する理解が足りないようです。
やったーこれで完全サーバサイドのCSS振り分けが完成しそうです。
ありがとうございました。
0540梨
03/05/13 17:35ID:???あらあら。お疲れ様。良かった良かった。
説明不足&読み取り不足でごめんねー。
# SSIなんてまともに使ったこと無かったもんで、と言い訳。
0541nobodyさん
03/05/13 17:43ID:???糸口だったのは言うまでもないですよ。
0542nobodyさん
03/05/13 17:57ID:V26ov8co0543nobodyさん
03/05/13 23:19ID:???<!--#exec cgi="hoge.cgi"-->での出力を、
<link rel="stylesheet" type="text/css" href="hoge.css">
にして、.cssファイルは、各種、生ファイルで置いておけば?
SSIを複数にしたいときは、
<!--#include virtual="out_css.cgi?main" -->
<!--#include virtual="out_js.cgi?main" -->
というのも出来るし。
0544nobodyさん
03/05/13 23:34ID:wfiXqtGCどこにもそんなスクリプトが載っていません。
自分でCGIのプログラムを組む事ができない初心者ですが、どうかやり方を教えてくれないでしょうか。
0545nobodyさん
03/05/14 01:05ID:???帰ってください。
0547nobodyさん
03/05/14 03:51ID:???0549nobodyさん
03/05/14 04:34ID:???ああ、レスが付くとスレがageになって浮上するから
floatなのね。でもyahooとか、更新時順でスレッドを
ソートする他の掲示板もスレッドフロートって呼ぶの?
0551nobodyさん
03/05/14 05:43ID:???0552nobodyさん
03/05/14 07:33ID:???googleとか使った事ないのか?
軽く検索かければそれらしいものが山ほどひっかかるが。
「スレッド フロート 用語」で検索かけるとそれらしいものが結構かかるし。
0554梨
03/05/14 10:12ID:???>>543
結果的に「hoge.cssを読み込んで表示する」だけでも、
cgi側でopenして読み込んであげた方がスマートでないかな。
あーでも、hoge.htmlがssi駆動出来るなら、
Webサーバの設定をいじるという意味では妥当かも知れないねぇ。
0555nobodyさん
03/05/14 16:25ID:???0556533
03/05/14 17:54ID:???えーと、<link>をSSIで出力するってのは全然ダメなんです。
まず、これまでの全ページのその部分を書き換える必要がある点。
また、今後もメンテが必要になってくる可能性がある点。
さらに、CGIによって出力されたページ関しては
手出しできない点。まあCGIの中にも同じ振り分け処理を
入れればいいのですがスマートじゃないですよね。
CSSファイルはCSSを使う設定のUAだけが
htmlとは「別に」リクエストしてくるという点を利用したかったわけです。
そもそもCSSがオフの人や使えない人のためにまでSSIを走らせる
必要もないし、CGIによって吐き出されたhtmlや、全然関係ない
ページから勝手に呼び出されても対応できる今回の「CSS内にSSIを埋め込む」という
手法はその点完璧でした。
0557nobodyさん
03/05/14 22:38ID:NykKQ3Es0558_
03/05/14 22:39ID:???( ^▽^) < こんなのございまーす♪
http://www.hiroyuki.zansu.com/moe/hankaku08.html
http://hiroyuki.zansu.com/moe/hankaku10.html
http://www.hiroyuki.zansu.com/moe/hankaku03.html
http://hiroyuki.zansu.com/moe/hankaku09.html
http://www.hiroyuki.zansu.com/moe/hankaku06.html
http://hiroyuki.zansu.com/moe/hankaku05.html
http://www.hiroyuki.zansu.com/moe/hankaku01.html
http://hiroyuki.zansu.com/moe/hankaku02.html
http://www.hiroyuki.zansu.com/moe/hankaku08.html
http://hiroyuki.zansu.com/moe/hankaku04.html
0559nobodyさん
03/05/14 22:43ID:???0560nobodyさん
03/05/14 22:49ID:NykKQ3Es0561nobodyさん
03/05/14 23:50ID:HhkNaRXo馬鹿なプログラマーしか残らないんだって。
なるほどって思ったよ。
0564nobodyさん
03/05/15 00:12ID:gJFjfLe9http://accessplus.jp/staff/in.cgi?id=10528←今なら会員になるだけで1000円
http://e-yume.ktplan.jp/39792489/
0565_
03/05/15 00:21ID:???( ^▽^) < こんなのございまーす♪
http://www.hiroyuki.zansu.com/hankaku/jaz07.html
http://hiroyuki.zansu.com/hankaku/jaz10.html
http://www.hiroyuki.zansu.com/hankaku/jaz08.html
http://hiroyuki.zansu.com/hankaku/jaz09.html
http://www.hiroyuki.zansu.com/hankaku/jaz06.html
http://hiroyuki.zansu.com/hankaku/jaz05.html
http://www.hiroyuki.zansu.com/hankaku/jaz01.html
http://hiroyuki.zansu.com/hankaku/jaz02.html
http://www.hiroyuki.zansu.com/hankaku/jaz03.html
http://hiroyuki.zansu.com/hankaku/jaz04.html
0566nobodyさん
03/05/15 16:59ID:qzLPbX2N今tripodのCGIを使ってapeboard+を動かそうとしてるんですが、
FTPソフトで転送してもFTPソフトの右側が何故か表示されないので
(他のhtmlファイルも転送されるが、右側(ホスト側)が表示されない)
tripodのファイルマネージャーを使おうかと思っています。
でもファイルマネージャでは普通パーミッションの設定はできないですよね?
いろいろいじってみてるのですが、なかなかできなくて…。
かなり場違いっぽいですが、
もし場違いだったら初心者板へ逝け!と言ってください。
それでは、おながいします。
0567動画直リン
03/05/15 17:10ID:fs87NLJj0569566
03/05/15 17:39ID:???レスありがとうです。そうします。
0570nobodyさん
03/05/15 19:36ID:???0571nobodyさん
03/05/15 19:52ID:dUnPB6/jしかしダウンロードページのURLは見せないという方法ってありませんでしょうか?
Locationを使うと、URLは見えてしまいますよね。
0573nobodyさん
03/05/15 20:17ID:VJqeIr87http://accessplus.jp/staff/in.cgi?id=10645
http://www.39001.com/cgi-bin/cpc/gateway.cgi?id=neat
http://www.emzshop.com/goodstyle/
http://neturl.nu/okane
0574サンプルです
03/05/15 20:46ID:ta/vI4VRhttp://cg.iclub.to/link/ranran1
0575571
03/05/15 20:49ID:dUnPB6/jレスありがとです。
すいません。わかりません。
CGIは、ネットで見つけて設定ができる程度なんで。(汗)
今あるフォームメールCGIを改造すればできるんじゃないかと
思っているんですが、
http://www.rescue.ne.jp/cgi/webform/
よろしければ、具体的にどのようなコードを付加すればいいんでしょうか?
ヒントでもいいので、おながいします。<(_ _)>
0576_
03/05/15 20:53ID:???川o・-・)ノ <先生!こんなのがありました!
http://www.hiroyuki.zansu.com/moe/hankaku07.html
http://hiroyuki.zansu.com/moe/hankaku10.html
http://www.hiroyuki.zansu.com/moe/hankaku08.html
http://hiroyuki.zansu.com/moe/hankaku09.html
http://www.hiroyuki.zansu.com/moe/hankaku06.html
http://hiroyuki.zansu.com/moe/hankaku05.html
http://www.hiroyuki.zansu.com/moe/hankaku01.html
http://hiroyuki.zansu.com/moe/hankaku02.html
http://www.hiroyuki.zansu.com/moe/hankaku03.html
http://hiroyuki.zansu.com/moe/hankaku04.html
0577nobodyさん
03/05/15 21:56ID:???そのメール送信スクリプトで送信完了メッセージを
出力する部分を探して、そこのHTMLを修正する。PERLなら:
print "ここにHTMLが入る";
あるいは:
print <<"E_O_L";
ここにHTMLが入る
E_O_L
こんな感じの部分を見つける。
0578nobodyさん
03/05/16 01:34ID:bVV9tZkwperlの標準モジュールは提供していない、ってあるけど、
それって殆どperlが使えないって事でよろしいか???
0579nobodyさん
03/05/16 01:51ID:???はい次
0580nobodyさん
03/05/16 02:59ID:???別に標準モジュールを使わなくても、そこそこのものは作れるよ。
配布されてるCGIなんて、ほとんどがモジュールなんて使ってないし。
0581nobodyさん
03/05/16 06:45ID:2FsbEsCcどうすればいいでしょうか?
0582nobodyさん
03/05/16 06:51ID:1cd8qGBa早速振り込まれたよ。まりこのオススメ♪
http://accessplus.jp/staff/in.cgi?id=11141
0584bloom
03/05/16 07:10ID:n/FznajZ0585_
03/05/16 07:26ID:???( ・∀・)/< こんなのみつけたっち♪
ttp://www.yamazaki.90.kg/hankaku/hankaku04.html
ttp://yamazaki.90.kg/hankaku/hankaku10.html
ttp://www.yamazaki.90.kg/hankaku/hankaku09.html
ttp://yamazaki.90.kg/hankaku/hankaku08.html
ttp://www.yamazaki.90.kg/hankaku/hankaku06.html
ttp://yamazaki.90.kg/hankaku/hankaku05.html
ttp://www.yamazaki.90.kg/hankaku/hankaku01.html
ttp://yamazaki.90.kg/hankaku/hankaku02.html
ttp://www.yamazaki.90.kg/hankaku/hankaku07.html
ttp://yamazaki.90.kg/hankaku/hankaku04.html
0586571
03/05/16 09:27ID:vk9NMPXM自分で調べて考えてみました。
送信確認ページに、ダウンロードURLだけを出力するより、
cgiが、別に用意したhtmlファイルを読み込んで
それを出力させようかと思いました。
別のhtmlファイルを用意する形にすれば、
それをGoliveなどでレイアウトを自由に編集できるし、編集もラクだと思ったからです。
今日、午前中、ちょっと挑戦してみます。
またわかんなかったら、よろすくです。<(_ _)>
0587nobodyさん
03/05/16 12:22ID:???やるなら続きはこちらで
【 スクリプト改造工房 PART 6 】
http://pc2.2ch.net/test/read.cgi/php/1047806915/l50
0588571
03/05/16 16:32ID:vk9NMPXM了解しました。
0589nobodyさん
03/05/17 00:17ID:6SNDWw+M今非常に悪戦苦闘しておりまして・・・。
0591nobodyさん
03/05/17 00:23ID:???必要なのはCGIの機能を持ったウェブサーバとCGIプログラムだけ。
Perlを使ってプログラムを書いたのならPerlも必要。
0594nobodyさん
03/05/17 00:31ID:6SNDWw+Mbiglobeを使ってます。
そこの利用規定をじっくり読んで必要なことは施してあるつもりなのですが
(http://homepage.biglobe.ne.jp/help/shiyou5b.html)
ほいで以下のcgiを起動してみるとforbidenというエラーが出るんですが、
パーミションは755にしてあるので上記のページに書かれてあることはクリアしている
のですが・・・・。
#!/usr/local/bin/perl
print "Content-type: text/html\n";
print "\n";
print "<html>\n";
print "<head>\n";
print "<title>テスト</title>\n";
print "</head>\n";
print "<body bgcolor=\"#ffcccc\">\n";
print "テスト \n";
print "</body>\n";
print "</html>\n";
0595nobodyさん
03/05/17 00:34ID:VynWxd2Gデータの構成は一緒なんですが。
@date = @date[sort {$tmp1[$b] <=> $tmp1[$a] || $tmp2[$b] <=> $tmp2[$a] || $tmp3[$b] <=> $tmp3[$a] || $tmp4[$b] <=> $tmp4[$a]} 0 .. $#tmp1];
@date2 = @date2[sort {$tmp1[$b] <=> $tmp1[$a] || $tmp2[$b] <=> $tmp2[$a] || $tmp3[$b] <=> $tmp3[$a] || $tmp4[$b] <=> $tmp4[$a]} 0 .. $#tmp1];
これでは別々になってしまうし・・・
0597nobodyさん
03/05/17 00:41ID:???コーディングの話題はこちら
Perl 初心者コーナー Part23
http://pc2.2ch.net/test/read.cgi/php/1053051519/l50
0599598
03/05/17 00:45ID:???0600598
03/05/17 00:45ID:???0602594
03/05/17 00:54ID:6SNDWw+M何とかcgiが起動しました。
ようやくアクセスログも取得できてうれしいっす。
これからperlやcgiを弄繰り回すぞっと。
0603nobodyさん
03/05/17 06:51ID:???0604ホームページ作ったー
03/05/17 10:57ID:+purnoJY中でもグループ分け(男、女;20代、30代などのように)ができるといいのですけど、
何かいいやつ教えてもらえませんか?
0605nobodyさん
03/05/17 11:26ID:???スレ違い
こんなCGI探してますスレッド ver.9
http://pc2.2ch.net/test/read.cgi/php/1051456859/
0606test
03/05/17 15:05ID:ky8/5cjQ↑のサイトで配布されている更新情報ボードで質問ですが、
例えば、10個記事を書いたときにそのうちの1個を表示させたいのだが
URLにどの様な文字を打ち込めばなりますか?
0608nobodyさん
03/05/17 16:30ID:oD7yzjk5機能盛り沢山のゲームCGIを作るというのは無謀な事でしょうか。
0609nobodyさん
03/05/17 16:33ID:???0611nobodyさん
03/05/17 16:35ID:???始める前から出来るか出来ないか聞くような人はプログラミングに向いてない。
プログラマーは作ると決めたら出来ない予想図など浮かべない。(システム的に無理なのは別として)
0612動画直リン
03/05/17 17:08ID:w1ZjXwV80613nobodyさん
03/05/17 18:06ID:6eJYa860cgiのどの部分をいじればいいのでしょうか?
0614nobodyさん
03/05/17 18:09ID:???0615nobodyさん
03/05/17 21:02ID:???・全てのフリーで配布されているCGIに共通の改造方法があると考えている。
・HTMLの知識がないため、タイトルバーとやらの内容がどこで規定されているかわかっていない。
・CGIが、一般的にはHTMLを吐き出すプログラムのことだと言う知識がない。
まあ、要するに、カエレ!と。
0618nobodyさん
03/05/18 03:18ID:???どういうのを言うんですか?
0620nobodyさん
03/05/18 03:43ID:???別にCGIに限った話ではないけれども。
クロスサイトスクリプティング攻撃
バッファオーバーフロー攻撃
共用サーバーで自作スクリプトを置くくらいなら、この二つに対策すべきだろう。
後はアクセスログを自前で取って、攻撃を受けた後の建て直しを早くするとかな。
これも共用サーバーでやる場合の話だが。
■ このスレッドは過去ログ倉庫に格納されています