MySQLを使ったユーザー認証 :XAMPPの場合で例示

  • xamppを設定直後にはMySQLのrootにパスワードが設定されていません。
    • PHPMyAdminではパスワード設定が出来ませんので、コマンドラインから設定する必要があります。
      shell> mysql -u root mysql
      mysql> UPDATE user SET Password=PASSWORD('new_password')
          ->             WHERE user='root';
      mysql> FLUSH PRIVILEGES;

MySQL を外部ネットから使えなくする方法

  • MySQLを外部ネットワークから使用不可能にするために「my.conf」ファイルに「skip-networking」パラメタを付加します。
    • ポートが使用されていないことを確認するには、「nmap」を利用してきちんと出来ているかを確認。

httpd.conf の修正

  • /etc/httpd.conf を修正
  • 下記の設定を行い、Apacheを再起動する。
  • この場合は http://yourdomain/ で 認証要求がでるはず
  • 240行あたり LoadModuleの追加
LoadModule mysql_auth_module modules/mod_auth_mysql.so
  • 400行あたり Directoryの指定とアクセス認証の指定
<Directory "/xampp/htdocs">
Options Indexes FollowSymLinks ExecCGI Includes
Allow OverRide AuthConfig
Order allow,deny
Allow from all
</Directory>
  • phpmyadminを利用してDB認証用のデータベースを作成
    • 新しいデータベース名:ninnsyou などとして作成
    • 日本語を設定されても良いように、接続照会順序には「utf8_general_ci」を設定しておく
  • 次に テーブルを作る
    • testスキーマ内にテーブルを作成します。
    • ここではテスト目的なので「bakabon」と設定しました。これらは任意。
    • フィールド数は3つとしていますが、これも3つ以上ならいくつでもOK。
    • 各フィールド名には、「name」「pwd」「group」としていますが、この名前も任意で構いません。
      フィールドタイプ:VARCHAR
      長さ:20 ただし pwd だけは255
      空の値:not null group、はnull
    • 因みに、「pwd」のパスワード格納フィールドですが、MD5を利用してパスワードを設定することにしていますので、255ぐらいに設定しています。
    • 作業が完了すれば「保存」ボタンを押して作成完了しましょう。
    • 下記画面のようになったはずです。このままでは、まだ内容が登録されていません。上部のリンクに「追加」がありますので、これを押してデータを登録します。
  • パスワード設定
    • 画面のように「pwd」のみ関数欄からMD5を選んでおき、値を設定しておきます。 作業が完了すれば「実行」ボタンを押します。
mysql-ninsyou2.jpg
  • 以上でデーターベースの中身は完了しました。
  • ユーザー登録
    • DBアクセスするユーザにrootを使うのは危険ですから、ユーザを登録する。
「phpmyadmin」の初画面から「ユーザーの追加」リンクを押下します
mysql-ninnsyou3.jpg
  • 左画面では、ユーザー名にはスキーマー名と同じ「test」を設定しました。もちろん異なる名前でも構いませんが、その際にはきちんとグローバル特権に「select」を忘れずにチェックを入れておきます。 ホスト欄には、ネットワーク経由で利用出来ませんから「localhost」を設定。パスワードも忘れずに。
  • 「.htaccess」ファイル作成
  • 全て作業が完了したら、左画面のように「.htaccess」ファイルを作成します。 日本語が大丈夫かと思って「AuthName」に日本語を設定しましたが、正しく表示されません。
mysql-ninnsyou4.jpg
  • きちんとできたら、(httpd.confを修正した場合にはApacheの再起動を忘れずに)テストしてみましょう。
  • アクセス先に対し左画面のように問い合わせがあります。

登録したデータ通りに入力すれば中に入れます。

mysql-ninnsyou5.jpg

添付ファイル: fileMySQL-ninsyou.bmp 174件 [詳細] filemysql-ninsyou2.jpg 146件 [詳細] filemysql-ninnsyou5.jpg 142件 [詳細] filemysql-ninnsyou4.jpg 140件 [詳細] filemysql-ninnsyou3.jpg 131件 [詳細]

トップ   差分 バックアップ リロード   一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2012-08-17 (金) 15:28:00 (2162d)