トップページ⇒php
982コメント345KB

△▲ WebProg 初心者の質問 Part11 ▼▽

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん04/11/28 18:58:29ID:???
2ちゃんねるは初めて。 WebProg 板は初めて。
質問したいけど、どうしたら良いか分からない。

そんなときは、ここに書き込んでください。
板の住人や、その他が、けなしながら、厳しく教えてくれるかも。

質問する前に、まずはここを読んでね。
【注意事項】
・質問する前にGoogleで検索してみましょう
http://www.google.co.jp/
・環境(ソフトウェアのバージョンなど)は、必ず書いてください。できるだけ詳しく。
 後から情報を書き足す、いわゆる情報の小出しは極力避けてください。
・何がしたくて、何ができて何ができないのかを書きましょう
・マルチポスト(複数のスレッドで質問する行為)は絶対に禁止です。
・過去ログは必ず読みましょう。あなたと同じ質問をしてる人がいるかも知れません。

2ch 総合ガイド
http://www.2ch.net/guide/

お願い。
適切な、板、スレ、を発見した場合、誘導してあげましょう。
スレの性質上 age 進行でお願いします。

関連情報は
>>2-3

前スレ
△▲ WebProg 初心者の質問 Part10 ▼▽
http://pc5.2ch.net/test/read.cgi/php/1095633323/
0102nobodyさん04/12/06 01:42:11ID:???
携帯端末は何が何でもSJIS送ってくるんじゃなかったっけな。
0103nobodyさん04/12/06 01:55:25ID:???
>>100
そりゃあんたが、SJISで送信し、SJISで処理し、SJISで出力するって環境だからだ。
convertの必要はない。
半角カナが化けるのは、convert(の内部で行ってるgetcode)が半角カナをsjisだと判定できないからだ。
getcode単独で呼んで見ろ。多分undef(判定不能)になる。
なので、ネット探してもうちょいマシなgetcodeを使って文字コード判定を行い、
convertに変換元の文字コードもちゃんと指定すれば良い。
0104nobodyさん04/12/06 02:10:02ID:OXb69TxY
ImageMagickで鯖上の画像に文字を入れて
ブラウザに表示するCGIを作りかけてたんだけど
「Content-Type ヘッダが正しくありません」ってエラーが出るのです。
どこで間違えてるのかわからんので
とりあえず画像を読み込んで表示するだけのスクリプト書いたんだけど
やっぱりContent-Typeのエラーが出ます…
すみませんが、違う目で見てはくれませんか。

#!/usr/bin/perl

use strict;
use Image::Magick;

my $image = Image::Magick->new;
my $file = "hyousyou.gif";

$image->Read($file);
$image->Emboss(radius=>2, sigma=>1);

print "Content-Type: image/gif\n\n";
binmode STDOUT;
$image->Write('gif:-');

undef $image;
exit;
0105nobodyさん04/12/06 02:11:34ID:OXb69TxY
エンボスかけてるのとgifなのは気にしない方向で…
01069804/12/06 03:02:58ID:???
>>99
すいませんお願いします。
0107nobodyさん04/12/06 11:29:27ID:???
>>106
jcode.pl を正しく使えば、半角カナも正しく処理できる。
その手元の本の言っていることも、正しく使った場合の話だろう。
ただ現実には正しく使えてないことが多いかもしれん。

jcode.pl には、getcode と言って、
文字列のコードが sjis か euc か jis かを判定する関数があるのだが、
半角カナを含む文字を食わせると、この関数が誤判定を起こす。

一方 jcode.pl の convert 関数は、第三引数を省略すると、
getcode を使って入力文字列のコードを判定して、その上で変換を行なう。
入力文字列に半角カナが交じっていると、判定をしくじるので、変換にも失敗する。

入力文字列のコードがわかっていれば、
それを convert の第三引数に指定することで、正しく変換できる。
まあ「わからないから jcode.pl を使う」というケースが多いとは思うけど。

