如何在页面之间保留URL参数

时间:2010-10-27 01:51:33

标签: html django cookies hyperlink

我不希望嵌入我的webapp的开发人员能够在?style=dark之类的URL中传递一个param,这将相应地改变css。是否有更好的方法可以在用户导航时保持此设置,而不是将?style=dark附加到所有链接?

我已经考虑了cookies等,但是如果一个用户正在查看两个用不同主题嵌入我的应用程序的页面,那么一个用户将覆盖另一个。

我正在使用Python / Django。

3 个答案:

答案 0 :(得分:2)

如果您既不想使用Cookie也不想使用Sessions,并且不想将其嵌入到网址中,那么我想到的唯一选择是:

首先是最通用的:在前面使用虚拟域。而不是www.example.com使用h ** p://THEME.example.com/PATH。如果您拥有* .example.com的通配符SSL,这甚至适用于HTTPS。

第二个变体是创建一个Basic-Auth-Handler,它使用Theme作为带有虚拟密码的用户名。然后,URL可以如下所示:

ħ**号码://THEME@www.example.com/PATH

但是我不确定如果用户在Basic-Auth-case中连接到具有两个不同主题的同一站点会发生什么。如果它位于身份验证处理程序之后,使该网站可用于搜索引擎也是有点棘手的。这是因为你今天必须有一个auth-handler来规避现代浏览器中的反网络钓鱼防护。

请注意,使用这两种方法,您只能轻松拥有一个参数。密码不计算,并且有些浏览器不接受PARAM1.PARAM2.example.com的通配符SSL证书* .example.com。

答案 1 :(得分:0)

我不太确定,但无论如何你必须将这个变量传递给你的网站。我的意思是,如果您将?style=dark添加到 href ,或rel="dark"添加到<a>以用于javascript,则没有区别。 请记住,这只是一个例子

当然,您可以始终使用 AI 来预测用户在特定时刻想要的内容。 和合

答案 2 :(得分:0)

我确定你可以使用会话来做这种事情,不是吗?第一次通过Querystring提供值时,将它们添加到Session中,然后在将来从会话中检索它们。