Contents-factory.netを作り直すことにする

コンテンツファクトリー
http://contents-factory.net/
SNSっぽいものを目指してPHPの練習がてら作っていたが、しばらく放置状態になっている。


製作途中でデータベース(MySQL)を覚えたり、グローバル変数使いまくりのソースに我ながら嫌気がさしたり・・・
「製作に飽きた」というよりは「設計の問題点を今から全て修正する面倒くささに負けた」と言うべきだろう。


でも、データベースを使った会員管理システム、なんてものはほとんどありとあらゆるシステムに応用が効くはず。
いろいろなものの土台となりうるシステムなので、もう一度一からやり直す価値はありそうだ。
頑張ってみようと思う。

方針

作るもの:PHPを利用したユーザー登録・管理システム
データベース(MySQL)使用
グローバル変数を可能な限り減らす

ユーザーの行動と必要な処理

設置

管理者:
ファイルを転送・設置する(パーミッション設定は必要なし)
admin.phpにアクセス
管理者IDとパスワードを決める
hiddenディレクトリを決める
MySQLのIDとパスワードを入れる
MySQLテーブルの接頭語を入れる
xoopsで言う「xoops_」みたいなもの。他のテーブルとの偶然の一致を防止)

確定
hiddenディレクトリのパーミッションを変更・アクセス認証をかける
imgデータ保管ディレクトリを書き込み可能に設定
システム開始

ユーザーの登録

ユーザー:
ID=メールアドレス(外部には公開されない)
パスワード(半角英数6文字以上)
ニックネーム(日本語使用可・重複しても問題なし)
の決定

サニタイズ
データの長さ制限チェック
メールアドレスとして妥当かチェック
既に登録されていないかチェック
パスワードとして妥当かチェック
パスワードの暗号化

チェックをクリアした場合仮登録
内部的にはID番号で管理される(mixiのような単純な連番)
メール送信

メールで送られてきたURLをクリックして認証確定
データベースに正式登録

パスワードリマインダ

メールURLクリック認証型

ユーザー:
メールアドレスを入力

メール送信
クリック後

新しく使うパスワードを入力される

パスワードの暗号化
DBに上書き


そういやsession管理ってのもまだ覚えてないのでそれも使えたら使おうっと