从 ssl 迁移到非 ssl 时,会话不保存

2023-11-21

我有一个强制使用 ssl 的登录屏幕,如下所示:https://www.foobar.com/login然后他们登录后,就会转到主页:https://www.foobar.com/dashbaord

但是,我希望人们在登录后就不再使用 SSL(以节省 CPU),因此在检查他们是否确实登录后https://www.foobar.com/dashbaord我把它们移到http://www.foobar.com/dashbaord

好吧,这似乎总是会清除会话变量,因为当页面再次运行时,它确认它们已登录(就像所有页面一样)并且会话似乎不存在,因此它将它们移动到登录屏幕。

奇怪/发现:

  1. 项目清单
  2. 第二次登录总是有效,很高兴让我http://www.foobar.com/dashbaord
  3. 第一次登录成功创建cookie
  4. 如果我登录两次,然后注销,然后再次登录,我不需要两次登录(我似乎已经追踪到cookie存在的事实)。如果我删除 cookie,我就会回到两次登录状态。
  5. 第二次登录后,我可以从 ssl 切换到非 ssl,并且会话仍然存在。
  6. 第一次登录时,移动到非 ssl 站点会完全清除会话,手动移回 ssl 站点仍然迫使我再次登录。
  7. 第二次登录使用与第一次完全相同的机制,通过 ssl

我尝试过的:

  1. 使用 Cake 的 security.level 和 session.checkagent 设置 - 什么都没有
  2. 让 cake 将会话存储在数据库中(而不是文件系统)-什么也没有
  3. 在 XP 机器上在 FF、IE、Chrome 中进行测试。

所以我觉得这与 cookie 被创建但未被读取有关。

环境: 1. Debian 2.阿帕奇2 3.MySQL 4 4. PHP 5 5.CakePHP 6. 会话被 PHP 默认保存为文件


我明白了这一点。 Cake 在 SSL 连接下自动切换 session.cookie_secure ini 值,因此创建的 cookie 是一个安全 cookie,第二个页面无法识别。

解决方案,注释掉/cake/lib/session.php第420行ish:

ini_set('session.cookie_secure', 1);

