标签: cookies

如何从cookie中读取json对象

我使用 jquery.cookie 来存储客户端应用程序 cookie,其中一些 cookie 包含 JSON。

这是我到目前为止的脚本

trigger.on('click touchend', function () {
    var StoredSettings = $.cookie('qlToggled'),
        isToggled = 0,
        offset = -300,
        endpoint = 15,
        triggerX = $('#leftcolumn').offset().left + $('#leftcolumn').width();

    if (typeof StoredSettings !== 'undefined') {
        isToggled = StoredSettings.toggled;
        offset = StoredSettings.cOffset;
        endpoint = StoredSettings.cEndpoint;
        triggerX = StoredSettings.cTriggerX;
    }

    if (isToggled == '1') {
        offset = 0;
        endpoint = 315;
        triggerX = $('#leftcolumn').width();
        var cookieValues = { toggled: '0', cOffset: offset, cEndpoint: endpoint, cTriggerX: triggerX };
        $.cookie('qlToggled', JSON.stringify(cookieValues), { …
Run Code Online (Sandbox Code Playgroud)

javascript cookies jquery json

0
推荐指数
1
解决办法
2万
查看次数

cookie 过期 - 神奇数字 -86400

我正在检查我的框架的代码,该代码删除客户端上的 cookie,下面是它执行此操作的代码片段:

return setcookie($name, NULL, -86400, Cookie::$path, Cookie::$domain, Cookie::$secure, Cookie::$httponly);

我特别感兴趣的是为什么这个数字是-86400秒?它只是随机数还是在某些约定中有任何特殊含义?我可以用 使 cookie 过期-1,不是吗?

php cookies

0
推荐指数
1
解决办法
2825
查看次数

php 会话是否无状态?

我知道这个问题关于在 RESTful SPI 中使用 php 会话被问了很多次,但答案通常是 php 会话在多个请求中保留状态,因此不是无状态的,并且由于我对此声明有疑问,所以我想反驳它并得到好的答案:

如果我对 php 会话的理解正确的话,这就是它们的工作原理:

  • 当用户请求涉及会话处理的资源时,会生成会话 ID 并将其提供给他。
  • 用户负责将此会话 ID 发送到服务器以用于任何后续请求,这通常由用户代理通过 Cookie 或通过将会话 ID 参数附加
    到 url 来完成。

因此,服务器上不会保存任何应用程序状态信息,并且 php 会话是无状态的,因为会话 ID 是由客户端而不是服务器保存的。

当然,会话文件保存在服务器上,因此保留了状态。但是将信息保存在此会话文件中或将其保存在数据库中有何区别?无论是否有会话,一些数据都保存在服务器上,其中一些(或全部)仅与某个用户或一组用户相关。

假设有一场国际象棋比赛。假设所有游戏逻辑都在 php 文件中实现。士兵位置保存在表中。玩家必须以某种方式识别以告诉服务器下一步要做什么。现在假设士兵位置保存在会话文件中。玩家必须再次识别,这个场景与db表场景有什么不同吗?

编辑:感谢您的良好回答,他们提出了另一个问题:基于会话的应用程序(例如上一段中的国际象棋游戏)是否可以实现为 RESTful 服务?

php mysql cookies rest session

0
推荐指数
1
解决办法
2288
查看次数

使用 jQuery 删除不同域中同名的 Cookie

问题的网址
https://www.one.om/testtranslate

尝试删除所有名为“googtrans”的 cookie

当您从谷歌翻译下拉列表中选择一种语言时,页面会按预期进行翻译,刷新页面即可查看问题:

现在应该有两个名为“googtrans”的 cookie,但域不同:

domain 1: ".one.om"
domain 2: "www.one.om"
Run Code Online (Sandbox Code Playgroud)

当我使用时

$.cookie('googtrans',null, {domain:'www.one.om'});
Run Code Online (Sandbox Code Playgroud)

效果很好,但是

$.cookie('googtrans',null, {domain:'.one.om'});
Run Code Online (Sandbox Code Playgroud)

没有什么建议吗?

javascript cookies jquery

0
推荐指数
1
解决办法
2512
查看次数

带有 Passport.js 多个 cookie 的快速会话

我正在尝试使用 Passport.js 和 Express-Session 实现登录功能,它运行良好,

var passport = require('passport'),
    session = require('express-session'),
    MongoDBStore = require('connect-mongodb-session')(session);

var sessionStore = new MongoDBStore({
    uri: config.db,
    collection: 'sessions'
});

var sessionOptions = {
    name: 'very-secure-cookie',
    secret: config.secret,
    resave: false,
    saveUninitialized: true,
    cookie: {
        secure: true,
        maxAge: null
    },
    store: sessionStore
};

app.use(session(sessionOptions));
app.use(passport.initialize());
app.use(passport.session());
Run Code Online (Sandbox Code Playgroud)

这里,maxAgenull,意味着客户端在关闭浏览器窗口时会注销。然而,我想用客户的电子邮件地址存储一个额外的 cookie,以便在<input type="text" name="email">他们稍后回来时想要重新登录时预先填写。

我尝试过app.use()使用另一个会话对象来将电子邮件信息存储在另一个 cookie 中,但由于某种原因,该 cookie 只设置一次(第一个)。

app.use(session(returningSessionOptions));
Run Code Online (Sandbox Code Playgroud)

在任何地方都找不到任何明智的解决方案:(

哦,我不得不提一下,我考虑过将cookie-parser中间件与 一起使用express-session,但文档指出这可能会导致冲突

cookies session node.js passport.js express-session

0
推荐指数
1
解决办法
5635
查看次数

如何在jquery中的cookie、会话或本地存储中存储和恢复特定时间的数组

如何将数组的内容存储在 cookie、会话或本地存储中,然后再次恢复或推送到数组中以正常使用。它应该设置为特定时间,并且在该时间之后,它不应该恢复值。

编辑 我尝试了此方法来获取本地存储和会话存储以及数组所需的cookie

var date = new Date();
 var minutes = 30;
 date.setTime(date.getTime() + (minutes * 60 * 1000));
 $.cookie("example", "foo", { expires: date });
Run Code Online (Sandbox Code Playgroud)

javascript cookies jquery session-storage local-storage

0
推荐指数
1
解决办法
2714
查看次数

从 Chrome 扩展程序访问 cookie

也许我理解有问题?

这怎么可能允许从扩展程序访问所有 cookie?
这是否意味着任何扩展程序都可能像这样简单地窃取所有 cookie?
我假设 chrome.google.com 支持人员正在检查每个扩展程序和每个更新,以确保不存在此类危险的事情,但我有开发扩展程序的经验,并且看起来扩展程序更新是自动调节的。那么,所有这一切是否意味着任何扩展程序都可能窃取所有 cookie 数据并将其发送到任何地方?

cookies google-chrome google-chrome-extension

0
推荐指数
1
解决办法
4661
查看次数

带有 cookie 的购物车生命周期

我有一个使用 Session 的购物车实现,并且想要迁移到基于 cookie 的购物车。此外,实际上我将完整的购物车存储在会话中,并希望迁移到只有 cartID 位于 cookie 中而内容位于数据库中的版本。

我读过很多博客文章,甚至还有关于 SO 的问题,但在某些领域仍然存在一些困惑:

  • cookie 生命周期如何?实际上,当新会话开始时,我会创建一个新购物车。然后,我根据客户操作管理会话(添加到购物车、从购物车中删除、结帐时清除)
  • 如何创建唯一的 cookieId
  • 处理数据库任务的最佳方法是什么?使用 jQuery 还是在服务器端处理所有事情更好?

例如,我正在使用 asp net mvc 和 c#。

cookies asp.net-mvc shopping-cart

0
推荐指数
1
解决办法
1168
查看次数

设置cookie不被检测到

我在尝试检索 cookie(如果已设置)时遇到问题,如果未设置,我想更新它然后检索它。

首先,我有一个设置 cookie 的函数:

func IndexHandler(w http.ResponseWriter, r *http.Request) {
    ...
    ck := http.Cookie{
        Name: "id",
        Value: 5,
        MaxAge: 60,
    }
}
Run Code Online (Sandbox Code Playgroud)

然后在另一个函数中,我检查该 cookie 是否存在,如果存在(抛出错误),则重新创建它

func CheckUpdateCookie(w http.ResponseWriter, r *http.Request) {
    val, err := r.Cookie("id")
    if err != nil {
        ck := http.Cookie{
            Name: "id",
            Value: 5,
            MaxAge: 60,
        }

        http.SetCookie(w, &ck)
        CheckUpdateCookie(w, r)
    }
}
Run Code Online (Sandbox Code Playgroud)

这会导致它陷入无限循环,并且无法识别 cookie 已被再次设置,如果我打印错误,http: named cookie not present即使我已经在函数体中设置了 cookie,我也会得到这个错误。

cookies go

0
推荐指数
1
解决办法
4194
查看次数

如何自动填写联系表7

在我的网站上,我使用联系表 7 将价目表发送给我们的潜在客户。他们只需要填写姓名和电子邮件即可。如果客户想要预订我们的服务,只需单击电子邮件中的链接即可进入另一个预订表格。我认为要求他们再次填写姓名和电子邮件看起来不太好,所以我想知道是否有办法从 cookie 或类似的东西自动填充?预先非常感谢

cookies wordpress autofill contact-form-7

0
推荐指数
1
解决办法
1万
查看次数