CakePHP

CakePHP プライマリキーIDについて

CakePHPのデータベース設計をしているとプライマリキーである「ID」は基本
自動で追加してく「auto_increment」で「int」系を利用するかと思います。
もちろんCakePHPの基本構造として問題はありません(笑

ただ、この設定ではIDが連番となりURLの構造としては予想がつきやすいかと思います。

そこでCakePHPではIDを「auto_increment」に頼らないIDを作成することができます。
CaekPHPではIDを「int」で指定することが基本と説明しましたが、これを
「CHAR(36)」または 「BINARY(36)」として指定すると「UUIDs」という方式で
CakePHPはIDを生成します。

この方式は4つのハイフンで区切られ、32バイトの文字列の36文字から形成され
ユニークなIDとなっています。

例)
4b1a307c-cfe4-4343-9d06-1094c0a80b06

これで推測されないIDとして作成することが可能となります。
ユーザー情報など、連番で予想されやすいテーブルに対してこの方式を適用すると
URLから直接アクセスされたり、セキュリティを強固にすることが可能となります。

※個人情報などはURLから直接参照など基本はしませんが(笑

コメント