WEB相談室

Webページ作成に関しての何でも掲示板です。

タイトル:パッケージ変数を使用したとき、ファイルの中身を見せない方法

0:[投稿] 山田 [2005/11/22 16:55 ] [環境:IE Win perl Apache CGI]

お世話になります。質問させてください。

CGIのファイルを別個に用意し、メインのCGIからパッケージ変数を読み込んで使用しています。

▼設定ファイル(set.pm)の中身▼
pacage setFile;
use strict;
$setFile::script = './main.cgi';
        …
1;

これをメインのCGIからuse setFileで呼んでいるのですが、この設定ファイルの中身にはパスワードなどの情報も書かれています。
このファイルの中身をブラウザで表示させないことはできるでしょうか?
http://〜/set.pm とURLを打ち込んで表示させるとファイルの中身が丸見えなので、例えばForbiddenなどの画面を表示して、ファイルの中身を見えないようにしたいのです。
パーミッションを600でやってみましたが、そうするとInternal Server Errorが出てしまい、メインのCGIの設定ファイルを呼び出すところの記述がおかしい、というエラーが出ます。
パーミッションを644にすると正常に表示されるのですが、設定ファイルの中身が見えてしまいます。

何か方法はありますでしょうか?よろしくお願いいたします。


1:[回答] andi [2005/11/22 18:13 ][URL]

.htaccessで色々とできる気がします。
<Files set.pm>
deny from all
</Files>
とか。

余談ですが・・・

> pacage setFile;
> use strict;
> $setFile::script = './main.cgi';

折角パッケージ化したのであればもちっと独立性を高めた方が良いかと。


2:[回答] AC1号 [2005/11/22 23:25 ]

公開ディレクトリの外にモジュールを置いて、use libでそのモジュールのあるディレクトリを指定するのはどうでしょうか。


3:[関連] 山田 [2005/11/27 19:29 ]

andi様、AC1号様、ありがとうございます。

.htaccessを使う方法も、use libを使う方法もまったく考えていなかったので、とても勉強になり、中身を参照されませんでした。
ご回答ありがとうございました。

--
set.pmは、使用している方がその中の変数の値を変更するだけで管理できるようにと思って作成したものですが、独立性とは、オブジェクト指向のような考え方のことでしょうか?
(すみません、半端な知識ですが…)

回答(必須): 状態:

お名前(必須):

URL:




[戻る]