CGI・SSIについて
一般に配布されているフリーCGIや、お客様が開発されたCGIを比較的自由にご利用いただけます。
各種プログラムのパス
Perl | /usr/bin/perl /usr/local/bin/perl |
---|---|
Ruby | /usr/bin/ruby |
Sendmail | /usr/sbin/sendmail |
gzip | /bin/gzip |
nkf | /usr/bin/nkf |
ImageMagick | /usr/bin/convert |
ホームディレクトリ
/home/アカウント名/public_html
アクセスログ保存ディレクトリ
/home/アカウント名/logs
パーミッションの推奨値
実行ファイル .cgi | 700 | 500 |
データファイル .log .dat など | 600 | 400 |
---|---|---|
HTMLや画像など | 604 | 404 |
ディレクトリ | 701 | 701 |
.htaccess ファイル | 604 | 404 |
設定ファイル .cgi .ini など | 600 | 400 |
- 左側の数値は一般的な設定です。右側の数値はセキュリティを重視した設定です。
FTPでの更新頻度が高いファイルや、データが書き込まれるファイルは左側の設定値をおすすめします。
更新されることのないファイルは、万一の改ざん被害を防ぐため、右側の設定値をおすすめします。
- スクリプトによっては、上記の推奨値で正常に動作しない事があります。開発元で推奨されているパーミッションをお試しください。
- パーミッション 777 や 666 は「誰でも書き込みを行える状態」になります。ファイルが改ざんされてしまう危険があります。十分ご注意ください。
suExec について
CGI、SSIは suExec により「ユーザー権限」で動作します。CGI実行、ファイル読み書きをユーザー(お客様)に限定することで、セキュリティーを重視し、安全に実行できます。
CGI(Perl)について
拡張子が .cgi になっているファイルでCGIを実行できます。
仕様について
- CGI専用ディレクトリ「cgi-bin」は不要です。どのディレクトリでも動作いたします。
- .htaccess での初期設定「+ExecCGI」は不要です。サーバー側で設定されています。
SSIについて
拡張子が .shtml になっているファイルでSSIを実行できます。
仕様について
- 上位ディレクトリのファイルは参照できません。同一ディレクトリ以下のファイルをご指定ください。
- 「#exec」「#flastmod」「#fsize」等では絶対パス(フルパス)を指定できません。
SSI実行例
- ファイルの最終更新日を表示
表示例:2024年12月10日23時15分
記述例:
<!--#config timefmt="%Y年%m月%d日%H時%M分" --><!--#flastmod file="./index.html" -->
- 「#config」で日付の表示形式「timefmt」を設定できます。
- 「#flastmod」で「./index.html」の最終更新日を表示します。
- ファイルのサイズを表示
表示例:5MB
記述例:
<!--#config sizefmt="abbrev" --><!--#fsize file="./photo.zip" -->B
- 「#config」でサイズ形式「sizefmt」を設定できます。「abbrev」と設定することで、適切な単位が自動的に選ばれます。
- 「#fsize」で「./photo.zip」のサイズを表示します。
ご注意事項
実行プロセスが常駐、処理に時間が掛かる、実行頻度が高いなど、サーバーに高い負荷が掛かっている場合は、実行の強制終了や、アクセス制限を実施させていただく事があります。
関連ページ
- よくあるご質問と回答「CGI SSIについて」
- オプションサービス「CGIエラー調査サービス」
- オプションサービス「CGI設置代行サービス」
- マニュアル「.htaccess アクセス制御」
- マニュアル「Movable Type」
- マニュアル「CafeNote」
- 禁止事項「CGI、PHPなどの制限」