私はphpとmysqlを使用するウェブサイトを作成しています。私はすべてのmysqlアクセスデータを "config.ini"というiniファイルに保存します。このファイルは安全である必要があり、悪意のあるユーザーはmysqlアクセスデータにアクセスできません。 rootユーザーではないユーザー "www-data"が要求を拒否しているため、PHPがアクセスするときにPHPにアクセスしようとすると問題が発生します。もし私がこのコマンドを使って "www-data"へのアクセスを許せば、 Apacheが同じユーザを通してそれをアクセスするようPHPから読むときに.iniファイルを安全にする方法
sudo chown -R root:www-data config.ini
sudo chmod -R g+s config.ini
すべてのユーザがウェブサイトのアドレスを入力し、/config.iniでそれを見ることができ、安全ではありません。
PHPコード
$conf = parse_ini_file('config.ini');
$conn = mysqli_connect($conf["host"], $conf["user"], $conf["password"], $conf["database"]);
任意の提案を歓迎し、事前にあなたに感謝。
FULL ANSWER
1)ウェブルートの外にあるディレクトリの下に置きのconfig.ini。
2)このコマンドを使用して "www-data"を含むグループを作成します。
sudo chown root:www-data config.ini
3)このコマンドを使用して、読み取りにアクセス権を与えます。
sudo chmod 640 config.ini
4)通常はphpでアクセスしますが、../を使用すると新しい場所に移動します。
なぜ '.php'ファイルを使用しないのですか? – ops
ファイルをWebアクセスできないディレクトリに移動します。 – chris85
'.ini'ファイルは実際にはもう問題にはなりません。以前は、一般的な構成エディタが登場するという前提のもとでした。彼らは決してしなかった。 – mario