誤判定の問題は jcode.pl の責任ではない。
半角カナを含む文字列のコードを100%正しく判定することは原理的に不可能。
半角カナ対応の改良版 jcode.pl も出回っているが、
それも常に正しく判定できるわけではなく、
「たいていの場合正しく判定できる」と言うのが正しい。

POSTデータの文字コードを判別したい場合、
半角カナを含まない文字列を form に hidden で埋め込んでおいて、
そちらを getcode で判定して、
というのがベストなやり方だと思う。
0108nobodyさん04/12/06 12:42:33ID:ZIRw4PTv
Winxp、メモ帳で作っています。
pealでカウンターを作ったのですが、これをimgタグで呼び出すには
どういったタグを使えば良いでしょうか?
初心者丸出しの質問ですみません。
0109nobodyさん04/12/06 12:44:11ID:???
>>108
自分で答え出してるじゃん
0110nobodyさん04/12/06 12:44:16ID:ZIRw4PTv
↓カウンターcgiです
#!/usr/local/bin/perl

$num=&getCount;
print "content-type:text/html\n\n";
print "<html><head><title>count.cgi</title></head><body>";
print "<center>";
print "訪問者数は<b>$num</b>人です";
print "</center>";
print "</body></html>";
exit;
#------------
sub getCount{
my($num);
open(FH,"+<count.txt")
|| open(FH,"+>count.txt");
flock(FH,2);
$num=<FH>;
chop($num);
$num++;
seek(FH,0,0);
print FH "$num\n";
flock(FH,8);
close(FH);
return $num;
}

やってみたタグは
<IMG SRC="count.cgi" WIDTH="1" HEIGHT="1" BORDER="0">
でしたが、できませんでした。
おねがいします。
0111nobodyさん04/12/06 12:48:35ID:???
HTMLじゃなくgifなりjpegなりで吐き出す。
0112nobodyさん04/12/06 12:50:53ID:???
IMG使ってるってことはカウンタで表示するのは画像か?
でも、Perlのソース見るとテキストのだよな。
テキストでカウンタを呼ぶんなら、CGIはJavascriptを出力して、
print <<"EOF";
<!--
document.write("$count");
//-->
EOF

HTMLでは
<SCRIPT type="text/javascript" src="http://www.hoge.com/counter.cgi"></SCRIPT>
と書いてCGIによって出力されたJavascriptを呼べばいける。
0113nobodyさん04/12/06 13:16:41ID:???
なんで誰もgetCountルーチンにつっこまないんだ?
01149804/12/06 18:03:10ID:???
>>107
分かりました。すごいです。
ありがとうございました。
0115nobodyさん04/12/06 22:49:06ID:???
>>107氏の
POSTに半角カナ以外の文字を入れて判別させる
方法をやりたいのですが、どのように書けばよいのか分かりません。

デコードは、&で切り、foreachさせた中でunpackし半角から全角にしています。
このままでは、判別用の文字はsjis、半角を入れた方はeucになってしまいます。 どう書けばいいですか?
0116nobodyさん04/12/06 23:23:44ID:???
getcode.plではだめ?
0117JAPU04/12/06 23:26:56ID:???
>>115

質問する際には,わかっていない状態で中途半端な説明をするよりも,1. どのような動作を意図して 2. どのようなコードを書いて 3. どのような結果になったか を書くと良いです。

>> 107 氏の方法は,多くのブラウザの実装ではフォームのすべての値が同じエンコード(文字コード)とすることを利用しています。

絶対に1バイトカナ(所謂半角カナ)を含まないダミー文字列を入れておくことで,
  ダミー文字列の文字コード判定 → その得られた文字コードはすべてに適用できる
とすることができるのです。
URIアンエスケープ(所謂デコード)処理された結果が %CGI に入っていると仮定して話をすすめると。

1. FORM には以下のタグを入れておく
<input type="hidden" name="_dummy" value="萌え">

