行いたいこと
SQLite3で作成した***.dbファイル**に外部からアクセスできなくしたい。
行ったことなど
Webでデータ集計などをしているのですが、
そのデータを一般ユーザが変更するときにパスワードやメールアドレスを入力し、
ログインを行ってから編集が可能になります。
そのパスワードやメールアドレスの参照を、SQLite + PHPで行っているのですが、
アドレス欄に「hoge.db」のように、ファイルパスを入力すると
普通にダウンロードができてしまいます。
流石にこれではまずいと、いろいろ対策を考えたのですが、
今私の知識では$ chmod 660 hoge.dbくらいしか思いつかず、
それをしてしまうと、そもそもにPHPなどからアクセスができなくなってします。
これはどのようにすれば良いのでしょうか?
対策法などご存じの方がいらっしゃいましたらご教授願います。
よろしくお願いいたします。
質問の本質とは異なるのでここに記載しますが、chmod 660 hoge.db を行ってPHP(webサーバプロセス)がアクセスできなくなるということは、hoge.db の owner設定を誤っているのではないでしょうか?
ご指摘ありがとうございます。
ぜひとも回答欄でお話させていただきたいと思いますが、
owner設定とはどのように行うのでしょうか?
ownerの変更はchownコマンドになります。///tanatさんの回答中にもあるとおり、PHPはapacheの権限(おそらくユーザ名はhttpdでしょうか)で動作します。chmod 660 hoge.db とした場合でも、hoge.dbのowner, groupメンバであればアクセスできます(権限が0なのはotherだけ。所有者グループメンバは6なので読み書き可能)。したがって、hoge.dbのowner(ls -lコマンドで見られます)が正しくhttpdユーザになっていれば、前述chmodコマンド後でもapache(PHP)からは特に問題なく参照できるはずです。
回答2件
あなたの回答
tips
プレビュー