(只需搜索即可找到它,因为我确信 # 行会随着版本的发布而改变。)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

从 ssl 迁移到非 ssl 时,会话不保存 的相关文章

  • PHP-FPM 和 Nginx:502 错误网关

    配置 Ubuntu 服务器 11 10 64 位 亚马逊AWS Ec2 托管在云上 t1 micro实例 在我写任何其他内容之前 我想声明我已经检查了两者nginx 502 错误网关 https stackoverflow com ques
  • 在 ruby​​ 中创建登录会话时理解“current_user”概念

    我正在阅读很棒的 Michael Hartl 教程来构建 ruby 应用程序here http ruby railstutorial org chapters sign in sign out sec 3acurrent user 我试图理
  • PHP - 如何将图像资源写入文件

    我用了函数imagecopyresampled到裁剪图像 我尝试使用file put contents和 fwrite 将 resized image 写入硬盘上的文件 但所有尝试都失败了 我可以将调整大小的图像写入磁盘而不是使用image
  • 使用 PHP 将 class="active" 添加到活动页面

    动态标头 CSS 类更改为活动使用 PHP 目录 我想要的班级 li 在活动目录下更改标签 现在 每个指南都向我展示了当您的页面等于它时如何执行此操作 但我想更改 这 li li 取决于我所在的目录 例如 如果说我在 http exampl
  • 在 CodeIgniter 中将数组与 Calendar 类一起使用

    我正在尝试为我的日历应用程序创建一个相当复杂的数组 它应该包含日期 日期名称 类型 和事件 如果有 我已经创建了这个 dates 22 day gt Friday type gt weekday 23 day gt Saturday typ
  • PHP 中的 Europe/London 和 UTC 有区别吗? [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我知道 UTC 和 GMT 实际上是
  • 根据选择值显示/隐藏字段

    我试图根据我选择的字段之一的值显示和隐藏一些表单字段 我希望使用数组来保存每个选择值应该显示的内容和不应该显示的内容 以将我从大量的 switch 语句中拯救出来 但无法弄清楚如何做到这一点 我正在使用 PHP 和 jQuery 任何帮助都
  • 将变量设置为函数调用以在 PHP 中的 if 语句中使用

    好的 我正在做一些 Wordpress 编辑 并且编写了一个 if 语句 正如您所看到的 这使用函数调用作为变量 这是因为函数调用会调用当前页面的名称 这很好 然而 当我这样做时 它也往往会与页面上的标题相呼应 这是有道理的 我可能正在尝试
  • mongodb从不同数据库中选择

    我有大约 200 个 mongodb 数据库 每个数据库都有一个名为 Group 的集合 在该集合中有一个名为 meldingId 的字段 是否可以进行一个 mongodb 查询来查找不同数据库中的所有值 我设法通过 selectDB da
  • 如何判断是否ob_start();已经被调用了

    我使用输出缓冲进行 gzip 压缩并访问之前在 PHP 脚本中发布的内容 if ob start ob gzhandler ob start 现在 如果该脚本包含在另一个已使用 ob start 的脚本中 我会收到警告 警告 ob star
  • 如何获取与我当前所在商店相关的产品所属类别 ID

    我在产品页面上并拥有产品对象 但是当我尝试使用以下方式获取类别 id 时 product gt getCategoryIds or product gt getResource gt getAttribute category ids gt
  • 自动检测内部/外部开发环境

    我们使用以下函数来自动检测我们是在内部机器上还是在实时服务器上 然后为各种组件选择适当的配置 function devIsLocal res false http host SERVER HTTP HOST if http host loc
  • PHP - 当 false 时获取 bool 来回显 false

    以下代码不会打印出任何内容 bool val bool false echo bool val 但下面的代码打印1 bool val bool true echo bool val 有没有更好的打印方法0 or false when boo
  • 如何在 PHP 中使用 file_get_contents 获取图像的 MIME 类型

    我需要获取图像的 MIME 类型 但我只有图像的正文file get contents 是否有可能获取 MIME 类型 是的 你可以这样得到它 file info new finfo FILEINFO MIME TYPE mime type
  • 如何使用 jQuery 通过 Ajax 发送复选框数组的值?

    我有一个包含很多表单字段的表单 12 x n 行 每行中的第一个字段 代表产品 是一个类似于以下内容的复选框
  • array_merge 更改键

    我得到以下数组 arr array 6 gt Somedata 7 gt Somedata1 8 gt Somedata2 问题是 当我使用array merge array Select the data arr 它确实将数组键更改为 A
  • 通过 jQuery 从输入类型=“文件”多个中删除文件

    我在使用 PHP 和 jQuery 上传文件时遇到问题 表单可以一次上传多个图像 这些图像可以在滑块中预览 表单还包含两个字段标题和描述 滑块通过 jQuery 工作 当用户通过单击选择文件来选择多个图像时
  • WordPress 中的 add_action 函数

    嗯 我正在学习创建一个 WordPress 插件 我下载了一个并阅读了代码 然后我看到了这个 我假设 foo 是它将添加操作的标签 但是 array 到底是做什么的呢 add action foo array foo1 foo2 我在看ht
  • 如何从 Laravel 中的表中选择所有列名称?

    我试图从表中获取所有列名Teller 功能 public function getTableColumns tables return DB select DB raw SELECT COLUMN NAME DATA TYPE COLUMN
  • PHP 如何判断用户是否按下了 Enter 键或 Submit 按钮?

    我遇到的问题是我在一个表单中有多个提交输入 每个提交输入都有不同的值 我更愿意将它们保留为提交 Whenever the user presses Enter it is as though the topmost submit input

随机推荐

  • C# 如何获取来电显示?

    我想使用 56K 调制解调器获取拨打家庭电话的电话号码 有没有办法用 C 来实现这一点 并非所有调制解调器都支持主叫号码 对于那些这样做的人 制造商之间的实施方式有所不同 呼叫者 ID 通过串行数据传递 因此您必须使用TAPI库 或使用 W
  • 如果我想要空插值(分段常数),那么 numpy.interp 的最佳替代品是什么?

    numpy interp很方便 也比较快捷 在某些情况下 我想将其输出与非插值变体进行比较 其中稀疏值被传播 在 更密集 的输出中 并且结果是稀疏输入之间的分段常数 我想要的函数也可以称为 稀疏 gt 密集 转换器 它复制最新的稀疏值 直到
  • React Native 和 THREE.js(WebGL 库)集成

    我正在开发一个使用 React Web 和 React Native 的项目 我已经实现了一个 React Web 组件 它允许您从 OBJ MTL 和图像文件加载 3D 模型 加载模型后您可以对其进行编辑 在其上附加 3D 标签等内容 最
  • 期望有根视图控制器控制台的应用程序

    当我运行我的应用程序时 我在控制台中收到一条消息 2011 11 16 19 17 41 292 Juice 8674 707 应用程序预计在应用程序启动结束时有一个根视图控制器 我听别人说这与方法有关didFinishLaunchingW
  • 我可以在卫星程序集中合并本地资源吗?

    我有很多本地资源文件 Controls App LocalResources SomeControl ascx resx Pages App LocalResources SomePage aspx resx 等 我想添加另一种语言 但我不
  • Windows 窗体:检测焦点控件的变化

    我正在 Windows 窗体应用程序中实现复制粘贴 当用户更改应用程序中的焦点元素时 我需要启用 禁用这两个操作的栏按钮 我可以使用这样的方法找到当前的焦点控件 http www syncfusion com FAQ windowsform
  • Delphi:确定泛型的实际类型?

    有什么方法可以确定作为参数传递给方法的变量的类型吗 考虑一下这个类 TSomeClass class procedure AddToList
  • 如何检查 mysqli_query 是否删除了任何行[重复]

    这个问题在这里已经有答案了 我创建了从数据库中删除一些数据的函数 这是其中的一部分 mysqli query con DELETE FROM appsdata WHERE ownerID 123 但我想检查删除了多少行 mysql quer
  • 通过查找/替换 (Ctrl+F) 删除 Eclipse 代码编辑器中的空行

    我想通过 Eclipse 代码编辑器中的查找 替换方法从代码中删除所有空白行 我使用了正则表达式 n s n找到所有空白行但出现错误 Incompatible line delimiter near index 55110 用任何字符串替换
  • 如何获取特定类型类实例的多态函数的类型?

    例如 输入 t ap在 GHCi 中给出结果 ap Monad m gt m a gt b gt m a gt m b 如果我已经知道我要使用的 Monad 实例是 gt r 如何查询类型ap对于那个特定的例子 As 激光烟说作为评论你可以
  • 使用 Eclipse/Tomcat 自动将第 3 方 jar 添加到 WEB-INF/lib [重复]

    这个问题在这里已经有答案了 我在 Eclipse 上设置了一个动态 Web 项目 并使用 Tomcat 7 作为我的 Web 服务器 它似乎不会自动将我添加到构建路径上的库中的第 3 方 JAR 放入 WEB INF lib 文件夹中 有没
  • 创建 IE 插件

    我正在寻找为 IE 8 或 9 制作插件的教程 你能给我提供资源吗 拜托 为了和平和其他一切 我已经知道我可以制作 FF 或 Chrome 插件 我want制作一个 IE 插件 Thanks 你见过吗这个网站
  • 如何使 C# 枚举与数据库中的表保持同步

    这是一个稍微简化的示例 我对其进行了更改以隐藏实际代码 我有一个数据库驱动的应用程序和一个单独开发的小工具 旨在与该应用程序一起使用 有一个表定义了枚举 但它可能会随着时间的推移而改变 假设某个应用程序 医疗 需要相当精确地跟踪一个人的性别
  • WPF 用户控件上下文菜单可见性绑定

    我的用户控件上下文菜单可见性无法绑定依赖属性 任何想法 这是我的 WPF 代码
  • 如何在C#中多次使用StopWatch?

    我有执行不同操作的简短代码 我想测量执行每个操作所需的时间 我在这里阅读了有关秒表类的信息 并且想要优化我的时间测量 我的函数调用了 5 个其他函数 我想在不声明的情况下测量每个函数 stopwatch sw1 new stopwatch
  • 将 C# 对象发送到 webapi 控制器

    我正在尝试将 C 对象传递给 Web api 控制器 该 API 配置为存储发布到它的 Product 类型的对象 我已经使用 Jquery Ajax 方法成功添加了对象 现在我尝试在 C 中获得相同的结果 我创建了一个简单的控制台应用程序
  • 在appendChild之后添加事件监听器

    我创建一个元素 eltTooltip with document createElement等等并将其添加到 DOM 像这样 idTooltip包含id of eltTooltip document body appendChild elt
  • 如何在 java SSL 客户端应用程序中支持多个 TrustStore

    在我们的 java 应用程序中 我们需要使用 https 协议与 SSL 上的服务器列表进行通信 要通信的服务器列表将在运行时更改 最初我们没有任何服务器的证书 在运行时 我们将获取新的服务器证书并将公钥证书添加到信任库中 并且与服务器的任
  • 在 swift 中按串行顺序同步多个 Web 服务调用

    我点击 Web 服务 URL 10 次并得到响应 我在用Alamofire and SwiftyJSON 这是我的控制器代码 class ViewController UIViewController let dispatchGroup D
  • 从 ssl 迁移到非 ssl 时,会话不保存

    我有一个强制使用 ssl 的登录屏幕 如下所示 https www foobar com login然后他们登录后 就会转到主页 https www foobar com dashbaord 但是 我希望人们在登录后就不再使用 SSL 以节