问题标签 [httpcookie]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
asp.net - Cookies 是否有替代方法来记住用户的选择?
我们(可能)在荷兰制定了即将出台的法律,我必须询问用户是否允许我在我的网站上使用 cookie。现在,当他们说“是”时,这很容易,因为我可以将其存储在 cookie 中。
你可以看到它的到来:当他们说“不”时,我怎么能记住用户的选择?
我只将 cookie 用于 Google 分析,所以我可以接受“不”的答案,并且不想每次访问都用相同的问题激怒“不”的说者。
c# - Cookie 不会快速设置
我通常不使用 Cookie,但我想研究一下我通常使用的 Session 变量。
如果我设置了一个 Cookie,然后立即尝试从中读取,我不会得到我刚刚设置的值。
但是,如果我刷新页面或关闭浏览器并重新打开它,Cookie 似乎已设置。
我在 Chrome 中调试这个。那会有什么不同吗?
下面是我如何使用它:
这就是我的调用方式,其中Request.QueryString["num"]
返回NULL以便Cookie1
从中读取:
...但读取 fromCookie1
也返回 null 。
我需要调用像 Commit() 这样的命令,以便立即使用 cookie 值吗?
asp.net - 手动更新表单身份验证票:
表单身份验证票过期的另一个问题。我需要使用滑动过期设置为真。我已经阅读了论坛并理解了精度损失的问题,即只有在过期时间的一半之后发出请求时才会更新票证。
问题:在我的webconfig中,我有以下内容:
只有在 20 分钟间隔内没有请求时,用户才必须注销并重定向到 login.aspx。问题是用户正在发出请求,但仍然被抛出到登录页面。这不应该发生。我想做的是为每个请求手动重置 SqlAuthCookie 。
下面是我的代码。它在 context.AcquireRequestState 上调用。
我的问题是:
- 在每个请求上重置 cookie 是错误的还是可接受的解决方案?
- 为什么它仍然不起作用?似乎新票永远不会更新。
- 是否还有其他可能的原因,因为用户的表单身份验证过早过期,我应该调查?
谢谢, 问候,
c# - 即使cookie是在另一个应用程序中创建的,如何检查它是否存在?(使用 JS 或 C#)
我有几个应用程序,其中一个是管理身份验证的中央应用程序,其中一个LogOn
页面作为一个导入IFrame
到其他应用程序。
当userName
andpassword
正确时,我创建一个名为userInfo
.
现在,在当前应用程序中,我想检查 cookie 是否userInfo
存在。我想我应该检查它是否存在于浏览器中(在客户端)。
这一定是可能的,那我该怎么做呢?
提前致谢。
asp.net - 对具有多个域的单个应用程序的用户进行身份验证
我有一个 asp.net Web 应用程序,但有两个不同的域指向这个 Web 应用程序。例如:www.one.com
两者www.two.com
都指向同一个网络应用程序。
我有一个问题,我需要某些页面位于特定域中(由于我们的在线支付提供商 - 第三方网站的一些安全要求)。所以假设page1.aspx
需要调用www.two.com
过程如下:
- 用户登录
www.one.com
- 身份验证 cookie 保存到浏览器
- 然后,用户导航到
page1.aspx
错误的域,如果在错误的域中,则被重定向到正确的域。(此重定向发生page1.aspx
在page_load
事件中) - 然后 asp.net 将用户重定向到登录屏幕,因为身份验证 cookie 未发送到
www.two.com
.
如何跟踪用户并让他/她在两个域之间保持登录状态?
asp.net-mvc-3 - 如何获取 WebClient 的请求以使用原始请求中的相同 Session?
因此向 ASP.net MVC 控制器/操作发出请求。这有一个关联的会话。我们实例化 WebClient 对象并调用同一站点上的资源的部分操作。
然而,尽管它是同一个站点,同一个应用程序池,因为 WebClient 创建了一个新请求,它具有不同的会话。(我知道你的想法,如果它在同一个应用程序池、同一个站点上,为什么需要 WebClient)。我已将这些细节遗漏了以免弄脏水,但是 WebClient 是有原因的。
我的理解是,如果可以为 WebClient 分配原始 Request.Cookies 集合中的 cookie,那么 ASP.net 将能够根据现有的 cookie 查找现有的 Session。
所以我想有2个问题:
- 这是正确的吗,如果我要(以某种方式)将 cookie 分配给 WebClient,那么由 WebClient 创建的请求最终会获取原始请求的会话。
- 如何将当前的 Request.Cookies 分配给 WebClient?
更新
我已经查看并尝试了使用带有 WebClient 类的 CookieContainer以及使用 HttpCookieCollection 和 CookieContainer 发送 cookie,但我还没有找到可行的解决方案。
我们有 Umbraco 和 asp.net MVC 的捆绑解决方案,我们正在使用 webclient 向 Umbraco 发出页面请求。在我的研究中,我还发现可能有其他事实可能导致 cookie 无法像我上面描述的那样工作。所以我想首先要找出关于cookies的全部内容是否允许获取原始会话?或者是否有更好的方法来处理我们正在做的事情?
java - 设置传入 httpServletRequest 的 cookie 版本
我有一个客户端向我发送带有逗号分隔值的版本 1 cookie。这在 cookie 的版本 1 中应该可以,但在版本 0 中是不允许的。
所以这就是饼干
现在,当我阅读 Cookie[] cookies = request.getCookies[] 时,我返回了 2 个这样的 cookie:
因此,它将 cookie 的值视为下一个 cookie 的分隔符,这是您在 cookie 的版本 0 中所期望的。所以问题是我可以在从中读取 cookie 之前设置传入 HttpServletRequest 的 cookie 版本。
我知道有一个 Cookie.setVersion(int) 方法,但这对我没有用,因为我没有设置容器的 cookie。(这实际上可能是在容器中设置 cookie 版本的线索,我现在要去看看)
编辑 我解决此问题的方法是仅读取标头,然后读取以分号分隔的列表形式出现的 Cookie 标头的值,然后自己解析每个 cookie 名称值对,从而解析 cookie 值中的逗号然后正确保存,我只得到一个cookie。很高兴知道是否有办法使用 HttpServleRequest.getCookies() 做到这一点。
asp.net - AuthenticationForm - 跨站点 Cookie
我有 2 个网站,第一个是myFirst.domain.com
,第二个是mySecondSite.domain.com
.
它们位于两个不同的 Web 服务器上,我的目标是允许跨站点身份验证(我真正需要的是共享FormsAuthentication
Cookie)。
我已经正确设置了我的web.config
文件(机器密钥节点、表单节点)。唯一的区别是关于 loginUrl 在 myFirstSite 上的显示位置~/login.aspx
,而在 mySecondSite 上的显示位置http://myFirstSite.com/login.aspx
。
请注意,我没有虚拟目录,我只有 2 个不同的网络应用程序。
问题:当我从 mySecondSite 到达 myFirstSite 登录页面时,我从未从登录页面重定向,似乎没有写入 cookie。
以下是有关该问题的一些片段:
我的第一站:
MyFirstSite 后面的代码:
我的第二站点:
嗯,就是这样。不幸的是,它不起作用。
请不要注意queryStringToIndicateUrlPage
,这只是一个简单的解决方法,以便知道我是否必须在同一个应用程序或另一个应用程序上重定向。
javascript - 无法使用其他应用程序设置的 JavaScript 访问 cookie
开发 Chrome 扩展并将其与 amazon.com 链接,我从 chrome 扩展的弹出窗口登录用户,并在弹出窗口中设置 cookie,
问题是:
亚马逊的页面,维护自己的 cookie 和我自己的 chrome 扩展的弹出窗口正在维护自己的 cookie。
我想在亚马逊的 cookie 中使用我自己的 chrome 扩展 cookie 值,以便跟踪该特定用户与我的扩展的交互。
注意:我需要 javaScript 代码才能将一个应用程序的 cookie 访问到另一个应用程序。
我阅读了以下文章,但这并不是我想要的: 如何检查 cookie 是否存在,即使它是在另一个应用程序中创建的?(使用 JS 或 C#)
javascript - cookie onload 事件页面重定向
cookie 加载完成后如何执行任何操作。例如,我们必须在 cookie 加载完成后重定向 url。
我们通过 javascript 在页面加载后加载了 cookie。所以我别无选择,只能等到 cookie 完全加载并重定向页面。