CGIだけど、なんか質問ある?part4
■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん@お腹いっぱい。
01/09/18 18:17ID:plR9HC2Eprint<<HTML_END;
<a href="http://corn.2ch.net/test/read.cgi?bbs=php&key=988727833" target="_blank">旧スレ</a>
HTML_END
0268221
01/10/18 20:52ID:???最近ネット調子悪くて・・・(汗)
>>266
別の板?
・・は、ともかくとして、そんなの無謀としか思いませんけど。<自己改造
所詮厨房ですから(死亡)
>>267
設置自体ができない状態です。
Web用ファイルではなくて、CGIファイルのアップ自体ができない状態な
のです。・・・ほかのものが大丈夫ということは、つまり・・・・
「そんなもん使うな」ってことでしょうね・・。
・・・他いくのが吉かも。
ありがとうございました、逝ってきます。
0269$unknown
01/10/18 21:45ID:1KyR3Lr1ぁ(謎)
0270悲惨な294
01/10/18 22:12ID:???Cache-Control: no-cache
Pragma: no-cache
を付加するように修正してテストに付き合ってもらったんですけど、
やはりダメでした。
一応Proxomitronで確認してみたら、確かにレスポンスに上記二つの
ヘッダ付加されていましたが。
色々検索したみたんですが、IE5だと、レスポンスヘッダでキャッシュを
禁止しても、結局ローカルにキャッシュしてしまう(メモリキャッシュ?)
のか、うまくいきません。
0271悲惨な294
01/10/18 22:14ID:???した時に、マク+特定ブラウザの環境だと、同時にキャッシュからも
リクエスト発行しているのかなー・・・? 環境もないし、途中まで
調べたんですけど、よくわかりません。
とりあえず今後の対策としては、確実な方策として
・直前のログと比較して書き込み抑制
・POSTメソッドに変更
の二本立てで週末にでも取り組んでみたいと思います。
0272悲惨な294
01/10/18 22:22ID:???[HOWTO] Internet Explorer でキャッシュを無効にする
http://www.microsoft.com/japan/support/kb/articles/JP234/0/67.HTM
Hypertext Transfer Protocol -- HTTP/1.1(邦訳)
http://way.direct.ne.jp/HTTP/rfc2616_ja/rfc2616_ja.html
"Pragma: No-cache" タグを使用してもページがキャッシュされる。
http://www.microsoft.com/JAPAN/support/kb/articles/JP222/0/64.HTM?LN=JA&SD=S
週刊コンピュータネットワーク 50号
http://www.melma.com/mag/13/m00000213/a00000043.html
IEで、キャッシュを無効にするには?
http://tohoho.wakusei.ne.jp/lng/g200005/00050096.htm
0273名無しさん@お腹いっぱい。
01/10/19 12:50ID:0zjdPKGm拡張子を.logにしてもログファイルが見られない掲示板あるよね?
見れるようにするにはどうすればいいの?
0274名無しさん@お腹いっぱい。
01/10/19 12:55ID:???0275273
01/10/19 13:25ID:0zjdPKGm0276名無しさん@お腹いっぱい。
01/10/19 13:31ID:???管理人でもないのにログが見たいなんて、パスワードでも盗みたいの?
0277名無しさん@お腹いっぱい。
01/10/19 13:36ID:y4jf7d/d書き換えたいのですがエラーになってしまいます。
Win2000+IIS5で、CGIはC:\Inetpub\cgi-binにあるPerlスクリプト、
書き換えたいファイルはC:\Program Files\dummy\testにあります。
どの辺に問題があるのでしょうか?ご助言願います。
0278名無しさん@お腹いっぱい。
01/10/19 13:43ID:???先ずPerlとUNIX勉強しろ。最近はPCも廉いし2ndPC位楽勝でしょ。
それが嫌ならデュアルにでもしてみろ。
そうすれば、お前さんの質問の程度と結論位はすぐ分かるさ。
まだアレだったら答える余地も有るのに…なんだかね(藁
0279ちたん(ぴーたーぱそしょうこうぐん
01/10/19 14:16ID:???どうするの?
0280武彦 吉田
01/10/19 15:40ID:2hGpSWy80281名無しさん@お腹いっぱい。
01/10/19 15:44ID:???0282名無しさん@お腹いっぱい。
01/10/19 16:05ID:???意味がわからないのは俺がIIS知らないから?
PerlとUNIXがわかれば問題が解決するって、
IISってそういうもんなの??
0283名無しさん@お腹いっぱい。
01/10/19 17:43ID:???激しく話がかみ合ってません。
0284名無しさん@お腹いっぱい。
01/10/19 20:09ID:???0285名無しさん@お腹いっぱい。
01/10/19 20:21ID:???ありがちなパターン。
×$file = "C:\Program Files\dummy\test";
○$file = "C:\\Program Files\\dummy\\test";
○$file = 'C:\Program Files\dummy\test';
0286悲惨な294
01/10/19 20:54ID:UB1nBewHになっていた問題で、HTTPレスポンスヘッダに"Expires: -1"を追加することで、
IE,iCabで二重投稿が解消したとの報告を受けました(mozillaは解消せず)
しかし、更に改善のため、投稿にPOSTを使用するよう改造して試してみるつもり
っす。結果がでたらまた報告します。
0287名無しさん@お腹いっぱい。
01/10/19 21:12ID:OBTzMGjnなるほどぅ。やっぱキャッシュの問題なのか。
ローカルキャッシュにデータを残させない方法が
ブラウザごとにばらばらなのが諸悪の根源というか。
>>272の参考文献によると、IE5では
Cache-control: no-cache
Expires: -1
の2つを吐けばキャッシュされないんですよね。
IE4やネスケやmozillaだと、そのへんどうなってんの?
あとRFCではどう決められてるんでしたっけ。
0288名無しさん@お腹いっぱい。
01/10/19 21:44ID:O4d9Rk3ghttp://localhost/test.htmlから呼び出されたCGIなら
「c:\inetpub\wwwroot\test.html」のような
0289名無しさん@お腹いっぱい。
01/10/19 21:49ID:O4d9Rk3g書き換えたいのです
0290名無しさん@お腹いっぱい。
01/10/19 22:07ID:OBTzMGjnApacheなら$ENV{SCRIPT_FILENAME}見るのは?
0292名無しさん@お腹いっぱい。
01/10/19 22:21ID:???$_ = リファラ;
s#http://localhost/#c:\\inetpub\\wwwroot\\#;
s#~(\w+)/#home\\$1\\#;
とか。
0293悲惨な294
01/10/19 22:30ID:???当方では今のところレスポンスヘッダに
Expires: -1
Cache-control: no-cache
Pragma: no-cache
を含めています。ほんとはCache-control: no-cache,must-revalidateと
したほうがよいかも。
具体的なブラウザの振る舞いについては調査不足でわかりません。
(mozillaはソース読める人ならどうなってるのかわかるかも)
RFCではレスポンスがキャッシュ可能になるのは、
GETもPOSTも、適切なCache-controlかExpiresを指定された時のみ
である、と書いてありますね。しかしUser-Agentが、そのような
キャッシングメカニズムとは別のものを使うことは禁止していません。
(http://way.direct.ne.jp/HTTP/rfc2616_ja/sec13.html#sec13
参照)
つーわけで、根本的には、リクエストラインに投稿内容が入る
GETを使うからこういうトラブルに遭遇する可能性が高まるのかなー、
という気がしてきました。POSTにかえよ(しつこい)
0294名無しさん@お腹いっぱい。
01/10/19 22:33ID:???0296ちたん(ぴーたーぱそしょうこうぐん
01/10/20 00:32ID:???うんち
0297名無しさん@お腹いっぱい。
01/10/20 00:34ID:???0298名無しさん@お腹いっぱい。
01/10/20 00:37ID:???とりあえず氏ね。話はそれからだ。
0299ちたん(ぴーたーぱそしょうこうぐん
01/10/20 00:45ID:???ぜんぜんわからんけど>>297
>>298
なんだとぉ
あの世で俺にわび続けろ
298ーーーーーーーーーーッ!!!
0300ちたん(ぴーたーぱそしょうこうぐん
01/10/20 00:51ID:???0301名無しさん@お腹いっぱい。
01/10/20 00:57ID:???うざい。半角板に帰れ。
0302名無しさん@お腹いっぱい。
01/10/20 01:04ID:???0303ちたん(ぴーたーぱそしょうこうぐん
01/10/20 01:20ID:???ちげえええええええええええ!!!!!!
FFDQ板のだよ!!!!!!!!!!!
0304ちたん(ぴーたーぱそしょうこうぐん
01/10/20 01:21ID:???0305名無しさん@お腹いっぱい。
01/10/20 01:21ID:???0306名無しさん@お腹いっぱい。
01/10/20 01:24ID:???お絵かきってJavaアーカイブの奴だろ、アレにペイントの画像を貼り付ける?俺は全然解らん
0307名無しさん@お腹いっぱい。
01/10/20 03:19ID:???0308ちたん(ぴーたーぱそしょうこうぐん
01/10/20 05:57ID:???0309名無しさん@お腹いっぱい。
01/10/20 06:57ID:???規格は知らんが,自分で試してみた限りでは特に問題無かった。
>>279 >296 >308
使い方わからんのなら作者のとことかで聞きなよ。
掲示板ならともかく,アプレットは板違い。
0310名無しさん@お腹いっぱい。
01/10/20 10:06ID:???私は自分で解析してVBで貼り付けるソフト作ったYO!
0311悲惨な294
01/10/20 13:01ID:???投稿時のリクエストメソッドをGETからPOSTに変更したら
二重投稿が解消されたみたいです。やっと解決。
やはり素直にPOSTを使いましょう、ということでした。
0312ちたん(ぴーたーぱそしょうこうぐん
01/10/20 14:17ID:???うpしてくりぃぃ
0313ちたん(ぴーたーぱそしょうこうぐん
01/10/20 14:17ID:???オそーい遅い遅い遅い遅い!!速度もっと上げる方法無い?
0314名無しさん@お腹いっぱい。
01/10/20 14:25ID:???0315ちたん(ぴーたーぱそしょうこうぐん
01/10/20 14:33ID:???俺一応これでもWEB系の板には
1年前からいるってのにぃィィィ
0316名無しさん@お腹いっぱい。
01/10/20 14:39ID:???1年いるならわかるだろ。
カエレ
0317ちたん(ぴーたーぱそしょうこうぐん
01/10/20 14:51ID:???おせーて
0318a
01/10/20 15:17ID:CbOnzDxpうまくいきません。
open(LOG, ">>$logfile") || die "開けません.";
flock(LOG,2);
$log_all = <LOG>;
$log_all = $data;
print LOG "$log_all\n";
close(LOG);
flock(LOG,8);
print "$log_all";
これを実行すると$dataで入力された部分しか表示されません。
全部表示するにはどのようにすれば良いのでしょうか。
0319名無しさん@お腹いっぱい。
01/10/20 15:21ID:???初心者の俺が見てもおかしいのが分かる…。
$log_all = $data;
ってしてるんだから
print "$log_all";
で$dataが表示されるのも当たり前じゃないの?
0320319
01/10/20 15:26ID:???open(LOG, ">> $logfile") || die "開けません.";
flock(LOG,2);
print LOG "$data\n";
flock(LOG,8);
close(LOG);
open(READ,"< $logfile")
flock(READ, 2);
$log_all = <READ>;
flock(READ, 8);
close(READ);
print "$log_all";
識者の方々、どうでしょうか?
0321名無しさん@お腹いっぱい。
01/10/20 15:37ID:???一つだけ。
$log_all = <READ>;
では最初の行しか入らないよ。
@log_all = <READ>; と配列に入れるか。
undef $/; して置く必要がある。
あとは、
flock 解除する必要は無い、closeだけでいい。
読み込みモードで開いたんなら flock(READ, 1) で十分。
って感じかな。
前者については逆に解除するとまずい理由があるんだけどパス。
ただ、open2回は効率が悪い。
+< で開いてopen一回で済ませる方法も考えてみるといいかも。
0322318ではないですが
01/10/20 17:29ID:hnM1JpJWどうすればいいっすか?
0323名無しさん@お腹いっぱい。
01/10/20 17:35ID:???0324318ではないですが
01/10/20 17:43ID:hnM1JpJW0325名無しさん@お腹いっぱい。
01/10/20 17:53ID:???HTML化してるだけやん。見れたよ。
Perlなら,とほほに書いてあること一通り読んで。
0326319
01/10/20 18:01ID:???なるほど…。
というわけで、出直して参りました。
+<に関する情報が思いの外少なくて苦労しました。
ラマ本には載ってないし…。
open(LOG, "+< $logfile") || die "開けません.";
flock(LOG,2);
print LOG "$data\n";
@log_all = <LOG>;
close(LOG);
foreach(0 .. $#log_all){
print "$log_all[$_]\n";
}
ていうか俺は318じゃないのに良いんだろうか?(笑
0327名無しさん@お腹いっぱい。
01/10/20 18:49ID:???ん、その+<は試してから書いた?
あとforeachは
foreach (@log_all) { print "$_\n" }
だけでいいような。
0328gorn
01/10/20 18:59ID:m+yOgEsuそことは、ショッピングバスケット使っちゃいけない契約(体言止め)
負荷の問題らしいけど、あんまり掲示板と変わんないよね
それで、文句を言われてもBBSとMailとCountの複合技ですっと言い張れる感じに仕上がる
ショッピングシステムを思案中です
なんかいいアイディア無いですか?
あと、そこのサーバはLinuxなんですけど
MySQLがインストールされているんです
アナウンスされてないけど
勝手に使っていいんでしょうかね
0329319
01/10/20 19:45ID:???試したらドえらいことに…。
+>>、seekについては、とりあえず意味も分からず
ソースだけ盗んで動くようになりました。
これから勉強してみます。
foreachについては恥ずかしい限りです…。
$logfile = "log";
$data = "hogehoge";
open(LOG, "+>> $logfile");
print LOG "$data\n";
seek(LOG,0,0);
@log_all = <LOG>;
close(LOG);
foreach(@log_all){
print "$_\n";
}
ていうか、スレ違い気味なので今回のは終了にします。
続きがあったらPerl初心者スレでやります。
ありがとうございました。
>>318
なんか横取りみたいでスマソ。
0330悲惨な294
01/10/20 21:42ID:???されました。
PocketIEはレスポンスヘッダに不可した
Refresh; n,URL=ほげほげ
を解釈できないかもしれないです。iPAQユーザから「全くリロード
しなくなった」と報告をうけました。つーことは<META>タグで
埋め込んでやらないと自動リロードしないのかー。
0331悲惨な294
01/10/20 21:42ID:???0332名無しさん@お腹いっぱい。
01/10/21 00:22ID:???頑張ってくれ。うちはIE4以降onWIN以外無視だからなあ。。
0333名無しさん@お腹いっぱい。
01/10/21 02:11ID:FKLL3OSG僕もCGIというのをおぼえようとおもっているのですが
自作のCGiをおける大手プロバイダでおすすめはどこになりますか
ホントはADSLに変えたいのですが高いです
スレちがいですか プロバイダ板はyahoo関係に占領されてたのですが。。。
ちなみにいまはdionのこみこみ20じかんこーすでmacOS9.02です
りゅうこうはPHPをおぼえればイケイケらしいのですが
大手プロバイダでのサポートは少ないらしく
またいかんせんmacOSXでないとダメだそうです
webでざいなーを目指す第いっぽなので
どうかよろしくおねがいします。。。
0334名無しさん@お腹いっぱい。
01/10/21 02:32ID:???とりあえず適当な本買って、基礎知識手に入れてからにしな。
あと、デザイナー目指すならデザイン勉強したほうがいいよ。
0335333
01/10/21 03:57ID:gzw1ipZQ企業はデザインだけ出来る人よりも、オールマイティーな人材を求めている
と聞いたので、サーバーサイドの基礎知識を少し身に付けたいのです。
デザインはflashやdreamweaverなどで
コードはhtml、javascriptなんかをやりだしたくらいなのですが
CGIのアクセスログなんかを自分で創りたくてウズウズしてます。
だって、そっちの方が面白そうだもの。
自分はどちらかというと面白そうなことなら、まず、実際にやりながら、
参考書片手に勉強というのでなければ続かないたちなので
とりあえず簡単に自作のCGIを動かせる大手プロバイダで
「動いた!」という感動を向上心につなげようと思ってます。
でも、本屋に売ってる本で具体的に初心者におすすめのプロバイダとか
そういう話は当然のってないんですよね。
かなりスレ違いのような気もするので、簡単に
「僕くらいなら当面biglobeで十分ですか?」
「大手のADSLサービスで自作CGIオーケーなとこってあるんですか?」
今はレンタルサーバーとかは考えてません
下の方の質問はここでするのはかなり勇気入りましたです。
とりあえず、上だけでもよろしくお願いします。
0336名無しさん@お腹いっぱい。
01/10/21 04:08ID:???とりあえず、自分のPCで動かしてみれば?
0337名無しさん@お腹いっぱい。
01/10/21 04:10ID:???http://127.0.0.1/
0338名無しさん@お腹いっぱい。
01/10/21 04:21ID:???君はこうしてネットに繋げてる訳だろ?
取り合えずJavaとperlはネットに吐き気がする位ドキュメントが転がってる
まずはGoogleに行きなさい、分からない事が有ったらGoogleにキーワードを入れるだけで
関数一つに至るまで、これでもかという位ヒットする、しかもその結果は重み順に並べられている
ここで聞くといつ答えが有るか解らんだろ?、Googleに行けば1秒で望みのWebがヒットする
馬鹿にされることも無いし、ヒットしたWebは他の目的でもとても有用な事が多い
試しに「無料」「サーバー」「cgi」で検索してみてくれ。
0339名無しさん@お腹いっぱい。
01/10/21 05:11ID:???>オールマイティーな人材を求めていると聞いたので
聞いた?君はそれを確かめたの?
本当に企業はオールマイティーな人材を求めているの?
実際分業が進んでるところでは、デザイナーには
完全にデザインしかやらせないとこもあるんだよ。
入社したい企業があるのなら、そこに直接電話して
「将来お前のところで働きたいんだけど、どんなデザイナーほしい?」
ぐらい訊く根性見せてくれよ。
ま、Webデザイナーにサーバーサイドの知識があったらあったで
便利なんで適当に勉強してくれや。確かに面白いし。
ただし、器用貧乏にならないようにな。
勉強する程度ならbiglobe(あれdionじゃないの?)でも十分だ。
とにかく、自分で判断・確認しなよ。
他人の言うことを鵜呑みにするな。俺の言うこともな。
0340名無しさん@お腹いっぱい。
01/10/21 08:16ID:???例えばform multi/part で1MBのファイルをアップロードしたとすると
ファイルが完全にアップロードされてから、STDINとApacheとのストリームが結びつく
んでしょうか。それともバッファ分に分割されて順次STDINに入ってくるんでしょうか
後、どこかでpostメソッドの上限は128kbと書かれてたんですが、これはmulti/partの
場合には当て嵌まりませんか? 下らない事ですが、FTPと比べてメモリを大量に消費する
様なら良くないかと気になってしまって、、
0341333
01/10/21 09:44ID:WcdX3zQj助言ありがとうございます。
とりあえず、自作CGIオーケーのbiglobeにでものりかえて実際に勉強しようと
思います。
>ただし、器用貧乏にならないようにな。
あぁ、たしかにそういうこともありがちかもしれませんねぇ。
よく、覚えておきたいです。みなさんありがとうございました。
0342名無しさん@お腹いっぱい。
01/10/21 18:00ID:???open(FH, "$logfile");
@log = <FH>;
foreach $all (@log) {
print $all;
}
close(IN);
とうのを作ったのですがブラウザ上に表示するにはどうすればいいのでしょうか?
0343名無しさん@お腹いっぱい。
01/10/21 18:08ID:???close(FH);
0344名無しさん@お腹いっぱい。
01/10/21 19:22ID:???どこにprint "Content-type: text/html\n\n";を入れるんですか?
0345名無しさん@お腹いっぱい。
01/10/21 19:26ID:???http://tohoho.wakusei.ne.jp/www.htm
まずここで基本から勉強して来た方がいいよ。
http://tohoho.wakusei.ne.jp/wwwcgi6.htm
ここにはWinでCGIのテストをする方法も載ってる。
くれぐれもWebサーバー上でテストはしないでくれ。
0346名無しさん@お腹いっぱい。
01/10/21 19:27ID:???0347名無しさん@お腹いっぱい。
01/10/21 19:27ID:???0348名無しさん@お腹いっぱい。
01/10/23 01:24ID:???何をよ?
0349名無しさん@お腹いっぱい。
01/10/24 03:04ID:K36o4fv/後ちょっとのところで出来ません
スレにつき一個のログ作ってますんで
openしたらあとはそれを並び替えるて書き込むだけなんですが
ちゃんと並んでくれません(書き込み時に並べる方針をとってます)
ログにはその記事のナンバーと返信元のナンバーなどが記録されています
どうか教えてください
0350名無しさん@お腹いっぱい。
01/10/24 03:19ID:???@ary = (0..20);
@ary1 = sort {$a <=> $b} @ary;
@ary2 = sort @ary;
@ary1と@ary2の違いはわかってるよな?
0351名無しさん@お腹いっぱい。
01/10/24 17:33ID:uoazam2k客が言葉を教えられるような
人口無能チャットありませんか?
0352名無しさん@お腹いっぱい。
01/10/24 17:37ID:???0353名無しさん@お腹いっぱい。
01/10/24 17:40ID:???板違いだよ
探してくくれる板に行け
0354名無しさん@お腹いっぱい。
01/10/24 17:47ID:???スレ違いだろ
0355名無しさん@お腹いっぱい。
01/10/26 00:39ID:6VKZEJwrHTMLが間違っているのかと思い、NNで保存して、それを
読ませると問題ありません。
試しに
print "Content-Type: text/html\n\n";
print "<html><head></head><body>\n";
print "ほえほえ\n";
だけやってみました EUC、SJISどちらも化けます。
どうも昔から NNは CGIの出力だと化けるように思えるのですが…。
0356名無しさん@お腹いっぱい。
01/10/26 00:47ID:???METAタグで文字コードを指定したら?
0357名無しさん@お腹いっぱい。
01/10/26 00:49ID:???下のやりかたで出来そうなんですが、あまりきれいじゃないので・・・。
open(IN, $datafile);
my @alldata = <IN>;
close(IN);
unshift(@alldata, $newdata);
open(OUT, ">$datafile");
foreach(@alldata){print OUT;}
close(OUT);
0358名無しさん@お腹いっぱい。
01/10/26 00:51ID:6VKZEJwrもちろんそれも試しました。
<!DOCTYPE HTML PUBLIC "-//W3C/DTD HTML 4.01//EN">
<META HTTP-EQUIV=Content-Type CONTENT=text/html; charset=Shift_JIS>
ブラウザでキャラセット変更してもダメなのです。(TДT)
0359名無しさん@お腹いっぱい。
01/10/26 00:54ID:???追記保存にしてreverseするってのが一般的かな?
0360名無しさん@お腹いっぱい。
01/10/26 02:23ID:wndpF29s使ってるサーバどこ
0361名無しさん@お腹いっぱい。
01/10/26 08:49ID:???print "Content-Type: text/html; charset=Shift_JIS\n\n";
0362名無しさん@お腹いっぱい。
01/10/26 08:51ID:???print OUT @alldata;
foreach する必要なし。
0363教えてください
01/10/26 19:13ID:lq1ms3Dtフォーム中のテキストフィールドにパスワードを入力して、それを
CGIプログラムに渡す時、"/cgi-bin/login.cgi&passwd=xxx"が
ブラウザのアドレスに出てきてしまいますよね。
この"passwd=xxx"の部分を、なんとか隠す方法ってないもんでしょうか?
初歩的な質問で、ホントにすみませんが、よろしくお願いします。
0364名無しさん@お腹いっぱい。
01/10/26 19:18ID:???"form メソッド post"で検索してみましょう。
0365どうも!
01/10/26 19:44ID:lq1ms3Dt0366名無しさん@お腹いっぱい。
01/10/27 18:36ID:???0367質問させて
01/10/27 21:03ID:7BskCaCJすると、途中で他サイトのページにいっても、そのIDとパスワードを
保持してますよねえ。これって、どんなテクニックを使ってるのだろ?
■ このスレッドは過去ログ倉庫に格納されています