图片-稻子网
图片-稻子网
图片-稻子网
图片-稻子网

服务器cookie-关于跨域共享cookies的实现和维护

所有网站开发人员都会非常喜欢强大的功能和易用性。它在跟踪用户信息、构建人性化和个性化的网站以及避免使用数据库的昂贵开销方面具有强大的作用。但是,它不能跨域传递,只有创建它的域才能访问;在这里,我们讨论如何使用 ASP 来突破这个限制。

介绍

首先,我们先简单介绍一下如何使用ASP来维护。

它是存储在客户端计算机上的一个小文件,这意味着每当用户访问您的站点时,您都​​可以在其硬盘上秘密放置一个包含相关信息的文件。该文件几乎可以包含您要设置的任何信息服务器cookie,包括用户信息、站点状态等。在这种情况下服务器cookie,存在潜在的危险:这些信息可能会被黑客读取。为了防止这个问题,一个有效的方法是只有创建它的域才能访问。也就是说:例如,您只能访问创建的。一般来说,这不是问题;但是,如果您需要在两个不同域上的两个不同站点共享存储在我可以在一个站点上注册并成为另一个来自东方站点的注册用户的用户信息吗?或者,两个站点共享一个用户数据库并要求用户自动登录?这时候,跨域共享是最好的解决方案。

下面我们一起来看看一些ASP的处理代码,方便日后参考。

'创建

.("").=日期+365

.("").=""

.("")("")=

.("")("")=

阅读和写作非常简单。上面的代码创建了一个并设置了属性:域、过期时间、

和一些其他值存储在。这里,是前面的某个地方

变量设置。然后,通读以下语句。

'读

图片[1]-服务器cookie-关于跨域共享cookies的实现和维护-稻子网

=.("")

=.("").

=.("")("")

=.("")("")

更详细的信息可以参考ASP资料。

完成

简单分享的诀窍是重定向,

一般流程是:

1. 用户单击。

2.如果用户没有,则将用户重定向到。

3. 如果用户有一个,用一个特殊的标志将用户重定向回来(下面会解释)

, 否则,只将用户重定向到。

图片[2]-服务器cookie-关于跨域共享cookies的实现和维护-稻子网

4. 正在创建。

看起来很简单,仔细分析一下:并共享相同的用户设置,所以如果

部分用户(已注册)也可以阅读并提供所有

允许的功能。这样,来访的用户就像来访一样。

此检查应在文件中包含的 .inc 中实现。让我们来看看

这段代码:

l—1

'"考试

如果 .("")"True" 那么

如果不 。(””)。然后

'还给

.("")

图片[3]-服务器cookie-关于跨域共享cookies的实现和维护-稻子网

万一

万一

如果用户有一个,就不需要做任何事情;第一个 if 语句用于消除无限循环。让我们看一下上面的 .asp 文件以进一步了解。

1-2

''

考试

如果不 。(””)。然后

'重定向到

.(""&"?=真")

别的

'获得

=.("")("")

图片[4]-服务器cookie-关于跨域共享cookies的实现和维护-稻子网

'将用户返回到

.(""&"?

=真"&"="&)

万一

如果用户仍然不在线,则将他送回,并通过在查询语句中提供一个名为“”的参数让应用程序知道您已检查。否则,将用户送回并退出循环。

但是,如果用户拥有它,我们需要将用户发回并告诉。为此,我们在数据库中附加了一个独特的标志。所以,我们扩展了代码。

l—3

'

...

...

'检查标志

如果 .("")"" 那么

图片[5]-服务器cookie-关于跨域共享cookies的实现和维护-稻子网

=.("")'记录到数据库

.("").=日期+365

.("").=""

.("")("")=

万一

最后,我们返回。文件的第一部分 (ll) 检查检查是否完成。既然已经清楚知道已经完成了(在语句中用“”参数表示),继续执行1-3所示程序的第二部分。如果有特殊标志,我们可以创建它们。使用这个特殊标志(在这里),我们可以在需要时查询数据库。然后,设置它并显示页面的其余部分。如果没有指定的标志,则无需担心,只需显示页面的其余部分即可。

就这样,不费吹灰之力,我也一样。我们可以传输更多的信息,而不仅仅是一个标志,并将网络流量控制在最低限度。

需要注意的是,即使用户拥有它,仍然需要对其进行检查。一般来说,这不是必要的,会节省时间。但是,一旦用户改变了个人信息呢?这样做将使所有信息保持同步。

要做到这一点,我们需要两个文件:一个在原站点服务器()上完成检查;一个在参考服务器()上验证用户。如果有包含所有用户信息或需求的参考服务器,您可以根据需要添加任意数量的原始服务器。您需要做的就是在要共享的所有服务器上添加 .inc 文件。

也可以按照相反的顺序执行,例如如果是原始服务器,并且包含用户信息。访问过但从未访问过的用户也可以登录并拥有之前的所有设置。请注意,如果您有多个参考服务器,这会造成混淆并消耗过多资源,因为必须将用户重定向到每个参考服务器。

理论上,有可能拥有一个所有站点共享相同用户的网络。最可行的方案是建立共享环。将参考服务器列表存储在一个地方(备份服务器),以便每个参考服务器可以找到并决定下一个重定向用户的站点。请记住通过查询字符串的含义跟踪用户从哪个源服务器启动。这样,信息的传递非常迅速,这个环节也变得越来越可行。

这里还有一些问题,首先是反应时间。对于用户来说,他们最好不要知道这个过程是什么样的。所需的时间取决于之间的连接,可能会更长,实现循环时可能会更长。

另一个主要问题是每个实现者都将面临无限重定向。造成这种情况的原因有很多,例如:用户的浏览器不支持。这需要重新设计代码以监控用户浏览器的性能。

充其量,您还需要注意安全问题。如果某个黑客发现了这个窍门,他可能会得到其中的信息。最简单的预防措施是保护参考服务器,只允许原始服务器访问 .asp 文件。

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片