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

CGIだけど、なんか質問ある? Part 8

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん02/09/22 23:15ID:???
CGIの運用に関する質問スレッドです。

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

※Perlのコーディングに関する質問は専用スレがありますのでそちらでお願いします。
  ↓
  Perl 初心者コーナー Part16
  http://pc.2ch.net/test/read.cgi/php/1032070299/l50

過去ログ・関連スレッドは >>2
0002nobodyさん02/09/22 23:16ID:???
■過去ログ
Part3 http://pc.2ch.net/test/read.cgi/php/988727833/
Part4 http://pc.2ch.net/php/kako/1000/10008/1000804655.html
Part5 http://pc.2ch.net/php/kako/1009/10093/1009331505.html
Part5.01 http://pc.2ch.net/php/kako/1015/10151/1015127347.html
Part6 http://pc.2ch.net/test/read.cgi/php/1019561283/
Part6(7) http://pc.2ch.net/test/read.cgi/php/1025930486/

■CGI以外のPerlに関する質問スレッド
Perl 初心者コーナー Part13
http://pc.2ch.net/test/read.cgi/php/1022731565/l50
CGIに依存しないPerlの話題一般
http://pc.2ch.net/test/read.cgi/php/991313362/l50

■関連スレ
【Perl,CGI】参考書籍
http://pc.2ch.net/test/read.cgi/php/988809842/l50
スクリプト改造工房 4
http://pc.2ch.net/test/read.cgi/php/1012839651/l50
こんなCGI探してますスレッド Ver6
http://pc.2ch.net/test/read.cgi/php/1021897804/l50
.htaccessの偉い人 Part3
http://pc.2ch.net/test/read.cgi/php/1019888234/l50
【スレッド】2ch型掲示板 その5【フロート型】
http://pc.2ch.net/test/read.cgi/php/1019414023/l50
0003nobodyさん02/09/22 23:33ID:???
Part3、HTML 化されてます。

http://pc.2ch.net/php/kako/988/988727833.html
0004#02/09/23 06:09ID:???
$ip = "602.198.31.55";   #つまり$ipはIPアドレスです。
としたとき、$ipは数値なのでしょうか?あるいは文字列なのでしょうか?
0005nobodyさん02/09/23 07:53ID:???
>>4
評価の文脈でどっちにでもなる。
数値演算してみれば、数値。
たとえば、文字置換してみれば、文字。
0006nobodyさん02/09/23 07:57ID:???
Perl の話題は別スレッド
0007nobodyさん02/09/23 10:23ID:???
>>6
あのよ、Perlだめ、phpだめ、Cだめ、rubyだめ・・・
ってなると具体的な質問が書けないんじゃあないか?
0008nobodyさん02/09/23 11:34ID:???
>>7
"CGIの運用"に関する質問スレッドです。
>>1嫁
0009nobodyさん02/09/23 11:43ID:???
>>8
婿った。
0010#02/09/23 13:26ID:???
ありがとう。1読んでなかった。
0011nobodyさん02/09/23 14:00ID:???
>>10
ついでに>>5に礼くらい言ったらどうなんだ。
0012nobodyさん02/09/23 14:52ID:???
どなたか質問にお答え頂けますでしょうか、、、
アクセス解析用CGIについてです。
サイトの引越しに伴い元のサーバにあったhtml、画像等のデータを削除しました。
しかしCGI用ディレクトリに関して削除をし忘れており
しばらく経ってその事に気付き何気なくこの解析CGIを表示してみたところ、
設置していたhtmlファイルを既に削除しているにもかかわらず
数件のアクセスが記録されていました。
リンク元は全ておなじサイトからでした。
その他「ブラウザ情報」「OS情報」「ホスト情報」等全ておなじで
同一人物のアクセスと思われます。
なぜ無い筈のページに対するアクセスが記録され続けているのか
とても気になります。

・リンク元のページは個人サイトのリンクページでした(知人ではない)。
・数ヶ月経った今でもアクセスが記録され続けています。
・ホスト情報とリンク元ページのURLを見る限り、アクセスしているのは
 そのサイトの管理者と思われます。

