DBに保存する時に個人情報をそのまま保存するのは、万が一DBの情報が流出した時にまずいので、色々と調べてみました。
スマートフォンに関係する開発をはじめて試してみました。
Subversion(サブバージョン)でEUC-JPのソースを管理する
Subversionを使用してバージョン管理しているのですが、EUC-JPのソースを管理しようとした時、ソースの差分を見たら文字化けしてしまいます。
これはSubversionの標準ビューアのTortoiseMergeがEUC-JPに対応していないという事らしいです。
ではどうすればいいかなとググッてみたらWinMergeというビューアを入れてSubversionに登録してあげると良いらしい・・・
WinMergerはhttp://www.geocities.co.jp/SiliconValley-SanJose/8165/winmerge.htmlから自分の環境に合ったバージョンを落としてきます。
落としたZIPファイルを解答すると中にexeファイルが居るのでこれを使ってあげるだけです。
Subversionに紐付けるのは「TortoiseSVN→設定→外部プログラム→差分ビューア」でプログラムの指定が出来るところで外部を指定してパスに先ほど落としてきたWinMergeのexeファイルまでのパスを指定するだけでEUC-JPのファイルでもきちんとバージョン管理が出来るようになりました。
個人的にはTortoiseMergeよりWinMergeの方が見やすくてGOODですね!!
ブラウザ・IEの画像キャッシュをなんとかする
画像をアップするシステムを作ってる時にかなり邪魔なブラウザの画像のキャッシュ。
CakePHP formヘルパーでselectのoptionだけに属性をつける方法
formヘルパーでselectに属性を付けるときは
echo $form->input( 'Model.field', array( 'type' => 'select', 'options' => $arr, 'style' => 'color: #ff0000' ) );
option部分だけ属性を付ける時にどうすれば?・・・と思ったのでメモ
phpコードの暗号化をする
今回phpコードを暗号化する方法を検討することになり、いろいろ試してみたので、その経過を記していきます。
まず最初にPOBSというプログラムが比較的簡単に導入できそうなので試してみました。
http://pobs.mywalhalla.net/からPOBSのダウンロードしてきます。
最新版のpobs099.zipをダウンロードして展開した出来たフォルダをphpが動作する区画にアップロードします。
後はブラウザから中に入っているpobs.phpを叩くだけで使えるということだったのですが、動かない!!
画面が崩れてコードの表示がむき出しになっている状態でした。
調べてみるとPHPを開始するところの記述が「<?」だけになっていました。
サーバーの設定にもよるのですが「<?php」で始めないと動かないようになります。
今回試した環境では動かなく原因を特定するのにハマリました・・・
無事に画面が表示されたので実際に実行してみます。
「Source Directory」に暗号化したいphpのあるパスを記述して、「Target Directory」に暗号化し終わったファイルを置くパスを指定します。
後は自由に設定が出来てクラス名・関数名・変数という具合に指定できます。
準備が出来たら「Start processing」を押すとどのファイルを変更したかと、変更前の記述と変更後の記述が表示されます。
それで「Target Directory」で指定したフォルダを見てみると、変換されたファイルが出来ていました。
感想:POBSはphpソースの暗号化というより可読性を落とすという感じで、今回捜し求めているphpの暗号化には当てはまらなそうです。ただ導入も簡単なので将来役に立つかも・・・
次に試してみたのがPHP_SCREWという暗号化ツールです。
導入と使い方は次のページを参考にしていきました。
http://www.pm9.com/newpm9/itbiz/php/phpscrew/ (本家)
http://tm.root-n.com/programming:php:etc:php_screw
基本的にLinuxにインストールしてコマンドでソースの暗号化をするというツールです。
コマンドで実行したら指定したファイルが暗号化されて、同じ場所に「元ファイル名+.screw」のファイルが出来ます。
後は「元ファイル名+.screw」のファイルを消せば暗号化の完成!!
感想:ソースの暗号化という分に関してはある程度望んでいる感じだった。しかし暗号化したPHPはインストールしたサーバーでしか動かないのでレンタルサーバーで動かすときやパッケージで提供するときには使えなさそう。
cakephpのdatabase.phpのprefixを使用しました。
A5SQL Mk-2のツールを検証しました。
selectボックスを変更すると他の複数項目を自動的に変更するAjaxのサンプルソース
wdCalendarをCakePHPに組み込んでみる
以前紹介した記事「wdCalendarを日本語で使ってみる」で日本語化したwdCalendarをCakePHPに組み込んでみたので紹介します。
それから少し改造ということで、登録できるフィールドを追加してみるのと、ログインした人のidを基に誰が登録した予定なのかを持たせるようにしました。