プログラミング

MacBookAirで開発環境構築

2011年3月17日 木曜日

Smartyでテンプレートタグ用の{や}を自分専用のものに変える方法

2010年6月30日 水曜日

これはうっかり忘れたりしてかなり面倒。

これを回避するために

Smartyのオブジェクト(例えば$smarty)が生成されたら

$smarty->left_delimiter = ‘<!–{‘;
$smarty->right_delimiter = ‘}–>’;

というように、デリミタを変更してしまえばよい。

こうすると、今まで{$aiueo}だったものが、
<!–{$aiueo}–>
というように書くことができ、{literal}など書く必要がなくなる。

ちなみにこの記述はECcubeがこのようにしていた。

-->

PHPからエクセルファイルをダウンロード出来るようにする

2010年6月15日 火曜日


$xlsfilename = "test.xls"; //ファイル名
$xlspath = "/var/www/test.xls"; //実際のパス
header("Content-Type: application/vnd.ms-excel");
header('Content-Disposition: attachment; filename="'.$xlsfilename.'"');
readfile($xlspath);

これで少なくともダウンロードされる。

-->

PHPのaddslashesとmysql_escape_stringとmysql_real_escape_stringについて

2010年6月11日 金曜日

ところが、
http://gihyo.jp/dev/serial/01/php-security/0028?page=2
では使用禁止の禁忌として取り扱っている。

ネット上を探しても、確かに脆弱性が発見されているから使うな。という記事が多い。

ちなみにmysql_escape_stringはNGらしい。これを使うならmysql_real_escape_stringを使用せよ。とある。

ただ個人的には指南書の通りaddslashesでいきたいと思うのだが、
さてどうしたものか。
という事で、いい事を思いつく。

脆弱性が発見されて禁忌関数という事なのであれば、WordPressやECcubeでは使用されていないはず!
と思い、ソースコードを調べてみた。

WordPress内でaddslashesが使われているか調査

ECcubeでaddslashesが使われているか調査

結構出てくるじゃないですか。普通に使っているのかもしれませんよ。

ちなみにmysql_escape_stringは二つのシステムは0件、mysql_real_escape_stringはチラホラとは出てきました。
が、addslashesよりは少ないです。

ということは・・・addslashesなんじゃない?やっぱり。
間違ってたらコメントで指摘してください。

-->

SSLでmod_rewriteが効かない時、あるいはZend Frameworkなどのフレームワークが動かない時

2010年6月11日 金曜日

PHPでCSRF対策(ワンタイムチケットの発行)

2010年6月8日 火曜日

あとは最後の砦(完了用プログラムなど)にて、DBにINSERTやUPDATEする手前で、きちんと$ticketの値とセッション内のチケットを照合して、同じかどうかを試せばよい。


$ticket = $_POST['ticket'];
if( strcmp($ticket,$session->ticket)==0 )
{
//OK
}
else
{
//チケットNG。何らかの問題あり
}

・・・

//最後に$session->ticketの値は削除する事。

間違ってたら誰か指摘してくださいね。

-->

PHPのdate関数で、時間が9時間足りない時

2010年6月3日 木曜日

prototype.jsとjQueryの共存

2010年6月3日 木曜日

JavaScriptでselect関係を動かす場合、IEは要注意

2010年5月12日 水曜日

jQueryを利用してフォームのcheckboxやselectを全て解除する

2010年5月11日 火曜日

Zendのフロントコントローラーでルーティング設定をした時の引数

2010年5月11日 火曜日

サーバ上のアクセスログをリアルタイムで確認する場合

2010年5月9日 日曜日

ZendFrameworkとFirebugは便利

2010年5月8日 土曜日

特殊記号のエスケープ

2010年5月2日 日曜日

WordPressでドメインを変更した際のデータベースのドメイン変更について

2010年4月30日 金曜日

WordPressプラグイン開発で、左メニューに自前メニューを追加する場合

2010年4月23日 金曜日

WordPressプラグイン開発時の関数名

2010年4月21日 水曜日

ECcubeでブロックに自前のプログラムを差し込むというか設定する方法

2010年4月20日 火曜日

ECcubeのマイページの購入履歴一覧に『対応状況』を表示させる

2010年4月16日 金曜日

Eclipse[PDT]のデバッグ環境構築

2010年4月15日 木曜日