【发布时间】:2014-10-01 00:20:20
【问题描述】:
我正在为智能手机开发一个 WEB-APP,并且对登录程序有一些疑问。
假设用户已经注册,用户在我的网站上要做的第一件事就是使用用户名和密码登录门户。 该用户名和密码被发送到一个 php 登录函数,该函数根据盐值等检查信息是否正确。 如果信息正确,则会创建以下项目并且用户已登录。
$_SESSION['user']=$id;
$cookieLifetime = 365 * 24 * 60 * 60; // A year in seconds
setcookie(session_name(),session_id(),time()+$cookieLifetime);
稍后在网站中,用户使用会话调用数据库以提取与该用户相关的信息。
例如,我正在为 AGENTS 构建一个客户管理系统,其中 AGENTS 可以将客户信息存储到我们的数据库中。每个客户端都有一个与之关联的 AGENT ID,这是 AGENT 在站点上注册时收到的 ID,并且此 ID 在 AGENT 登录时也存储在会话中。 当代理登录到他们的门户时,php 脚本会进行数据库调用并返回与代理 ID 号关联的所有客户端。
任何人都可以篡改会话 ID 吗?如果是这样,我该怎么做才能解决它?
【问题讨论】:
-
PHP 不是我的菜,但你确定你必须自己创建那个 cookie 吗?
-
Arjan cookie 是为 iphone web 应用程序创建的,我将减少它的时间。
-
不确定你在说什么/问什么。我看到“任何人都可以篡改会话ID吗?”,这可能已经在SO的某个地方得到了回答。但是您也表明您正在创建自己的 cookie,因此可能是根据该 cookie 自己获取/恢复(甚至创建 ...?)会话,而不是拥有框架(或 PHP)为您获取会话?和代理的部分似乎无关?
标签: php html mysql security session