2. Perl中で $CGI{_dummy} を利用して文字コードを判定させる。Jcode の getcode を利用しても良いし,
以下のようにバイト列と比較しても良し。
if($CGI{_dummy} eq "\xCB\xA8\xA4\xA8") {
$enc = "euc";
} elsif($CGI{_dummy} eq "\x96\x47\x82\xA6") {
$enc = "sjis";
} elsif($CGI{_dummy} =~ /\e\$/) {
$enc = "jis";
} elsif($CGI{_dummy} eq "\xE8\x90\x8C\xE3\x81\x88") {
$enc = "utf8";
} else {
$enc = undef;
}
0118nobodyさん04/12/07 01:58:03ID:nhrA0njE
もし板違いでしたらスミマセン。

画面のスクロールに追随する形で、画像も上下にスクロールさせる方法はありますでしょうか?
具体的には↓のトップに戻る▲画像のようにしたいのですが、ソースを見てもいまいち分かりません。
http://www.corum.jp/news/notice_list.asp?Gubun=1

お手数ですが、どなたかご教授お願いいたします。
0119nobodyさん04/12/07 02:03:54ID:???
>>118
ローカルルール
0120nobodyさん04/12/07 03:08:07ID:???
>>118
DHTML。Web製作板池。
0121nobodyさん04/12/07 08:52:18ID:???
なんか懐かしい人がきてるな
0122nobodyさん04/12/07 11:44:26ID:yCx6Q2sb
個人情報リストを格納する方法について考えてる者です。
モジュールのインスト等を行わずに使えるファイル格納方法で
何かお勧めの方法があったら教えてくださいまし。
私はハッシュ形式でぶち込むくらいしかわからないのので・・・。
0123nobodyさん04/12/07 11:57:17ID:???
現在localhostでCGIを組んでいるのですが、
これをサーバーに上げる場合、パーミッションをCGIは755、ログファイルとかは666などに設定しますが、
そのCGIが動作しているディレクトリのパーミッションというのはいくつにすればいいのでしょうか。
利用しているサーバーは@niftyのものなのですが、ディレクトリを作成すると勝手に755にパーミッションが変えられてしまいます。
CGIが動作するディレクトリのパーミッションは、どこのサーバーでも755にしておけば問題無いのでしょうか。
0124nobodyさん04/12/07 13:44:29ID:???
>>123
状況次第。
・CGI がどのユーザ権限で動くか (suExec など)
・グループが自分およびCGI実効ユーザを含むか
などによって違ってくる。

そのパーミッションが何を意味するのか全く理解しないまま
とにかくこうすれば大丈夫という「おまじない」的な設定を求める人は多いが、
そういう態度にはあまり感心できない。

例えばログファイルを 666 にするのははっきり言ってヤバ過ぎ。
しかし suExec してないサーバだと他に方法がないのでやむを得ずそうする。
そういうことを理解してないってのは、良くないと思うんだがなあ。
0125nobodyさん04/12/07 18:06:49ID:9m/DtIcc
>>124
>例えばログファイルを 666 にするのははっきり言ってヤバ過ぎ。

詳しくお願いします。
0126nobodyさん04/12/07 18:11:43ID:???
>にかくこうす

詳しく
0127nobodyさん04/12/07 18:33:48ID:???
リチャード・ドナーのオーメンを見ればすべて分かる
0128JAPU04/12/07 18:52:29ID:???
>>124 ではないけど,
「自分以外も読み書きできてしまうから。」
これ以外に言うことはあるかな?

一般論として述べれば,データがそのサーバ上にいる誰にでも読み書き出来てしまう (world readable, world writable) のは危険です。
よく分からない人はセキュリティ関係の本1冊読んで。プログラムを書くなら,本来その程度は知っておくべきなので。
0129nobodyさん04/12/07 19:21:34ID:???
606とか705にしても無駄なの?
0130nobodyさん04/12/07 19:25:35ID:???
>>129
状況次第。
・CGI がどのユーザ権限で動くか (suExec など)
・グループが自分およびCGI実効ユーザを含むか
などによって違ってくる。
0131nobodyさん04/12/07 19:41:34ID:???
suExecが入ってると意味ある?
0132nobodyさん04/12/07 21:47:52ID:y618Avxh
phpの変数について質問なのですが
URLに含まれる値をそのまま利用する場合(***.php?id=aaaなどです)

 $a = $_GET['id'];

