Я создаю логику для восстановления пароля.Пользователь отправит запрос, указав свой адрес электронной почты.Затем будет отправлено электронное письмо с дополнительной информацией, содержащей ссылку с параметром url.Этот параметр token
создан методом ColdFusion createUUID()
.Когда пользователь нажимает на ссылку, первым делом необходимо проверить, существует ли параметр url, а затем действительный токен.Следующим шагом является проверка, существует ли токен в базе данных, и получение значения Expiration
значение / время.Вот пример моего кода:
<cfscript>
if (structKeyExists(url,"token") AND isValid("uuid", url.token) AND len(trim(url.token)) EQ 35){
cfstoredproc( procedure="ckToken", datasource=dsn ) {
cfprocparam( maxlength=35, null=!len(trim(url.token)), cfsqltype="cf_sql_varchar", dbvarname="@Token", value=trim(url.token) );
cfprocresult( name="Result" );
}
if( dateCompare(now(), Result.Expires, "s") == -1 ){
writeOutput("Link Valid Current: " & now() & " Expires: " & Result.Expires);
//include = "form.html";
}else{
writeOutput("Link Invalid Current: " & now() & " Expires: " & Result.Expires);
}
}else{
}
</cfscript>
Если ссылка действительна и срок ее действия не истек, пользователь будет направлен на .html
, который имеет форму с полем ввода пароля.Если срок действия ссылки истек, мне интересно, следует ли уведомить пользователя сообщением или отправить его обратно на страницу входа?Я не уверен, есть ли стандартный процесс для такой ситуации.Если у кого-то есть предложения, пожалуйста, дайте мне знать.