私のPHP codeigniterサイトは、3種類の電子メールをユーザーに送信し、HTML形式になっています。html電子メールのセキュリティで保護された「閲覧電子メールを表示する」リンク
どのようにすれば安全なリンクを作成できますか?電子メールの2は本質的に敏感です:
新規登録:電子メールは、その詳細とアクティベーションリンクを示し
は峠を忘れた:電子メールは
を渡すリセットするためのリンクを示します これだけで十分ですか?:
$code = sha1(mt_rand(10000,99999).time().$user_email);
$link = 'email/view/' . $code . '/' . $user_id . '/';
=> http://mysite.com/email/view/c0acc09c6d00b706e1e511e52f286b1859067047/213/
したがって、認証はランダムなハッシュとそのuser_idに基づいて行われます。それはまた、ユーザーIDをハッシュする価値がありますか?
私はあなたが2つの異なることについて話していると思います。 1)ブラウザーにメールを表示する方法(これまで見たことのないオプション)と2)ユーザーを認証する電子メールにURLを提供する方法。私は後者があなたが本当に達成しようとしているものだと思います、そうですか? – Anthony
引数なしで 'mt_rand()'を使用してください。そうすれば、99999の代わりに数十億の可能な数字を得ることができます。また、 'time()'の代わりに 'microtime()'を使うことで、予測不能なハッシュを得ることができます。可能なハッシュの数を増やすことがすべてです。 – kijin
ありがとう、私はsha1(mt_rand()。microtime()。$ user_email)にハッシュを更新しました。 – Quadrant6