phpmyAdminのMySQLユーザーからテーブルを隠すことはできますか?

StackOverflow https://stackoverflow.com/questions/2435412

  •  19-09-2019
  •  | 
  •  

質問

MySQLユーザーがデータベースに追加されており、特定のテーブルの表示を防ぎたいと思います。

DropやAlterなどのステートメントを実行しないようにすることにより、MySQLを通じて彼らの特権を制限できます。しかし、PHPMyAdminで特定のテーブルを表示できないようにすることは可能ですか?

これを制御するMySQL特権がなければ(私は想像しないでしょう)、これを許可するphpMyAdminに構成がありますか?

ここでの回避策は、追加されていない新しいデータベースにテーブルを移動することです。これは私のアプリケーションのオプションではありません。

役に立ちましたか?

解決

テーブルを別のデータベースに移動し、ユーザーアカウントに1つのデータベースのみにパブリックテーブルにアクセスするように制限できます。 phpmyAdminを変更しようとするのは大きな間違いです。ユーザーは、テーブルにアクセスするためにカスタムクエリを書くだけで、死んだ単純なハックです。

これはデータベース側で行う必要があります。そうしないと、まったく意味がありません。 se-postgresql 私が知っている唯一のプロジェクトであり、テーブルによるテーブルを許可します。これがこれを行うことができる唯一のデータベースです とても この機能が必要な人はほとんどいません。

他のヒント

はい、phpmyadminで特定のデータベースを非表示にすることができます。
それを行うために、ただ開いてください config.inc.php あなたの中で phpmyadmin Webサーバールートのディレクトリまたは配置されている場所。または検索します config.inc.php
隠したい場合 Information_schemamysql 後にこの行を追加します:

$cfg['Servers'][$i]['extension'] = 'mysql';
$cfg['Servers'][$i]['hide_db'] = '^information_schema|mysql$';

これです。

PhpMyAdminは、特定のMySQLユーザーとしてデータベースに接続します。そのユーザーに指定されたテーブルにアクセス許可がない場合、PHPMyAdminユーザーはそれにアクセスできません。それが当てはまるでしょう 全て もちろんmypmyadminユーザー。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top