とても不気味なのですが、どういった原因が考えられますでしょうか?
素人のバカな質問かもしれませんが、お教え頂けると幸いです。
0013nobodyさん02/09/23 17:11ID:???
>>12
削除したはずのhtmlファイルにアクセスしているログが残るって事?
1) ないhtmlファイルに対するアクセスのerrorファイルが記録されている。
(てことは、そのアクセス解析CGIがタコだったってこと。)
2) CGIファイルに直接アクセスした結果、htmlファイルが生成され
それにアクセスしている。(それに気づかないなら設置者がアフォということ。)
いずれにせよ、その人はあなたのページがとてもお気に入りだったのでしょう。
0014nobodyさん02/09/23 18:05ID:???
>12
削除されたページがぐーぐるの検索に引っかかる可能性とかもあるかも?
0015#02/09/23 23:26ID:???
5さんありがとう!
0016nobodyさん02/09/23 23:53ID:???
ん?
Part7は無し?

安定板だから偶数なのかな?
0017nobodyさん02/09/24 00:20ID:???
>>12
キャッシュ(Googleのキャッシュなど)やミラーファイルが
アクセス解析CGIを呼び出しているだけさ。
つまり、どこかに誰かがファイルを保存しているのだろう。
0018nobodyさん02/09/24 02:56ID:QU/xJRxV
CGI超初心者です。 質問なんですが、
たとえばHTMLなら
<A href="./index.html/" target="_self">TOP
の記述をCGIで書くにはどうすればいいのでしょうか?
ちょっとDLしたCGIを改造したいんだけど、この
ターゲット属性の指定方法がわかんないんです。
アンダーバーがダメだとすると・・
つまらないことで申し訳ありませんが、誰かヨロシク教えて下され。
おねがいします。
0019nobodyさん02/09/24 03:00ID:???
print '<a href=\".\/index.html\/\" target=\"_self\">TOP<\/a>';
0020nobodyさん02/09/24 03:04ID:QU/xJRxV
>>19
ありがとうございます!!試してきます。
0021nobodyさん02/09/24 03:45ID:???
>>19
お金が好きなんだね…
0022nobodyさん02/09/24 05:16ID:???
ここは、面白いCommon Gateway Interfaceですね!
0023 ◆JAPH9PWA 02/09/24 08:01ID:???
>>16
Pert8っての見て思い出したけど
前スレは実はPert7相当だったんだよ
>>2参照
0024nobodyさん02/09/24 08:41ID:MwRTDDAb
データベースCGIで書き込み先をCSVファイルにしているんですが
どれぐらいの容量のデータまでなら問題ありませんか?
1MBあたりでも問題ありませんか?
0025nobodyさん02/09/24 10:14ID:???
>>18
index.htmlって名前のフォルダなのか?
00261202/09/24 11:14ID:???
>>13
レスありがとうございます。
そうなんです。削除したはずのTop pageへのアクセスが何ヶ月経っても
記録され続けているんです。
CGIがタコ、、、たぶんそれはないとおもうんですが、
かといってCGIファイルに直接アクセスの可能性もないようにおもえます。
リンク元のソースを調べた所ふつうにweb page(解析を設置していたpage)
へのリンクが貼られていましたし。
アドレス欄にCGIへのアドレスを入力して直接アクセスしたとすれば
リンク元情報は無しになりますよね、、、ふぅ、ワケが分かりませんわ。

