私はデータベース管理システムについて考えていますが、私の質問は簡単です:PHPのデータベース権限を取得しますか?
PHPコードでアクセス権(書き込み、読み取り専用など)を取得する簡単で信頼性の高い方法はありますか?
私はまだコードを書いていませんが、これは私の心の中にあります。これはちょうど私がいくつかのテーブルを構成するのに役立ちます。
私はデータベース管理システムについて考えていますが、私の質問は簡単です:PHPのデータベース権限を取得しますか?
PHPコードでアクセス権(書き込み、読み取り専用など)を取得する簡単で信頼性の高い方法はありますか?
私はまだコードを書いていませんが、これは私の心の中にあります。これはちょうど私がいくつかのテーブルを構成するのに役立ちます。
すべてのデータベース権限は、デフォルトのmysqlデータベース:information_schema
に保存されています。このテーブルのエントリを表示する権限を持つMySQLユーザーを作成し、PHPスクリプトから接続するときにこのユーザーのログイン資格情報を使用するだけです。さまざまな権限テーブル(DBレベル、テーブルレベル、および列レベルの権限を含む)から取得権限を取得して、ユーザーの権利を報告することができます。何かのように:
SELECT * FROM`information_schema`.`user_privileges` WHERE`grantee` LIKE"'user'%";
このクエリを実行したら、PHPで好きなように結果をフォーマットすることができます。
ありがとう、私はこの表を扱います。私は本当にそれを深く見たことはありませんでした。 –
http://dev.mysql.com/doc/refman/5.0/ja/show-privileges.html – ZiTAL
http://dev.mysql.com/doc/refman/5.0/ja/show-grants.html – vascowhite
ありがとう@vascowhite、私はちょうど 'GRANT ALL PRIVILEGES ON *。* TO 'root' @ 'localhost' IDENTIFIED BY ... 'のような結果を与えて、いくつかの文字列を解析する必要がありますが、それに対処することができます;) –