とするとエラーになり、

 $a = $_GET[id];

とすると$aにaaaが代入されます。
エラーが出ず、思ったとおりの動きをしてくれるのですが
シングルクォーテーションがある場合とない場合の違いは何でしょうか。
0133nobodyさん04/12/07 21:59:15ID:bPzR9R/i
すいません、質問させてください。

ローカル環境でテストしてます。OSはWindowsXPです。
Webサーバがapacheでは正常に動作するのですが、
IISにするとtie関数でエラーになります。
何が悪いのでしょうか。

レンタルサーバがIISなので、IISで動作させたいのです。
以下が簡略化したプログラムの一部です。
4行目のtie関数でIISでのみエラーが発生します。

use SDBM_File;
use Fcntl;
my %DB;
tie(%DB,'SDBM_File' , "data" ,O_RDWR|O_CREAT, 0644) or die;
0134nobodyさん04/12/07 22:40:57ID:xwKFeRfz
ちょっとランキングとか一言掲示板みたいなものをphpで作らないといけなくなったんですが
やっぱり言語を1から学んだほうがいいですか?それとも必要な部分を学だけで充分ですか?
時間、期限はそれなりに余裕があります。
0135nobodyさん04/12/07 22:50:04ID:???
さぁ回答者の皆さん
私の釣りはどれでしょうww
0136nobodyさん04/12/07 22:58:25ID:???
>>133
何のエラーか知らんけど、大抵、IISでは相対パスはダメじゃない?
フルパスなり、レン鯖ならユーザディレクトリのトップからのパスを指定してみたら?
0137nobodyさん04/12/07 23:04:18ID:???
>>133
何のエラーが出てるかメッセージを表示させられないか?
die $! とかなんかそのへんで
0138nobodyさん04/12/07 23:09:30ID:???
多分、引数不正とかのエラーとみた。
原因は>>136あたり。
0139nobodyさん04/12/07 23:10:08ID:???
>>133
0644
でPermision Deniedに10カノッサ
0140nobodyさん04/12/07 23:11:31ID:???
エラーが出ないのでとりあえず強行します。
質問してしばらくしてリロードしたら答えもらえないなと思った…(´・ω・`)

とりあえず勉強中なのでいずれ分かるかもしれんです。
014113204/12/07 23:12:59ID:???
↑
すいません>>132です。
0142nobodyさん04/12/07 23:40:52ID:???
>>132
うちのやつだと、クォートしないとだめぽ。
バージョンは4.3.4。
0143nobodyさん04/12/07 23:43:47ID:s930U2tg
>>140
漏れもまだ始めたばかりだけど、そんなことばっかり。
とりあえず、思ったとおり動けばいいじゃん。
0144nobodyさん04/12/07 23:48:01ID:???
perlでも4ではハッシュキー指定する時はシングルクォート必須だった。
5から変わった。
そんなもんだ。
0145nobodyさん04/12/08 00:14:50ID:???
>>132
   〃∩ ∧_∧   定数と区別するために、
   ⊂⌒( ´・ω・)く 「連想配列の添字の前後は常に引用符で括る必要があります」
     `ヽ_っ⌒/⌒c とマニュアルに書いてあったでつ。
              別の場所に原因があるのかもね。
014613204/12/08 02:41:46ID:???
>>142>>144>>145
ありがとうございます。さっきからずーとやってるんですが分かりません。
ちなみにphp4.3.6です。

別のとこに原因…ですか。調べるのに1日かかりそうです…
0147nobodyさん04/12/08 02:45:22ID:???
調べるのマンドクセだから考えてくださいってか。
0148nobodyさん04/12/08 07:43:16ID:???
>>132
エラーの内容をなぜ書かないの
0149nobodyさん04/12/08 13:10:13ID:pdxf7oGj
133です。
フルパスにしたらエラーが出なくなりました。
レス頂いた方々、ありがとうございました。

勉強になりました。
0150nobodyさん04/12/08 13:41:31ID:???
crontabの使い方がわkりません。

プログラムに直接書けばいいのですか?
0151nobodyさん04/12/08 14:01:55ID:???
>>149
ていうかレンタルサーバ屋の説明書きにあるよ大抵(cgiでのファイルパスの設定上の注意)
0152nobodyさん04/12/08 14:14:37ID:???
>>150
Linux板へどうぞ
0153nobodyさん04/12/08 15:04:57ID:ZAvIRidH
初心者な質問ですが、
<a href="test.cgi?pass=$pass">TEST</a>
例えば、上記の様にHP上でリンクから値を引き回すとURLに
http://www.*****.com/cgi-bin/test.cgi?pass=***
の様に値が表示されてしまうのはどの様にして回避すればよいですか?
すべてsubmitボタンにしてhiddenにするわけにもいかないので。
0154nobodyさん04/12/08 15:12:06ID:???
>>153
Javascriptでいいじゃん
リンクをクリックすることでsubmitと同じことが出来るぞ
0155nobodyさん04/12/08 15:53:26ID:ZAvIRidH
>>154
回答ありがとうございます。
Javascriptでそんなやり方があるとは知りませんでした。
記述等詳細はJavascript板で聞いた方が良いですか?
0156nobodyさん04/12/08 15:58:12ID:???
そうだね。Javascript板なんて初めて聞いたけど
0157nobodyさん04/12/08 16:55:29ID:ZAvIRidH
>>156
上記の質問の記述と似たようなソースの説明があるサイト等をご存知ないでしょうか?
ググッてみたものの、良いサイトが見つからなかったので、
もし156氏が宜しければ教えてください。
0158nobodyさん04/12/08 17:02:57ID:???
Web制作で訊いてるくせに
0159nobodyさん04/12/08 17:14:36ID:ZAvIRidH
>>158
Javascript板で質問しました。
0160nobodyさん04/12/08 17:21:33ID:???
>>159
マルチすんなボケ!カエレ!!
0161nobodyさん04/12/08 17:40:38ID:ZAvIRidH
>>160
マルチするつもりではなかったのですが、
スレ違いなのでJavascript板でも聞いてしまいました。
すいませんでした。
0162nobodyさん04/12/08 18:25:12ID:???
文句言われたいからマルチしたんだろ?氏ね
0163nobodyさん04/12/08 19:06:33ID:ZAvIRidH
>>162
少しは落ち着いたらどうですか?
0164nobodyさん04/12/08 19:10:12ID:???
>>163
なんでまだ居るんですか?
0165nobodyさん04/12/08 20:11:22ID:???
>>163
しっしっ

ちなみにJavascript板のURLを教えてくれると助かる
0166nobodyさん04/12/08 22:59:19ID:+AeusHNj
>>154
オンクリックでjavascriptでごにょごにょしてポストするってことですよね?
0167nobodyさん04/12/09 00:16:54ID:DwO4pp5G
みなさんの一票をパペットマペットにおねがいします!!!

VIP  男前代表をパペットマペット1位にしちゃう パート3
http://ex7.2ch.net/test/read.cgi/news4vip/1102507871/
↑のスレにて只今日テレの不正スクリプトを暴くスーパーハカーを募集中!
0168nobodyさん04/12/09 00:22:48ID:???
.htaccessを許可しているサーバで、
phpの設定をいじろうと
php_flag magic_quotes_gpc off
と記述したのですが、いくらやっても500エラーが出てしまいます。

Options Includes ExecCGI等を記述などは利くので、
間違いなく.htaccessへの記述は有効なのですが、
php関係の設定のみ記述できないという可能性はありますか?

それともたんなる私の記述ミスなのでしょうか?
0169nobodyさん04/12/09 01:51:03ID:???
Jcode.pmをActivePerl5.8.1にインストールしたいんですが、ActivePerlでもできますか?
0170nobodyさん04/12/09 02:55:37ID:???
>>169
できる
0171名無しさん04/12/09 05:11:22ID:aEgBfSze
ttp://taisen.mycom.co.jp/taisen/taisen2.exe
をダウンロードして
ttp://taisen.mycom.co.jp/taisen/
ボタン”対局室に入る”
というようにwebページ上からゲームを起動するには
どうすればよいのでしょうか?

どんな技術が使われているのかわからないので
検索にも困ってます。

どうぞおしえてください。
0172nobodyさん04/12/09 05:35:22ID:???
>>169
Apache は設定できる項目を制限できるので PHP の設定を変更できない可能性はある。
.htaccess 許可してるならそのへんも許可してるとは思うが……
まぁそのへんはレンタル鯖の仕様を見れ。自宅鯖じゃないんだろ?
とりあえず Apache モジュールの PHP じゃなくて CGI 版の PHP だったらエラーになるだろうから確認しれ。

<IfModule mod_php4.c> ←PHP 5.x.x ならmod_php5.c な。
php_flag magic_quotes_gpc off
</IfModule>

これで 500 が出なければ CGI 版だろ。
017317204/12/09 05:35:49ID:???
>>169 じゃなくて >>168 だった。
0174nobodyさん04/12/09 17:43:12ID:HVrzYjrs
「ネットサービス@2ch掲示板」から誘導されて来ました。
最初の投稿は管理者だけができて、ゲストはレスのみができる、無料画像掲示板(公開日記)はありませんか?
よろしくお願いいたします。
0175nobodyさん04/12/09 17:44:50ID:???
>>174
板違いなので↓へ

【CGI】こんなCGI探してますver.15
http://pc5.2ch.net/test/read.cgi/hp/1097762828/
0176nobodyさん04/12/09 17:47:52ID:???
>>174
レンタルを探しているならぐぐったほうがいい
0177nobodyさん04/12/09 18:16:45ID:HVrzYjrs
>>175>>176ありがとうございます。
見つけました。http://www.kooss.com/diary/
0178nobodyさん04/12/12 14:43:07ID:k9kQIdnE
ある処理をして、その結果をクッキー出力してからHTML出力しなければなりません。
仕方がないので、HTML出力するものを文字列として$mojiに保存して、
クッキー出力後に、
print"$moji";
をしています。
結果としては正しい物が出力されるのですが、普通はこのようなやり方をするのでしょうか?
また、この方法だとprintf出力ができません。
何かいい方法は無いでしょうか。
0179nobodyさん04/12/12 14:56:12ID:???
>>178
エンコード/デコードの話は別として、
XSSの餌食になるからフツーはそんなことしない。
018017804/12/12 16:32:41ID:k9kQIdnE
えーと、ではどんな方法をするのでしょうか。
0181nobodyさん04/12/12 16:50:12ID:???
生HTMLなデータとしては渡さない。とか、
一時ファイルで保存しといてファイル渡しにするとか、
やりかたはいろいろ考えてみるよろし。
0182nobodyさん04/12/12 17:05:39ID:???
話の流れがよく分からない…。

サーバから渡すクッキーはレスポンスにヘッダとして
出力しないとダメだから、HTMLより先に出力する。

1.クッキーを作って出力。
2.HTMLを作って出力。

1.と2.を同時にこなす必要はないし、
間に別の処理を挟んでも構わないという話じゃないの?
018317804/12/12 17:17:18ID:k9kQIdnE
>>182
クッキーに出力の内容が、今回の処理の結果。
だから1よりも前に処理が必要ということです。
018418204/12/12 17:59:04ID:???
>>183
演算結果は変数に入れる。

通常、結果は一つのスカラー変数に収まらないから、
ハッシュに入れておいて、リファレンスで引き回す。
必要なら配列も使う。
人によっては、オブジェクト指向プログラミングで、
オブジェクトを引き回すかもしれない。

そして、HTMLを作る段階で、そのデータを使う。
…という話?

# あと、ム板とマルチポストしてんのね。
0185nobodyさん04/12/12 18:26:27ID:???
なんだ、糞マルチ野郎かよ。
放置放置。
0186nobodyさん04/12/12 18:48:11ID:???
携帯アプリとCGIを連携させて画像を出力するやつを作りたいと思ってるんですが、ローカルサーバーがうまく動きません。httpd以外に何かいるんですか?WIN98です
0187nobodyさん04/12/12 18:52:22ID:???
>>186
CGIの機能を果たすやつ。

> ローカルサーバーがうまく動きません
うちの今日の晩御飯もうまくなかったです。何を足せばいいですか?
0188nobodyさん04/12/12 21:46:05ID:???
>>187
その返しウマー
0189nobodyさん04/12/12 22:45:28ID:???
自演乙
0190nobodyさん04/12/13 00:47:48ID:???
最近、俺のちんこの味が変わったらしい(彼女談)。
いい気分じゃないんだが、何が変わったんだろう。
体質?
0191nobodyさん04/12/13 05:56:57ID:???
ユニークホストやvisit数をカウントするcgiのアルゴリズム上の質問です。
設定された時間後(例えば1日後)あるIPが再びカウント対象になる場合、
普通そのcgiはアクセス時にリアルタイムで新規かチェックするのですか?
それとも一旦環境変数を保存してアイドル時に新規かどうか調べるのですか?
厨房な質問で申し訳ありません。どなたかご存知の方、教えてください。
0192nobodyさん04/12/13 06:58:41ID:???
そこらに転がってるカウンタのCGIプログラムのソース見りゃわかんだろ。
0193nobodyさん04/12/13 09:07:01ID:???
>>192
わからないなら黙っていてください
0194nobodyさん04/12/13 13:16:16ID:???
CGIはコネクションレス。そして呼び出されなければ動かない。
0195nobodyさん04/12/13 16:34:13ID:???
>>194
確かに「アイドル時に新規かどうか調べる」のは仰る通りCGIではありません。
>>192
大抵の場合はアクセス時にリアルタイムでチェックしておりますよね。

そもそもなぜこのような質問をしたかと言うと、瞬間的な多くのアクセスを
CGIで裁ききれなくなる事はあるのかな、と不安に思ったからです。
もう少し具体的にいうと、単純なhtmlにせよ、phpにせよ、
CPU時間はリクエスト頻度にほぼ比例しそうですが、
比較対照のIPがアクセスと共に増大するため、
既存のIPかどうかのチェックは(下手なアルゴリズムを書いてしまうと)
リクエスト頻度の2乗にほぼ比例しそうですよね。
実際のところどういうアルゴリズムで書いているのか気になったのです。
0196nobodyさん04/12/13 16:54:32ID:???
ハッシュ(連想配列)を使えば、既存のIPかどうかのチェックは
それほどコストはかからないでしょ。
君の関心は、ハッシュのアルゴリズムにあるかと。
0197nobodyさん04/12/13 17:25:22ID:QbByJwYm
おっ、素晴らしいです。お陰さまで私の理解も問題の核心まで近づけました。
確かにそのとおりですね、ハッシュのアルゴリズムに全てがかかってそうです。
#連想の変数名はインデックス化しているのかなぁ、と思ってみたりして。

でも仰る通り、「それほどコストはかからない」なら問題ないのですね。
最近のコンピュータはなんだかんだいって意外に速いですからね。
#「それらが積もって問題が生ずる規模のサイト」は実在するだろうか……
0198nobodyさん04/12/13 20:01:39ID:???
どうでもいいが、>>197のようなしゃべり方をするやしは嫌いだ
0199nobodyさん04/12/13 21:05:00ID:???
じゃあ黙れ

ところでperlCGIを一から学べるユートピアHPはないかね?
0200nobodyさん04/12/13 21:09:04ID:???
うん、漏れも嫌い。
0201nobodyさん04/12/13 22:32:28ID:???
うん、俺もなんとなく嫌だ。
■ このスレッドは過去ログ倉庫に格納されています