天天看点

网站登陆Cookie是什么

我们在一些登陆的窗口经常会看到一些“记录信息”的复选框,允许用户记录他们的用户名称及密码,以便下次不需要再次输入用户信息了。在ColdFusion中我们可以利用Cookies来解决此问题。

在说明此问题之前我们先来看看什么是Cookie吧。所谓Cookie是一些存储在浏览器里允许你在之后获取的内容。那么ColdFusion又是如何定义Cookie及获取Cookie内容的呢?

定义Cookie:

读取Cookie:

#cookie.MyCookie#

</cfoutput>

我们在学会了如何定义及读取Cookie之后我们将利用“Expire”属性来扩展Cookie设置,这个属性允许你确定Cookie在多少时间范围内是有效的,在此教程里,我们将此值设置为“Never”,因为我们希望Cookie值永远不过期。

好了,接下来我们开始真正的记录用户信息的历程。

第一步:我们需要建立一个login.cfm的页面,这个页面将接收用户的用户名称及密码以便登陆到网站,而在此之间我们需要确认Cookie值是否已经存在。为了达到此目标,我们需要进行如下代码操作:

<!--- 如果UserName的Cookie值已经存在,那么我们就将此值自动加入Form --->

<cfset username = cookie.username>

<cfelse>

<!--- 如果Cookie值并不存在,那么我们就设置一个空值到Form的username字段中--->

<cfset username = "">

</cfif>

接下来让我们来看看Password是否存在于Cookie中吧。其实我们并不建议你保存密码到Cookie中,但有些时候你或许需要此功能,我们只是示例代码实现而已。

<!--- 密码的Cookie值是否存在,如果存在则自动加入到Form窗体中 --->

<cfset password = cookie.password>

<cfelse>

<!--- 如果Cookie值并不存在,那么我们将设置一个空值给这个密码内容--->

<cfset password = "">

</cfif>

<form action="login_process.cfm" method="post">

    <table width="500" >

        <tr>

            <td width="500" colspan="2"></td>

        </tr>

        <tr>

            <td width="250">用户名称:</td>

            <td width="250"><input type="text" value="#username#"></td>

        </tr>

        <tr>

            <td width="250">用户密码:</td>

            <td width="250"><input type="password" value="#password#"></td>

        </tr>

        <tr>

            <td width="250">记录信息</td>

            <td width="250"><input type="checkbox" value="Yes"

            <cfif IsDefined("cookie.username") OR

IsDefined("cookie.password")> CHECKED</cfif>></td>

        </tr>

        <tr>

            <td width="250"></td>

            <td width="250"><input type="submit" value="Login"></td>

        </tr>

    </table>

</form>

</cfoutput>

在下一个操作页面login_process.cfm中,我们需要验证用户的信息,我们不光需要验证用户的信息,还需要记忆用户是否“记录”他们的信息。

SELECT ID

FROM MEMBERS

WHERE meber_username = '#FORM.username#'

AND member_password = '#FORM.password#'

</cfquery>

<!--- 如果已经确认用户,在确实进入系统之前确认用户是否需要保存用户信息以便下次自动登陆系统 --->

<cfif IsDefined("RememberMe")>

<!---如果确定记录用户信息,那么我们就需要设置Cookie值 --->

<cfcookie value="#form.username#" expires="NEVER">

<cfcookie value="#form.password#" expires="NEVER">

<cfelse>

<!--- 如果不需要记录用户信息,那么我们就将重新设置Cookie,并设置它们的过期时间是NOW,即立即过期,这样也就删除了Cookie内容 --->

<cfcookie value="#form.username#" expires="NOW">

<cfcookie value="#form.password#" expires="NOW">

</cfif>

<!--- 现在你已经记录了Cookie值,后面的操作就是你之后要对用户进行的操作内容了--->

</cfif>

瞧,记录用户信息的操作还是十分简单的是吗?至于删除Cookie我们还有很多种方法可以进行的哦,你们可以自己再多尝试一下。 

继续阅读