0

ユーザーがアカウントをアクティブ化できるように、アクティブ化リンクを電子メールでユーザーに送信する php スクリプトがあります。リンクは次のようになります。mysite.com/activation.phpid?id=20

24 時間後に有効期限が切れるリンクを作成するにはどうすればよいですか?

その方法を教えてくれるものが見つからなかったので、何も試していません。私が知っているのは、mysqlに何かを保存することでこれを行うことができるかもしれないということだけですが、どのように?

誰かが私にステップバイステップの指示を教えてくれれば素晴らしいでしょう.

ありがとう

4

2 に答える 2

4

次のようにリンクを作成します。

$time = time();
$hash = md5($id . $time . "somerandomsalt"); // check this again in activation.php
$link = "activation.php?id=" . $id . "&hash=" . $hash . "&time=" . $time;

次にactivation.php、ハッシュが一致するかどうかを確認します。ああ、もちろん時間をチェックしてください:P

少し難読化してidhash、およびtimeクエリ パラメータを非表示にすることもできますが、これが基本です。

于 2013-02-06T01:17:01.837 に答える
0

リンクの有効期限を含むフィールドをデータベースに追加するだけです。リンクをクリックすると、日付をチェックして有効期限が切れていないことを確認できます。

編集

列とテーブルの名前を推測しています。

SELECT IF (DATEDIFF(date_registered, CURRENT_TIMESTAMP) <= 0, 1, 0) AS expired
FROM users
WHERE id = 20

が 1 の場合expired、リンクは期限切れです。であれば0有効です。

于 2013-02-06T01:15:35.823 に答える