0

すべての詳細(テーブル構造、データベース設計など)を非表示にします。どうすればいいですか、Googleで検索して、いくつかの情報を入手しました。

それから、config.inc.phpの内容を変更しました。

<?php

 /* Servers configuration */
 $i = 0;

 /* Server: localhost [1] */
 $i++;
 $cfg['Servers'][$i]['verbose'] = 'localhost';
 $cfg['Servers'][$i]['host'] = 'localhost';
 $cfg['Servers'][$i]['port'] = '';
 $cfg['Servers'][$i]['socket'] = '';
 $cfg['Servers'][$i]['connect_type'] = 'tcp';
 $cfg['Servers'][$i]['extension'] = 'mysqli';
 $cfg['Servers'][$i]['auth_type'] = 'config';
 $cfg['Servers'][$i]['user'] = 'root';
 $cfg['Servers'][$i]['password'] = '';
 $cfg['Servers'][$i]['AllowNoPassword'] = true;
 $cfg['Servers'][$i]['hide_db'] = 'information_schema';

 /* End of servers configuration */

 $cfg['DefaultLang'] = 'en-utf-8';
 $cfg['ServerDefault'] = 1;
 $cfg['UploadDir'] = '';
 $cfg['SaveDir'] = '';


/* rajk - for blobstreaming */
$cfg['Servers'][$i]['bs_garbage_threshold'] = 50;
$cfg['Servers'][$i]['bs_repository_threshold'] = '32M';   
$cfg['Servers'][$i]['bs_temp_blob_timeout'] = 600;
$cfg['Servers'][$i]['bs_temp_log_threshold'] = '32M';


?>

それでも、私が行くとき

http://localhost/phpmyadmin/index.php?db=mysql&token=df40bf81f38ce55621e179517c212d62  

私はすべての情報を見ることができます。

これに対する解決策はありますか?

4

2 に答える 2

2

すでに隠されています。それが利用できる理由は次のとおりです。

  • ルートパスワードがありません。
  • セッションからログアウトしていないため、セッション情報を含むCookieが検証され、情報(DB、テーブル)に自動的にリダイレクトされます。これは、更新するたびにログインしないようにするためです。

また、「allownopassword」エントリを確認してください。trueに設定されている場合、パスワードを持たないユーザーがログインできるようになります。falseに設定してみてください。

MySQLでrootパスワードを設定します(rootパスワード変数まで。phpファイルにパスワードを入れないことを強くお勧めします。)

MySQLサーバーにrootパスワードを設定したことがない場合、サーバーではパスワードなしでrootとして識別できます。ルートパスワードを作成するには、シェルに次のように入力します。

$ mysqladmin -u root password NEWPASSWORD



<?php

 /* Servers configuration */
 $i = 0;

 /* Server: localhost [1] */
 $i++;
 $cfg['Servers'][$i]['verbose'] = 'localhost';
 $cfg['Servers'][$i]['host'] = 'localhost';
 $cfg['Servers'][$i]['port'] = '';
 $cfg['Servers'][$i]['socket'] = '';
 $cfg['Servers'][$i]['connect_type'] = 'tcp';
 $cfg['Servers'][$i]['extension'] = 'mysqli';
 $cfg['Servers'][$i]['auth_type'] = 'config';
 $cfg['Servers'][$i]['user'] = 'root'; // If you're going to use ROOT for ALL WORK, set a root password and put it below.
 $cfg['Servers'][$i]['password'] = 'PASSWORD';
 $cfg['Servers'][$i]['AllowNoPassword'] = false; // False!
 $cfg['Servers'][$i]['hide_db'] = 'information_schema';

 /* End of servers configuration */

 $cfg['DefaultLang'] = 'en-utf-8';
 $cfg['ServerDefault'] = 1;
 $cfg['UploadDir'] = '';
 $cfg['SaveDir'] = '';


/* rajk - for blobstreaming */
$cfg['Servers'][$i]['bs_garbage_threshold'] = 50;
$cfg['Servers'][$i]['bs_repository_threshold'] = '32M';   
$cfg['Servers'][$i]['bs_temp_blob_timeout'] = 600;
$cfg['Servers'][$i]['bs_temp_log_threshold'] = '32M';


?>

ちなみに、configはphpMyAdminをパスワードで保護しません。正しいURLにアクセスする人は誰でも直接ログインし、サーバーを操作できます。

これを防ぐために.htaccessファイルを作成してください!

Order Deny,Allow
Deny from All
Allow from YourIPAddress
于 2013-02-10T01:07:16.727 に答える
0

config.inc.phpを編集します。

$cfg['Servers'][$i]['hide_db'] = '^information_schema|mysql|performance_schema|test$'; 
if(in_array($_GET['db'], array('information_schema', 'mysql', 'performance_schema', 'test'))) {
    exit;
}
于 2014-06-27T17:46:07.610 に答える