>>14
レスありがとうございます。
それも考えてグーグルのキャッシュを調べたんですが
該当ページは既に最新のもの(引越しのお知らせ)がキャッシュされていました。
ここで予想がはずれて悩みはじめてしまったのです、、、
00271202/09/24 11:22ID:???
>>17
レスありがとうございます。
14さんへのお返事に書いた様にとりあえずグーグルは違うようでしたが、
やはりどこかに該当pegeが保存されていると考えるのがふつうですよね。
ただその場合引っ掛かるのがリンク元情報です。
リンク元のpegeからはふつうにわたしのサイトのtopへのリンクが
貼られているだけなので、、、
私の知識ではもう予想がつきません。
ああ、、、キモチワルイです〜。
0028nobodyさん02/09/24 11:30ID:???
リファラは偽装できることをお忘れなく。
00291202/09/24 12:56ID:???
>>28
ん、、、?わたしあてのレスですよね?ありがとうございます。
リファラの偽装、、、それも考えましたが初めの説明に書いた通り
ホスト情報とリンク元情報を見る限りアクセスしているのは
そのサイトの管理者の方だと思われます。
そしてホスト情報は某大学で、リンク元pageもURLを見る限り
その大学のサーバにあるようです。
このようにホスト、リンク元ともに実在の大学を騙った偽装も可能なのでしょうか?
さすがにそれは無いだろうとおもったのですが、、、。
わたしの知識不足なのかしら?
0030nobodyさん02/09/24 13:57ID:???
リファラなんてブラウザが送ってる情報なんだからいくらでも偽装できます。
0031nobodyさん02/09/24 14:26ID:???
>リンク元ともに実在の大学を騙った偽装も可能なのでしょうか?
充分可能。
大学は公開プロクシ持ってるとこもあるからその串通せばその大学の
ホスト名になる。
散々既出だがリンク元=リファラーは誰でも自由に設定出来る。
00321202/09/24 17:47ID:???
>>31
レスありがとうございます。
なるほど、公開プロクシなるものがあるのですかぁ。
偽装、、、うちのようなマイナーなサイト相手に
(そこまでする価値は無いでしょう????)というかんじで
現実的には考えにくい行動ですが、偽装だとすれば
私には想像つかない目的などがあるのでしょうね。
とにもかくにも色々なご意見を下さった皆さんに感謝します。
不気味だけれど気にせずにいこうと思います。
もし今後アクセスをはじいてしまったとしても、
偽装でなければ恐らくわたしのサイトが大好きであろう(W
その方に申しわけないですものね、、、。

レスしてくださった皆さんどうもありがとうございました。
0033教えて君02/09/24 22:46ID:j2/oZ1T9
Postメソッドで、アマゾンの本を検索させるために、
lwp-requestへzshのヒアドキュメントからstdinを入力し
てコマンドラインからの利用を図っていますが、うまくいきません。
どなたか助けてあげてください。


%lwp-request -o text -m POST http://www.amazon.co.jp/exec/obidos/search-handle-form |nkf -e <<END
pipe heredoc> index=books-jp\&search-type=quick-search\&field-keywords=perl+cgi
pipe heredoc> END

何でこれで駄目なのかな〜。
0034nobodyさん02/09/25 02:33ID:???
このスレでPart8になるのか・・・

誰か過去レスの有用なものやよくある質問とかまとめてるヤシはいるのか?
0035 02/09/26 01:07ID:???
すいません。他の板で板違いとのことでこちらに来ました。

内輪の掲示板なのでgoogle等検索にかからないようにしたいのですが、
cgiなどのファイルの場合、どうすればよいのでしょうか?
htmlならば、中に<META NAME="ROBOTS" CONTENT="NOINDEX, NOFOLLOW">
ですよね?cgiの入れる場所が分かりません。

どうかよろしくおねがいします。
0036nobodyさん02/09/26 01:44ID:???
>>35
CGIが出力するHTMLの先頭にそれいれたら?
0037nobodyさん02/09/26 06:56ID:???
>>35
googleは「***.cgi」で終わるリンクは拾いません。
…多分。検索しても出てこないはず。
ただし「***.cgi?mona」と"?"以降文字列が続いてる場合は拾っちゃう。
…多分。
00383502/09/27 00:32ID:???
ありがとです!!
個人情報とかは載せて無いけど内輪ネタけっこうあるので・・・
0039nobodyさん02/09/27 01:24ID:4WGpXppZ
お願いします。長くなります、すんません。
以前に作った掲示板CGIなんですが、アクセスすると単なるブラウザ
出力するところで、ダウンロードのダイアログが出てしまい、
表示を得られませんでした(DLするとソースを保存)。
家にあるマックでは表示されており、ウィンドウズMEで問題発生で、
WINの環境の問題かと思いOSからインストールしなおしたんですが、
解決せず、長い間放っていました。
先日、やっぱりPerlコードの問題かと思い、一行ずつ確認作業
していたところ、
print "Content-type: text/html; charset=euc-jp\n\n<!-- \xfd\xfe -->\n";
の直後でexitすると白紙が表示され、exitを削除(もとの状態に)したら
あっさり正常動作をはじめました。
結局、何が原因だったのかわかりません。
ご想像つく方いらっしゃいませんか。
0040nobodyさん02/09/27 01:34ID:???
おおかたContent-typeが間違っていたんだろう
0041nobodyさん02/09/27 01:40ID:???
>39
>直後でexitすると白紙が表示され

てあやしくないか?
content-type吐かずに終了したら普通エラーになるのでは?
0042hmk02/09/27 01:43ID:???
>>39
元のコードおよび環境が再現できませんので、回答ができません。
今動いているのだから、あきらめて、ティムポでもしごいて、今日は寝なさい。
0043nobodyさん02/09/27 01:55ID:???
>>40,>>42
コードは元のままのはずなんですが、あれ自身なくなってきたなあ。
どちらにしてもFAQでなとすれば僕に落ち度があったかも、です。
あきらめてティムポしごいて寝ます。

>>41
あれ?content-type吐いて終了したら白紙で正解ではないですか??
0044hmk02/09/27 02:02ID:???
白紙で正解だろ。
0045nobodyさん02/09/27 02:02ID:???
CGIってぼく知ってるよ。きみたちは知らないの?
0046nobodyさん02/09/27 02:12ID:???
>>45
( ´,_ゝ`)フーン
0047nobodyさん02/09/27 03:07ID:0EcR4zaK
今本で勉強してて、かなり初歩的な質問なんだけど、
文字列の一部を他の文字列に’置換’するには~s/ /
文字列の一部を他の文字列に’変換’するには~tr/ /
って書いてあるんだけど、置換と変換の違いがわからない…
0048nobodyさん02/09/27 03:11ID:???
>>47
初歩を勉強中だからかもしれないけど、それって実はCGIとは関係ないんだよね
0049nobodyさん02/09/27 03:38ID:???
>>47
perl専用スレが正解。


まぁしょうがないので、決定的な違いを説明してやろう。
aとbが無造作に並んでて入れ替えたいとする。

$aa = 'ababaaaabbbab';

$aa =~ s/a/b/;
$aa =~ s/b/a/;

が、こんなんじゃダメだ。全部aになっちまう。
そこで使え。tr。
以下略
0050nobodyさん02/09/27 03:41ID:???
↑gの修飾子書くの忘れた。
突っ込まれる前に自分で言っておく。
0051nobodyさん02/09/27 04:01ID:???
>>49
$aa =~ s/([ab])/($1 eq a) ? b : a/eg;
こうすりゃ行ける(w

まぁ、普通はtr使うが。
$aa =~ tr/ab/ba/;
0052nobodyさん02/09/27 04:43ID:???
>>49 >>51
何回か読んでみてわかってきました。
(最初な、なんか禅問答みたい〜と思った私は
馬鹿でしょうか…)

スレチガイにもかかわらずどうもです。
0053nobodyさん02/09/27 10:55ID:rF8ax8VN
gzip転送の構文ってContent-type書かないとダメなんですか?
0054nobodyさん02/09/27 12:17ID:???
>>53
もち
0055nobodyさん02/09/27 12:44ID:???
gzip転送の意味がよくわからないんですけど。
詳しく説明したページとかありませんかね。
サーバー側とクライアント側【ブラウザ】でどういうコードを書けばいいのかわかりません。
0056nobodyさん02/09/27 13:53ID:???
>>55
ブラウザも自作するんですか。
0057nobodyさん02/09/27 14:28ID:rF8ax8VN
>>55
これをPerlスクリプト内に追加

if($ENV{'HTTP_ACCEPT_ENCODING'}=~/gzip/ ){
 print "Content-type: text/html\n";
 print "Content-encoding: gzip\n\n";
 open (STDOUT, "| /bin/gzip -1 -c");
 }else{
 print "Content-type: text/html\n\n";
 }
0058nobodyさん02/09/27 15:18ID:???
掲示板のcgiを設置して、気に入らなかったので削除しようとしたら、
cgiが生成したフォルダとファイルが削除できなくなりました。
パーミッションを変えようとしても、Operation not permitted と出てしまいす。
なんとか削除できないでしょうか。。。
0059nobodyさん02/09/27 17:00ID:???
>>58
目的のファイルを削除するCGIプログラムを作って実行。
0060nobodyさん02/09/27 17:06ID:???
>>59
 Σ(; ・∀・)
0061nobodyさん02/09/27 17:37ID:rF8ax8VN
>>58
CGIファイルの中にchmodでファイルのパーミッションを
777に変換すればいいんでないの?
0062nobodyさん02/09/27 17:42ID:???
>>58
CGIファイルの中にchownでファイルのオーナーを
キミに変えればいいんでないの?
■ このスレッドは過去ログ倉庫に格納されています