PHPでデータベースを使わずにデータ(管理設定、個人情報等)を保存しています。

その場合のセキュリティ的な注意点を教えて下さい。(出来れば参考URLも)

尚、以下の事は自覚していますので、その他の回答でお願いします。

・ファイル名や設置するディレクトリ名を、推測されにくい名称にする
・パーミッションを変更する
・拡張子を「.dat」など、ブラウザ上からアクセスできないものにする

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:
  • 終了:2009/01/15 12:48:04
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答3件)

id:kou32rr No.1

回答回数197ベストアンサー獲得回数8

ポイント27pt

htaccessでディレクトリ毎アクセスできないようにする。

<Files *>

Order Deny,Allow

Deny from all

</Files>

http://q.hatena.ne.jp/answer

id:pahoo No.2

回答回数5960ベストアンサー獲得回数633

ポイント27pt
  • Webサーバからアクセスできないフォルダに配置する。
  • データを暗号化する。
  • パスワードなど機密性が高いデータはsha1関数などでハッシュ化する。

PHPだけでなく、OSおよびWebサーバなどの使用ミドルウェア全般的なセキュリティ設計が必要です。

取っかかりとしては、下記サイトが参考になるでしょう。

id:yoneto164 No.3

回答回数813ベストアンサー獲得回数94

ポイント26pt

通常は .htaccess ファイルを設置して、

データファイルへのアクセスを制限します。

http://kazumich.com/index.php?ID=4540

http://www.salut.ne.jp/wmh/seminar/sc006/

  • id:k27w
    皆さん、回答ありがとうございます。
    お手軽間で言うと、.htaccessの制御が良いですね。

    パスワードは暗号化しているのですが、その他の個人情報についても検討してみます。
    回答ありがとうございました。
  • id:pahoo
    > お手軽間で言うと、.htaccessの制御が良いですね。

    これはリスクが高いです。(個人情報に対して“手軽”にされるのはいかがなものかと)

    運用上、誤って .htaccess を変更したり削除してしまうことがあります。また、http://www.itmedia.co.jp/enterprise/articles/0809/17/news024.htmlで紹介されているように、もっとも改竄対象にされやすいファイルでもあります。
    Apache の管理外のディレクトリに配置することを、強くお勧めします。
  • id:k27w
    ここでいう「手軽」というのは「素早くできる・時間がかからず出来る」であり、
    その他のセキュリティ面を疎かにすると言った意味ではありません。
    ディレクトリ管理の件は重々承知しておりますが、再度勉強します。
    コメントありがとうございました。

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません