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
);
次からが本番です。
戻る