使用会话在PHP验证

我在我的本地WAMP服务器的两个PHP应用程序。 这两个应用程序使用相同的机制通过存储在会话的登录来检查验证。 我的问题是,如果我在一个应用程序成功登录,其他的应用程序登录,如果我自动在同一浏览器中打开。 这两个应用程序登录验证使用相同的PHP代码(我从一个应用程序复制到另一个)。

我关心的是两个应用如何共享WAMP服务器相同的会话? 我在做什么错了?

提前致谢。

--------------解决方案-------------

这些应用程序在同一域中运行的可能,例如http://localhost/app1http://localhost/app2 。 默认情况下,PHP的会话cookie的有效期为整个域,那么自然,这两个应用程序共享会话cookie。 这里是你可以做什么:

  • 使用不同的会话cookie名字任一应用程序(见http://www.php.net/manual/en/function.session-name.php如何做到这一点)
  • 运行在不同的域(或子域)的应用; 您可以通过添加假域到您的主机文件,并运行在不同的虚拟主机的Apache这两个应用程序在本地模拟这个(甚至在同一个虚拟主机,但随后这两个应用程序将可在两个伪域)
  • 限制在其上的会话cookie有效期(见http://www.php.net/manual/en/function.session-set-cookie-params.php了解详细信息)的路径。

会话使用cookie(默认名称为PHPSESSID )存储在浏览器会话密钥。

由于两个您的应用程序都在同一localhost域 ​​名,您的浏览器发送相同的会话ID这两个应用。

更可能的,这是由两个应用程序由被送达造成localhost域 ​​(也可能是同一cookie名称)。 由于应用程序具有相同的认证后端,它是有道理的,他们会表现得一样。

虽然这可能不会是在生产环境中孤立域的问题,考虑增加一个独特的身份验证令牌正在考虑用户的登录验证之前,每个应用程序。

另一种暂时的局部的解决办法是使用你的hosts文件在你的开发环境,以模拟不同的域。

会话密钥存储在浏览器的cookie。 浏览器中存储给定域的Cookie。 所以我觉得这两个应用程序在同一域中运行(本地主机?)。 如果是这样,你必须把它们分开有它的工作。

您也可以通过使用session_save_path()函数在应用程序中的一个存储在不同的地方不同的会话文件

分类:php 时间:2012-01-01 人气:0
本文关键词: PHP,验证,PHP 5.3
分享到:

相关文章

  • WCF服务显示异常时的WSHttpBinding和用户名,身份验证安全服务 2012-01-01

    我在.NET 4.0中创建一个workflowservice 我想,以确保本(WCF)服务,并使用下面的链接查看如何做到这一点. 我跟着指示,然而,当一个定义servicebehavior全部的寄托工作正常. 配置是这样的: <behaviors> <serviceBehaviors> <behavior> <serviceCredentials name="ServiceBehavior"> <userNameAuthentica

  • Silverlight的验证 - 自动显示验证消息 2012-01-01

    我终于得到了验证,我的Silverlight应用程序与MVVM工作. 现在我不知道是否有显示弹出到正确的验证信息,而无需先点击文本框里面自动的方法. 红色边框显示出来,但它会很好,如果信息是有作为. 有任何想法吗? --------------解决方案------------- 您可以编辑文本框的模板来改变如何/在哪里显示验证错误. 默认的文本框模板有他们在一个工具提示,你可以,比如移动的标签或文本块. 有关如何方便地显示在工具提示示例,请查看我的博客文章:以数据绑定,验证和MVVM到一个新的水

  • 客户方的验证工作不与子属性的ASP.NET MVC 2? 2012-01-01

    我有一个名为用户的对象,与属性名称 ,一个必需属性 . public class User { public int Id { get; set; } [Required] public string Name { get; set; } } 我创建了一个文本框,如下所示: <%= Html.TextBoxFor(model => model.Name) %> 当启用客户方的验证, 名称是完全有效的客户端. 但是,如果我创建一个视图模型,其中用户现在是一个属性 public class

  • 没有收到来自Vimeo的网站发送的验证邮件 2012-01-01

    当我与其他网站注册Vimeo的说,他们发验证邮件,所以我就可以登录到Vimeo,我没有收到电子邮件我能做些什么? 原标题:验证电子邮件. --------------解决方案------------- 嗨帕特里夏 - 谁是你的电子邮件服务提供商? 我建议你​​检查垃圾邮件/垃圾邮件文件夹,并检查是否被误收有确认邮件. 一般情况下,一些电子邮件服务提供商不寻常的来源为垃圾对待任何邮件. 如果你使用Hotmail,如果确认邮件确实是垃圾文件夹,可以选择特定的电子邮件,并点击"不是垃圾",直

  • 为什么这些存在验证失败 2012-01-01

    我试图验证使用模型:=>在某些领域如此,但被返回的模式,即使这些字段是零为有效存在. 这里是我的重播模式的验证: validate :match_id, :presence => true validate :replay_url, :presence => true validate :uploader_id, :presence => true 如果我打开控制台,然后输入以下内容,你可以明白我的意思: 1.9.3p0 :001 > r = Replay.new =>

  • Visual Studio中加载用于验证的String.Format方法 2012-01-01

    string.Format是一个非常危险的方法. 有很多的可能出错,没有任何编译错误的事情: string.Format("{0{", text); string.Format("{1}", text); string.Format("(0)", text); string.Format("{0}", text1, text2); 我正在寻找一种方式来找到编译时间这个问题. 如果我没有记错,ReSharper的发现一些这些错误

  • JQuery验证,如果单选按钮选项是肯定的 2012-01-01

    我想,当用户选择是只验证一个文本框. 如果选项为否,则文本字段不应该被验证(和它的隐藏也). 验证与验证从www.bassistance.de做插件 任何人都可以帮我吗? 我做了一个小提琴澄清. http://jsfiddle.net/logistef/PaTJ4/27/ --------------解决方案------------- 有一个看的验证API的依赖选项. 一个类似于这应该为你工作: $("#myForm").validate({ required: { depends:

  • 安卓:SD卡验证 2012-01-01

    如何验证,如果SD卡是否可用? 我的应用程序是一些声音保存到SD卡. 如果没有存储卡的手段,我的应用程序将强制关闭. 我不知道我能在这段时间做的. 任何人都可以请,我怎么能验证这之前我已经将数据保存到存储卡中. 更新 我发现上面这一点,并从这样用户也得到了很好的答案. 现在,我要检查记忆卡容量已满或不? 我怎么能这样做呢? 任何人指导我. 提前致谢. --------------解决方案------------- SD卡安装与否..... if(Environment.getExternalSt

  • 春季:如何解决验证错误 - >错误代码 - >错误信息 2012-01-01

    在Spring中,验证后,我们得到了一个BindingResult在对象controller . 很简单,如果我得到验证错误我想每个受灾现场上述错误信息再次显示我的状态. 因此,检查现场现场错误username我的FormObject我打电话: FieldError usernameFieldError = bindingResult.getFieldError("username"); 太好了,现在我持有FieldError物体,假设我使用的DefaultMessageCodeRes

Copyright (C) 55228885.com, All Rights Reserved.

55228885 版权所有 京ICP备15002868号

processed in 0.318 (s). 10 q(s)