スコア入力の前にパスワード入力をできるように改造。

パスワードを安全にデータベースに格納できるよう、PEARのCrypt_Blowfishを使用するために、レンタルサーバーにPEARをインストールすることに。

、、、これが、大難航。。。

探しに探してたどり着いた、
Go-PEARを使ったPEARのインストール
http://masha.maakikaku.jp/2008/05/gopearpear.php
を参考に、なんとかインストール完了。

、、、と、思ったら、ドキュメントルート(WWW)にPEARディレクトリが作成されているではないか!!初期設定でローカルディレクトリを指定しているのにもかかわらず、何度やっても同じことの繰り返し、、、

途方に暮れること数時間、よくよく見てみると、go-pear.phpの下のほうに、
D:\~がどうのこうの~in Unknown line 0
というphpのエラーが表示されているではないか。レンタルサーバー上での操作にもかかわらず、何故「D:」なのか、、、

と、いうわけでphpの設定になにか不具合があると考え、info.phpを見てみると、、、

extension_dirやらupload_tmp_dirやらに「D:」の文字が、、、

どうやら、xamppからphp.iniをひっぱってきたために余計なものが、、、

もっと早く気付けよ、オレ、、、orz

サーバー上のphp.iniの該当部分をコメントアウトして再挑戦。

、、、インストールはうまくいった。。。

が、Start Web Frontend of the PEAR Installer >>をクリックするとFatal errorが発生。なんやねん!

レンタルサーバーへのPEARのインストール
http://www.blogdatta.com/?p=520
で解決。

go-pear-admin.phpに記述されている「$pear_dir = '@pear_dir@';」を「$pear_dir = './PEAR';」に変更することでうまくいった。

、、、と、思ったが。

またもや問題が。

実際に暗号化を行おうとすると、
Fatal error: Call to undefined method PEAR_Error::encrypt()
の文字が無情にも、、、嗚呼、非情の悪魔Fatal error様が再臨。

ネット上にも情報がない。おんなじファイルでローカル上および会社のサーバー上では動くのに。ということは、やはりインストールしたPEARもしくはCryptに問題が?

もう、イヤ。。。

でもなんとか根気強く調べていくと、、、
さくらインターネットのレンタルサーバにはmcryptが入れられない
http://d.hatena.ne.jp/replication/20100903/1283444861

どうやらさくらの共用サーバーにはmcryptモジュールがインストールされておらず、それによりblowfish_cryptが使えないとか何とか、、、おーまいがっ

なんとか出来ないものかと試行錯誤しているうちに、キーと暗号化関数を同一ページ内に記述することでなんと動くことが分かった。つまり、mcryptモジュール云々は「全く」関係なかった。どゆこと?

でも、俄然、ヤル気!

色々試しているうちに、キーを.incファイルから読もうとしたときにFatal error様が降臨されることが分かった。

これで光が見えてきた。要は、.incファイルが読めていなかっただけのことだった。

.htaccessの設定を以下のようにしてやると、、、う、動いた。

AddType application/x-httpd-php .inc

<Files ~ "\.(inc|ini)$"> 
Deny from All
</Files>

なんだかこの半日を超ムダに過ごした気もするが、自分なりに解決できて満足。

よし、寝れる。

寝よう。