相关疑难解决方法(0)

PHP会话安全

使用PHP维护负责任的会话安全性有哪些指导原则?整个网络上都有信息,这是关于它们在一个地方落地的时间!

php security

125
推荐指数
6
解决办法
8万
查看次数

防止会话劫持的最佳方法是什么?

具体而言,这与使用客户端会话cookie来识别服务器上的会话有关.

对整个网站使用SSL/HTTPS加密是最好的答案,并且您可以最好地保证中间人攻击中没有人能够嗅探现有的客户端会话cookie吗?

也许第二最好对存储在会话cookie中的会话值本身使用某种加密?

如果恶意用户具有对计算机的物理访问权限,他们仍然可以查看文件系统以检索有效的会话cookie并使用它来劫持会话?

security cookies session

122
推荐指数
7
解决办法
13万
查看次数

PHP会话劫持及其方法

当我真的想知道什么阻止某人模仿会话时,我试图构建我自己的安全PHP会话类?

IE,为什么不在test.php上的代码

$_SESSION['logged_in'] = true;
Run Code Online (Sandbox Code Playgroud)

无法在index.php上工作

if($_SESSION['logged_in'] == True){
 echo 'logged in';
}
Run Code Online (Sandbox Code Playgroud)

我知道这样做的方法是通过将会话锁定到IP地址和用户代理来生成安全ID来保护会话,但这究竟是如何工作的呢?

意思是,如果我能够猜测会话ID,我能够设置$ _SESSION ['logged_in'] = true并模拟登录吗?我应该更改SESSION变量以检查登录更安全吗?

对不起我的问题,希望我有所帮助......

php security session

6
推荐指数
1
解决办法
401
查看次数

PHP会话足够用户身份验证吗?

场景:

  • 用户登录后,会设置会话变量以确认其登录.
  • 在每个页面的顶部,登录会话变量被确认有效
  • 如果不是,他们就会被淘汰出局.
  • 不使用持久性cookie session

题:

这是一个足够强大的安全措施本身,还是我应该

  • 设置两个会话变量以验证彼此和/或
  • 实现数据库/哈希验证
  • ...?

========

(顺便说一句,在我研究这个问题时,这个wiki是一个很棒的读物.)

php security session login

4
推荐指数
1
解决办法
3999
查看次数

php会话安全查询

谢谢你的回复.我已经更新了我的PHP会话代码.

我已经摆脱了用户代理检查,因为@Rook已经向我展示了逻辑中的缺陷.

不幸的是我通过编辑它搞砸了原来的问题,现在我无法回复对不起的家伙,但@Rook确实解决了我原来的问题.

再次感谢您的帮助,daza166

php security session login

4
推荐指数
1
解决办法
3051
查看次数

在GoDaddy上劫持会话变量有多容易(PHP)

这篇文章指出

如果您的站点在共享Web服务器上运行,请注意同一服务器上的任何其他用户都可以轻松查看任何会话变量.

在像GoDaddy这样的大型主机上,是否真的没有针对此的保护措施?这真的很容易吗?如果这很容易,我主机上其他用户的会话变量在哪里,我可以查看它们?

php security session-hijacking

3
推荐指数
1
解决办法
2695
查看次数

PHP 会话在页面更改时不保值

我知道有很多关于这个主题的帖子,但没有一个解决了我的问题。

我的 Windows 计算机上运行着 WAMP 服务器。我创建了一个登录系统,它能够设置 PHP 会话并验证它们在创建的页面上是否正常工作。一旦我切换到不同的页面,无论是通过输入 URL 还是 javascript 函数,我都会丢失会话。

这是我登录用户的 test.php

  require_once('config.php');

  $user = new User();
  $result = $user->login('email@gmail.com', 'mysecretpassword');
  echo $result;
  echo '</br>';
  $result = $user->isLoggedIn();
  echo $result;
Run Code Online (Sandbox Code Playgroud)

这是用户实际登录的功能

public function login($email, $password) {

  // Hash Password
  $password = $this->hashPassword($password);

  // Check if email and password match
  $query = "SELECT id, confirm_email FROM users WHERE email = ? AND password = ?";

  $a_bind_params = array($email, $password);
  $a_param_types = array('s','s');
  $results = $this->db->select($query, $a_bind_params, $a_param_types);

  // If …
Run Code Online (Sandbox Code Playgroud)

php session

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

标签 统计

php ×6

security ×6

session ×5

login ×2

cookies ×1

session-hijacking ×1