CGI & SSI
1. 全般的事項

当サービスでは、基本的に自由にCGIおよびSSIをご利用いただけます。
これらをご利用いただくにあたっては、お客様のほうで基本的なCGIおよびSSIの知識をお持ちになっていることが前提となります。
ぜひ、あらかじめ基本的な解説書をお読みになられることをお勧めいたします。


2. インストラクション
  • CGIスクリプトを実行可能にするために、パーミッションは705又は755にしてください。ただし、スクリプトの作成者からパーミッションについて指定がある場合には、その指定に基づいて設定してください。
    (ただし、CGIスクリプトを実行可能とするためには、ファイルおよびディレクトリのパーミッションが「777」では機能しません。)
    なおパーミッションの変更については「パーミッションの設定」の項をお読みください。
  • CGIスクリプトを実行可能とするためには、拡張子を 「.cgi」 または 「.pl」としてください。
  • CGIスクリプトはかならずASCIIモード、またはTEXTモードで転送してください。
  • CGIスクリプトはcgi-binディレクトリ以外でも動作します。但し、エクステンション .pl の実行ファイルは、cgi-binディレクトリ内に置いて下さい。
  • セキュアサーバーを通して実行するには、CGIスクリプトはcgi-binディレクトリ内に置いてください。
  • cgi-binディレクトリ内に、htmlファイルや画像ファイルを置かないで下さい。
  • index.cgi は、各ディレクトリにおけるホーム・ページとなります。
  • CGIがうまく機能しない時は、SSH(telnet)でアクセスしてコマンド・ラインから実行してみてください。また、文法チェックのために「perl -cw scriptname.cgi」の様にしてみて下さい。
  • SSI使用時は呼び出すhtmlのファイル拡張子を「.shtml」としてください。
  • CGI、SSIは原則として自由にお使いいただけますが、極端にサーバーに負荷をかけるようなスクリプトはお断りすることがございますのであらかじめご了承ください。
  • サーバーに過負荷となるcgiスクリプトはやむなく停止することがあります。
  • 他のサーバーに迷惑をかけるようなcgiスクリプト(メールを無限送信するなど)を設置、実行することは絶対にしないでください。

3. 時間を扱うCGIスクリプトについて

BBSやアクセス解析など、多くのCGIスクリプトで時間を扱いますが、これらをそのままお使いになると表示される日時が米国時間となってしまいます。
これは、サーバーの時計が米国時間となっているためです。これを避けるためには、CGIスクリプトに若干の修正が必要となります。

時間を扱うCGIスクリプトでは、サーバー上の時計から時間を参照する以下のような記述があります。

($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time);

そこで、これをグリニッジ標準時を基準とした、次の設定にしておけばどこの国のどの地域のサーバーに置いても日本時間が取得されることになります。
(米国時間を基準にすると、夏時間と冬時間を考慮する必要があるため面倒です)

($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = gmtime(time + 9*60*60);


または、

$ENV{'TZ'} = "JST-9"; # 日本時間にする
use POSIX qw(strftime); # 日付をフォーマットする
my $datetime = strftime "%Y-%m-%d %X", localtime;

の様にして日本時間を得ます。

4. 留意点
  • cgiスクリプトは十分チェックの上実行してください。
  • サーバーに過負荷となるcgiスクリプトは、こちらで停止することがあります。
  • 他のサーバーに迷惑をかけるようなcgiスクリプト(メールを無限送信するなど)を設置、実行することは絶対にしないでください。

Back To Index

Copyright © レンタルサーバー W3Lab Co., Ltd. All rights reserved.