在stackoverflow上看到关于 php Session 安全的讨论,特记录之。(http://stackoverflow.com/questions/328/php-session-security)
1.使用SSL
2.重设session_id
引用
PHP中可以:session_regenerate_id(true);
3.设置session有效时间
可以参考鸟哥的文章:http://www.laruence.com/2012/01/10/2469.html
4.不是全局变量
5.存储信息在服务器上,不发送重要信息到cookie上
6.检查用户user_agent和IP
引用
PHP 使用:if ($_SESSION['user_agent'] != $_SERVER['HTTP_USER_AGENT']
|| $_SESSION['user_ip'] != $_SERVER['REMOTE_ADDR']) {
//Something fishy is going on here?
}
7.设置 httpOnly 避免 Session 攻击
参考:http://ilia.ws/archives/121-httpOnly-cookie-flag-support-in-PHP-5.2.html
8.Lock down access to the sessions on the file system or use custom session handling
引用
可是自定义session session_set_save_handler()
将session存储在DB, memcached等
9.For sensitive operations consider requiring logged in users to provide their authenication details again
分享到:
相关推荐
本内容将深入分析PHP中的Session安全问题,并给出相应的防范措施。 PHP Session工作原理: 首先,需要了解PHP Session的基本工作原理。Session在用户首次访问网站时创建,服务器会生成一个唯一的Session ID,并通过...
在PHP编程中,Session是一种非常重要的机制,用于在用户的不同页面请求之间保持状态。它允许开发者存储用户信息,如登录状态、购物车内容等,即使用户在网站上浏览不同的页面,也能保持这些信息的连续性。现在我们来...
**PHP的Session基础** 在Web开发中,PHP的Session机制是一种非常重要的用户状态...在实际项目中,还需考虑Session的存储方式(默认为文件系统,也可以配置为数据库)、Session超时设置以及防止Session劫持的安全措施。
一个良好的Session操作类可以极大地提升代码的可维护性和安全性。本文将深入探讨标题为"php session操作类"的文件——`session_class.php`中可能包含的关键知识点。 首先,我们来了解Session的基本概念。Session是...
综上所述,理解并掌握PHP Session的配置与应用对于开发高效、安全的Web应用至关重要。通过合理使用Session,开发者能够为用户提供个性化的体验,同时确保数据的安全性。在实际项目中,结合具体需求灵活运用这些知识...
在PHP编程中,跨域(Cross-Origin)和伪造SESSION(Session Hijacking)是两个重要的安全概念,它们都与Web应用程序的安全性密切相关。本篇文章将详细解释这两个概念,并提供相关的解决方案和预防措施。 首先,让...
除了基本的Session使用方法之外,PHP还提供了更多的高级功能,如自定义存储机制、安全性和性能优化等。 **4.1 自定义存储机制** 默认情况下,PHP将Session数据存储在文件系统中,但这并不是唯一的选择。还可以选择...
在PHP开发中,Session管理是不可或缺的一部分,尤其是在大型分布式系统中。传统的session存储方式,如文件或数据库,可能无法满足高并发、高可用性的需求。为了解决这个问题,我们可以利用memcache(或其升级版...
本主题聚焦于“PHP MySQL数据库存储session”,这涉及到如何使用PHP将用户的session数据存储在MySQL数据库中,以实现更安全、可扩展的会话管理。 首先,让我们了解一下session的基本概念。Session是一种在服务器端...
Session 的安全性至关重要,尤其是在处理敏感信息时。以下是几个提高 Session 安全性的方法: - **使用 HTTPS**:使用 HTTPS 协议可以加密传输的数据,保护 Session ID 不被截获。 - **定期更新 Session ID**:通过...
### PHP中的Session全面教程 #### 一、Session概念与作用 ...了解并掌握如何在PHP中正确地使用Session,对于构建安全可靠的Web应用至关重要。希望本文能够帮助您更好地理解和运用PHP中的Session机制。
在用户登出时,清除session是非常重要的,以确保用户安全退出。在PHP中,可以使用`session_unset()`和`session_destroy()`函数来达到这个目的。`session_unset()`函数会清除所有session变量,而`session_destroy()`...
### PHP Session阻塞问题分析与优化 #### 一、PHP Session阻塞现象解析 在进行PHP Web开发过程中,经常会遇到由于长时间运行的脚本导致其他请求被阻塞的情况,这通常被称为“Session阻塞”。具体表现为:当一个...
Session是Web应用程序中用于跟踪用户状态的一种机制,它存储在服务器端,与传统的基于cookie的客户端存储方式相比,更安全且能存储大量数据。然而,当一个网站部署在多台服务器上时,单个服务器上的session无法在...
在PHP编程中,控制session的超时时间是一个重要的议题,特别是在需要精确管理用户登录状态的场景下。PHP的默认session超时时间为1440秒(即24分钟),但有时候开发者可能需要自定义更短或更长的超时时间以满足特定...
- 虽然Session相对安全,但还需注意防止Session劫持和固定Session ID攻击。应定期更新Session ID,并使用HTTPS确保数据传输安全。 通过这个实例,开发者不仅可以学习如何在PHP中使用Session来实现购物车功能,还...
Session数据存储在服务器端,因此相对安全,适合存储敏感信息如用户身份、权限等。 **Cookie**: Cookie是服务器发送到用户浏览器并存储在本地的一小段文本信息。它主要用于跟踪用户状态,如保持登录状态、个性化...
PHP的`session`机制用于存储用户会话数据。一旦用户成功登录,你可以启动一个新的会话,并将用户的ID或其他标识符存储在`$_SESSION`全局变量中,以便后续页面可以识别用户的身份。例如: ```php session_start(); $...
本文在PHP中利用MD5()函数对Session值以及SessionID值进行Hash处理,确切地说,是在SessionID值的储存机制上添加了MD5算法,作了一些浅析,相信在Session安全防范方面会起到一定的作用。 MD5算法与Session Hash ...