[PHP-users 17762]Re: 数字のみのBASE64エンコード

Osamu Shigematsu m5issige @ mr.hitachi-medical.co.jp
2003年 9月 9日 (火) 14:21:52 JST


重松です。こんにちは。

> 会員の画像がデータベースに保存されていま
> して、その会員ID=画像をPHPが吐き出す処理をしています。

どういう DB の設計になっているのかよく分かりませんが、画像に ID って振っ
てないのでしょうか? ID があれば、振ればいいし、なければシリアルでも追加
したらいかがでしょう?

で、それを、文字に変換して、それと何らかのフレーズとを連結したもののハッ
シュでもつけて、適当な数字を入力できなくでもすれば、*それなり* に安全だ
と思います。

	// sha1 が使えないなら md5 でも使う,
	// 長ければ好きな桁で切り詰めればいい
	$out_image_id = $image_id . '-'
		. sha1("あいう$image_idえお");

	// 受け取ったら...
	list($image_id, $magic) = explode('-', $in_image_id);
	if ($maigc != sha1("あいう$image_idえお")) {
		die("変な番号かも\n");
	}

会員 ID 自身公開して問題ない (と私はあまり思わない) のなら、そのままさら
してもいいんでしょうが。

-- 
Osamu Shigematsu <m5issige @ mr.hitachi-medical.co.jp>



PHP-users メーリングリストの案内