我的 cookie 是不是在我的 Firefox 中设置?

Posted

技术标签:

【中文标题】我的 cookie 是不是在我的 Firefox 中设置?【英文标题】:Do my cookie be set or not in my firefox?我的 cookie 是否在我的 Firefox 中设置? 【发布时间】:2016-04-19 11:18:40 【问题描述】:

Lamp 安装在我的操作系统为 debian8 的本地电脑上。 也就是说客户端和服务器都安装在我的本地电脑上。 以下代码在我的本地电脑上保存为 setcookie.php

<?php
setcookie("user", "Alex Porter", time()+36000);
?>

<html>
<body>

</body>
</html>

现在php setcookie.php 在我的本地电脑上执行。 以下代码都是在我的本地电脑上执行的。

find /  -name   "cookies.sqlite"
/home/debian8/.mozilla/firefox/joww2h34.default/cookies.sqlite

sqlite3  /home/debian8/.mozilla/firefox/joww2h34.default/cookies.sqlite
sqlite> .tables
moz_cookies
sqlite>     PRAGMA table_info([moz_cookies]);
0|id|INTEGER|0||1
1|baseDomain|TEXT|0||0
2|appId|INTEGER|0|0|0
3|inBrowserElement|INTEGER|0|0|0
4|name|TEXT|0||0
5|value|TEXT|0||0
6|host|TEXT|0||0
7|path|TEXT|0||0
8|expiry|INTEGER|0||0
9|lastAccessed|INTEGER|0||0
10|creationTime|INTEGER|0||0
11|isSecure|INTEGER|0||0
12|isHttpOnly|INTEGER|0||0

sqlite>     select *  from moz_cookies where name="Alex Porter";
sqlite> select *  from moz_cookies where name="user";

为什么没有为他们两个选择信息? 我的 cookie 是否在我的 Firefox 中设置? 如果是我的firefrox上设置的,为什么sqlite语句中不能选择? 在我看来,sql命令select * from moz_cookies where name="Alex Porter";会得到这样的东西

name  user  value Alex Porter  expires 1515832198

没有显示。 正如 Aadil P. 所说,该文件在 /var/www/html/tmp/setcookie.php 中保存为 setcookie.php。 在 Firefox 中执行 127.0.0.1/tmp/setcookie.php。 用 firebug 打开 Cookies。

此处显示正确的结果。 仍然存在两个问题: 1.cookie有多少个字段?

PRAGMA table_info([moz_cookies]);
0|id|INTEGER|0||1
1|baseDomain|TEXT|0||0
2|appId|INTEGER|0|0|0
3|inBrowserElement|INTEGER|0|0|0
4|name|TEXT|0||0
5|value|TEXT|0||0
6|host|TEXT|0||0
7|path|TEXT|0||0
8|expiry|INTEGER|0||0
9|lastAccessed|INTEGER|0||0
10|creationTime|INTEGER|0||0
11|isSecure|INTEGER|0||0
12|isHttpOnly|INTEGER|0||0

firebug cookie 寡妇中只有名称、值、域、原始大小、路径、过期、httponly、安全性。 为什么不一样?相关国际标准上有多少cookie元素?

2.如何编写正确的sql命令?

select *  from moz_cookies where name="user";
select *  from moz_cookies where Name="user";

他们都一无所获。

【问题讨论】:

试试SELECT name, value FROM moz_cookies WHERE baseDomain = '***.com';。您是如何尝试实际设置 cookie 的? 该文件在我的本地电脑上保存为“setcookie.php”,并执行了“php setcookie.php”。 您想在cookie中设置数据库值并想在您的网站中访问? en.wikipedia.org/wiki/… 只有六个元素(或者说讨论的字段:域和路径、过期和 Max-Age、安全和 HttpOnly,但在 cookie.sqlite 中讨论了 12 个元素:baseDomain、appId、inBrowserElement、name、value、 host,path,expiry,lastAccessed,creat‌​ionTime,isSecure,isHttpOnly. 相关国际标准上有多少cookie元素? 【参考方案1】:

您正在使用 php setcookie.php 通过 cli 执行 php 文件(根据您的评论)。 Cookie 或 HTTP Cookie 存储在用户的网络浏览器中...... [根据*** - https://en.wikipedia.org/wiki/HTTP_cookie]

如 CL 所述,您需要在浏览器中打开/执行此 php 文件。

由于您已安装 LAMP,将脚本(php 文件)移动到 LAMP 文件夹并通过调用该文件在浏览器中打开页面,您的 url 地址栏应类似于 http://localhost/setcookine.php(orhttp://127.0.0.1//setcookie.php)或类似的东西取决于文件所在的位置。

编辑: 你为什么不尝试简单地列出表格的所有cookie

SELECT id,name FROM moz_cookies;

查看是否有任何 cookie? 如果您在列表中看到 cookie,则您的查询有错误,否则您可能完全在错误的 sqlite 文件中。

也试试下面的方法

select * from moz_cookies where name like "%name%";

【讨论】:

***页面上提到了 cookie 的属性(cookie 的字段)。您能否让我们更好地了解您实际想要实现的目标? 第二个问题解决了,重启电脑后,可能是缓存的问题。 第一个,为什么firefox的cookies.sqlite中的cookie字段和firebug cookie window的不一样? 在 url [en.wikipedia.org/wiki/… 中,只有六个元素(或者说讨论的字段:域和路径,过期和 Max-Age,安全和 HttpOnly,但在 cookie.sqlite 中讨论了 12 个元素:baseDomain, appId,inBrowserElement,name,value,host,path,expiry,lastAccessed,creationTime,isSecure,isHttpOnly. 相关国际标准上有多少cookie元素?【参考方案2】:

要在 Firefox 中设置 cookie,您必须在 Firefox 中查看网页。

您可能想运行PHP server on local machine。

【讨论】:

但是您没有从 Firefox 访问它。

以上是关于我的 cookie 是不是在我的 Firefox 中设置?的主要内容,如果未能解决你的问题,请参考以下文章

在我的 iOS 应用程序中,是不是有任何理由为会话 cookie 设置 HttpOnly 和 Secure 标志?

为啥 Postman 在我的 React 应用程序中接收到 express 会话 cookie 而不是我的 post 请求

无法在 Firefox 中设置和取消设置 Cookie

为啥 Firefox 会改变我的输入/占位符颜色?

MVC3 不接受 cookie

如何在我的 Chrome / Firefox 浏览器中查看 SQLite 数据库?