首页 > 解决方案 > 如果链接已过期,我应该通知用户吗?

问题描述

我正在为密码恢复创建逻辑。用户将通过提供他们的电子邮件地址来提交请求。然后将发送包含更多信息的电子邮件,其中包括带有 url 参数的链接。此参数是token使用 ColdFusioncreateUUID()方法创建的。当用户单击链接时,首先要检查的是 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具有密码输入字段的表单。如果链接已过期,我想知道应该用消息通知用户还是将他们踢回登录页面?我不确定这种情况是否有标准流程。如果有人有任何建议,请告诉我。

标签: emailcoldfusiontokenpassword-recovery

解决方案


推荐阅读