unity+php+mariaDBでhiscoreの管理.その1

unity+php+mariaDBで、hiscoreの管理したいのですが、PHPでSQLにアクセスするときに、SQLのROOTユーザー名とパスワードを記する必要があります。

MySQLにはそれを暗号化する方法がありますが、mariaDBにはありません。

解決策として思いつくのは、
1)ユーザーのアクセスできないところにmariaDBへのPHPを書く
2)httpdの環境変数を使う
等があります。
今回は2でやってみましょう。


まずは、teratermでサーバにアクセスしてapatche(httpd)の環境変数を付けます。


teratermではユーザー権限でしかssh接続できないので(わざと出来ないようにしています)、接続後はsuでrootに昇格します。

viでhttpdに環境変数を設定します。

vi /etc/sysconfig/httpd

一番最後に、

例えば、mariaDBのrootユーザー名がdbrootでpassが1234abcdだとすると、

#mariaDB
DBUSER=dbroot
export DBUSER
DBPASS=123abcd
export DBPASS

として追記して、その後、rebootコマンドでリブートします(多分、systemctl restart httpdでもok)。


himithu.php というファイルを作ります。

print_r(getenv('dbuser-name:');
print_r(getenv(DBUSER));
print_r(getenv('<br>');
print_r(getenv('dbuser-pass:');
print_r(getenv(DBPASS));
?>

これをサーバにアップして、ブラウザで himithu.phpをアクセスすると、ばっちり見えちゃいますね。

見えたら成功なので、himithu.phpを削除します。

MySQLWorkBenchでも、teratermのssh接続でのmysqlコマンドでいいので、hiscoreを管理するデータベースを作っておきましょう。

CREATE DATABASE test905;
USE test905;

CREATE TABLE test905.hiscore (
id int AUTO_INCREMENT NOT NULL PRIMARY KEY,
name varchar(32) NOT NULL,
score int NOT NULL
);


次からが本番です。

戻る