2

私の質問は2つの部分です。最初のものは私にとって最も重要です。

私は、行の定期的な挿入と削除、およびテーブル全体の作成と削除を必要とするWebサイトを開発しています。ただし、MySQLへのアカウントが1つしかない場合は、基本的に、データベースへの高レベルのアクセスを許可しています。そのため、当面のタスクに応じて、ユーザー権限を最小限に抑えたいと思います。たとえば、1つのアクションで行の挿入のみが必要な場合、そのためのアカウントが1つあります。これらの複数のアカウントの管理について、またはそれが実用的でさえあるかどうかについて、私は興味があります。

現在、phpでデータベース接続クラスを作成し、指定されたアカウントのユーザー名とパスワードを含むメインのクラス拡張を作成することを計画しています。

これは私の2番目の質問を懇願します。

このサイトのいくつかの議論と、デフォルトのアカウントを作成するか、ファイルをドキュメントルートの外に配置することを提案しているように見える他の議論を読みました。明らかに、複数のアカウントがあるため、デフォルトを作成することはできません。

基本的に、私はこれについて正しく行っていますか?

誰かがこの分野でより多くの経験を持っているならば、どんなフィードバックでもいただければ幸いです。

4

1 に答える 1

0

スクリプトが接続できるように、データベースのパスワードは、サーバーのどこかにある PHP ファイルに平文で記述されます。ページにエラーがない限り、Web リクエストを介して PHP ファイルのソースを確認することはできません。そのため、サーバーにログインしてソース ファイルを表示するすべての手段で強力なパスワードを使用するようにしてください。セキュリティを強化するために、PHP ファイルのファイル権限が所有者と apache プロセスのみが読み取り可能であることを確認してください。

次に、すべてのユーザー権限を持つ 1 つのユーザー アカウントが SQL サーバー上にあり、パスワードが 100 文字のランダムな文字で構成されている場合、そのパスワードは生涯にわたって総当たり攻撃されることはなく、パスワードを入力する必要はありません。これは PHP スクリプト内の 1 つの場所にあり、そのソース ファイルを保護する限り、1 つのアカウントだけで十分なセキュリティを確保できます。

于 2012-09-14T04:50:06.207 に答える