2003/05/02(金) [n年前の日記]
#1 [pc][prog] zeus.cgiにおいて、timeの取得は正常動作してるようにみえる
Y氏が確認スクリプトを設置してくれた。thx。
◎ 予想が外れた :
結果を見てみたところ、$ENV{'TZ'} = "JST-9" の指定はたしかに反映されているらしく、日本時間が帰ってきている。となると昨日の自分の予想は外れた (;´Д`)
◎ 他に考えられるのは :
他にあり得るとすれば、タイムゾーン指定をせずにtime値を取得してしまってる部分があるとか、あるいはファイルのタイムスタンプを時間の比較処理に利用してるとか、そういう感じだろうか。それとも、もっと別のところに…と言っても、国内サーバに設置すると正常動作するのに、海外サーバに設置すると異常動作するとなれば、やはりタイムゾーン関係ぐらいしかないような気も。なんにせよ、ソースとにらめっこしないと。
◎ クッキー関連の処理でgmtime使うのは問題無しみたい :
昨日、疑問に思った、
_クッキー関連の処理でgmtimeを使う云々
は特に問題無し、ていうかそうするのが正解みたい。なるほど、勉強になったス。
◎ 自分も海外サーバに設置してみようかな :
この記事へのツッコミ
[ ツッコミを読む(2) | ツッコむ ]
以上です。
有料サイトだと広告バナーを張り付けるプログラムがありますが、
そいつが拡張子判断してて .html ファイルに自動的に広告バナー表示分の
ソースを書き足してたりする場合、 zeus.cgi が何かしら .html ファイルを
読み出し&上書きするような処理してると、その追加された
広告バナー表示分のソースが邪魔してる可能性。
該当の spaceports.com は URL を見る限り、 .html と .cgi ファイルでは
設置されてる場所が別々のようだ。
http://cgi-bin.spaceports.com/
すると相対パスで指定されてたりすると、プログラム上削除処理してても
実際に削除されるファイルは別の階層にあるので、実際には消されないとか。
うーむ、それぐらいかな。
なるほど、広告表示のプログラム動作による影響の可能性か…
たしかにそのあたり、サーバによって処理内容がマチマチだし、
中には強制的に、問答無用でガリガリと埋め込んじゃうのもあるだろうし、
無料サーバで動かす場合には、そのへんも考えておかないとアレですな…
でも今回は、それについては問題無いような気もします。
zeus.cgiが読んでるのは、ログファイル(txt)と、
自身にinclude(require?)してる、cgi 又は plファイルだけで、
幸い、htmlファイルを読んで何か処理するような仕様になってないようなので。
他に扱うファイル種類といっても、アップロードされた画像ファイルや
zip云々の、広告表示とは関係無いファイル種類しかないし。
ていうか。
今、Y氏の設置したzeus.cgiを表示してみて「あっ!」と思ったけど
そもそもあのzeus.cgiの画面、広告が一切表示されてないヨ!(爆)
すると、spaceportsって、
cgi中に自分で広告表示用の文を書き込むタイプのサーバ、ってことかな。
しかし…今の状態がもし見つかったら、速攻で削除されちゃうのでは…
有料で借りてるとかそういうオチならともかく…
もう一つの可能性…ファイルの格納場所が異なるかも、ってやつですが、
仮にそういう状態にあるとしたら、
こりゃもう私如きには対処のしようがないですわ… (;´Д`)
今のところ、件のcgiは、cgi-binの下位に利用するディレクトリを
作っておくような仕様(ありがち)ですが…
でもなぁ…仮に、実体となるディレクトリが別の場所にあるとしても、
そこへcgiから問題無くアクセス云々って、cgi側でどうこうする問題じゃなく、
Webサーバの設定でしておくべき事項のような気もしますな…
もしも、全く別の場所に入ってるファイルに対してもアクセスできるような
処理をcgiにさせるなら、いっそのこと、そもそも別サーバに対しても
処理が出来てしまうようなスクリプトを作るほうが色々と便利でしょうね。
…あー、なんだか以前、がんした氏からそういうスクリプトを
貰ってたような記憶も…たしかftpを使ってたんじゃなかったか…
なんにせよ、後者のように、
「ファイルの置かれてる環境」が不具合の原因になってそうな気もするんで、
そのへんも意識しながらソースを眺めてみますですよ。