ホームページ php教程 php手册 Linux システムでの PhpMyAdmin ディレクトリのセキュリティ管理

Linux システムでの PhpMyAdmin ディレクトリのセキュリティ管理

Jun 21, 2016 am 09:01 AM
apache htpasswd nbsp phpmyadmin web

Linux下开发Web程序,现在很流行的开发方法为:用PHP开发Web程序,用Apache做Web Server,Mysql充当后台管理数据库。这种组合使得开发Web程序简单、安全、效率高。由于程序是在Linux下运行,虽免去了版权费用,对数据库的管理却少了Windows下的图形界面管理工具,因此使用起来有点困难。现在有了一套由php开发爱好者写的管理Linux下数据库的程序, phpMyAdmin可极好的解决使用的易用性问题。PhpMyAdmin对管理Linux下的数据库行之有效,用户可以通过web浏览器新建删除数据库,增加、删除、修改表结构和表数据,还可以通过表单形式提交查询语句,返回数据结果。因此,现在很多的Linux服务器都使用phpMyAdmin管理数据库。

  PhpMyAdmin是一套放在服务器端的通过浏览器界面管理的程序,因此,确保其目录安全性十分重要,否则,将导致数据被盗取甚至遭到恶意破坏。下面将详细讲述一般的防范措施。

  一、 修改phpMyAdmin目录名:

  在不修改目录名前,其他人很容易洞察该目录名,造成安全隐患。如,假设一台Linux主机的域名为:www.test.com,那么不修改目录名的情况下,在地址栏中输入:www.test.com/phpMyAdmin/ 就将进入phpMyAdmin管理程序。因此如果将phpMyAdmin目录改名为一个别人不易知道的目录,如mynameadmin,这样,你在管理自己的数据库时,只要键入:www.test.com/mynameadmin/ 就可以通过浏览器管理数据库了。(注:下面仍将使用phpMyAdmin目录名,如果目录名已换,只需把phpMyAdmin改名为新的目录名即可。)

  二、 对phpMyAdmin目录加用户身份验证:

  这是很多网站需要用户验证时普遍使用的方法,这样当用户第一次浏览进入该目录时,都将出现一个提示窗口,提示用户输入用户名和密码验证,其是通过使用Apache Server的标准 mod_auth模块实现的,具体操作方法如下:

  1、VI编辑Apache Server配置文件,确保文件中如下两句话没有加注释,如果这两句话前有"#"符号,去掉"#"号。 DocumentRoot /data/web/apache/public/htdocs

  AccessFileName . htaccess

  AllOerride All

  2、passwd程序创建用户文件: htpasswd - c /data/web/apache/secrects/.htpasswd 88998

  其中,-c表示选项告诉htpasswd你想生成一个新的用户文件,/data/web/apache/secrects/ 是你想存放 .htpasswd 文件的目录,文件名称为 .htpasswd,88998 是在验证时所用到的用户名,敲如以上命令后,系统提示你输入密码,这个密码就是验证时所需要用到的密码,该密码在 .htpasswd 文件中是加密的。现在用more来查看 /data/web/apache/secrects/.htpasswd文件,可以看到其中有一行用户名和一串加密密码。

  3、创建 .htaccess 文件:

  使用文本编辑器,在目录 phpMyAdmin (如果已经改名,就是新的目录名)下创建 .htaccess 文件,在文件中加入如下语句: AuthName "用户验证"

  AuthType Basic
  AuthUserFile /data/web/apache/public/htdocs/phpMyAdmin/.htpasswd
  require user 88998

  保存所做操作后,再去看phpMyAdmin目录,将提示验证窗口,输入刚用 htpasswd 命令创建的用户名和密码,即可进入该目录。

  三、 增加基于主机的访问控制:

  在修改了目录名和增加访问验证机制后,应该说现在的phpMyAdmin已经很安全了,但由于phpMyAdmin目录一般只是数据库管理员使用,为防止别人还知道目录名称和验证密码,还可以增加如下的基于主机的访问控制,基于主机的访问是通过验证用户机器IP来实现的,即只有符合条件的IP才可以反问该目录,否则拒绝访问。

  修改 .htaccess 文件如下: AuthName "用户验证"

  AuthType Basic
  AuthUserFile /data/web/apache/public/htdocs/phpMyAdmin/.htpasswd
  require user 88998
  order deny,allow
  deny from all
  allow from 202.100.222.80

ここでは、3 つのホストベースのアクセス制御命令が追加されます。最初の命令の値は、どの命令がより高い優先順位を持つかを示します。 3 番目の命令はディレクトリにアクセスできるホストを定義します。このように、ディレクトリは IP アドレス 202.100.222.80 のマシン以外にはアクセスできません。読者はこのアドレスをユーザー データベースとみなすことができます。管理者IP。

要約: 上記の 3 つの点を組み合わせることで、phpMyAdmin ディレクトリのセキュリティを十分に確保できます。データベース管理者以外が phpMyAdmin プログラムを通じてデータを読み取ることは困難になります。ここで説明しているのは phpMyAdmin ディレクトリに関するもので、他のディレクトリにアクセス制限を追加する必要がある場合は、この方法に従うこともできます。



このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットな記事タグ

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

navicat が接続できない場合はどうすればよいですか? navicat が接続できない場合はどうすればよいですか? Apr 23, 2024 am 10:00 AM

navicat が接続できない場合はどうすればよいですか?

PHP フレームワークのパフォーマンス比較: 速度と効率の究極の対決 PHP フレームワークのパフォーマンス比較: 速度と効率の究極の対決 Apr 30, 2024 pm 12:27 PM

PHP フレームワークのパフォーマンス比較: 速度と効率の究極の対決

navicat が root パスワードを忘れたかどうかを確認する方法 navicat が root パスワードを忘れたかどうかを確認する方法 Apr 24, 2024 am 12:06 AM

navicat が root パスワードを忘れたかどうかを確認する方法

回避モジュールは、アプリケーション層の DOS 攻撃から Web サイトを保護します。 回避モジュールは、アプリケーション層の DOS 攻撃から Web サイトを保護します。 Apr 30, 2024 pm 05:34 PM

回避モジュールは、アプリケーション層の DOS 攻撃から Web サイトを保護します。

golang 関数の同時実行制御とサードパーティ ライブラリの統合と拡張 golang 関数の同時実行制御とサードパーティ ライブラリの統合と拡張 Apr 25, 2024 am 09:27 AM

golang 関数の同時実行制御とサードパーティ ライブラリの統合と拡張

Java 同時プログラミングで同時実行テストとデバッグを実行するにはどうすればよいですか? Java 同時プログラミングで同時実行テストとデバッグを実行するにはどうすればよいですか? May 09, 2024 am 09:33 AM

Java 同時プログラミングで同時実行テストとデバッグを実行するにはどうすればよいですか?

Eclipseにサーバーを追加する方法 Eclipseにサーバーを追加する方法 May 05, 2024 pm 07:27 PM

Eclipseにサーバーを追加する方法

58 ポートレート プラットフォームの構築におけるアルゴリズムの適用 58 ポートレート プラットフォームの構築におけるアルゴリズムの適用 May 09, 2024 am 09:01 AM

58 ポートレート プラットフォームの構築におけるアルゴリズムの適用

See all articles