我应该用php清理会话吗?

我应该用php清理会话吗?,php,Php,显然,在创建会话时应该清理会话,但是在使用会话之前,人们对清理会话有什么想法 我应该用php清理会话吗 是的,因为我们知道: 另见: 我应该用php清理会话吗 是的,因为我们知道: 另见: 关于标准会话(使用cookie)的一些基本知识: 当用户第一次访问您的站点时,()将使用哈希作为文件名创建一个文件(或多或少随机()(请参见())。 PHP将在该文件中存储所有$\u会话变量。同时,用户将获得具有该哈希(会话id)的cookie。 如果用户请求另一个站点(发送带有会话id的c

显然,在创建会话时应该清理会话,但是在使用会话之前,人们对清理会话有什么想法

我应该用php清理会话吗

是的,因为我们知道:

另见:

我应该用php清理会话吗

是的,因为我们知道:

另见:


关于标准会话(使用cookie)的一些基本知识:
当用户第一次访问您的站点时,()将使用哈希作为文件名创建一个文件(或多或少随机()(请参见())。
PHP将在该文件中存储所有$\u会话变量。同时,用户将获得具有该哈希(会话id)的cookie。
如果用户请求另一个站点(发送带有会话id的cookie),PHP将检查带有该散列的文件是否存在。如果存在,则其中的所有内容都将读取到$\u会话中

用户接触到的所有内容都是散列。只要对写入$\u会话(来自用户)的所有内容进行清理,就不需要在读取这些值时再次检查


您所需要做的就是尽可能地(从您这边)使“窃取”会话id(…或使用它)变得困难。

一个好的开始是只允许cookies。URL中的会话ID最终被搜索引擎复制/粘贴或缓存

ini_set('session.use_cookies'     ,1);
ini_set('session.use_only_cookies',1);
ini_set('session.use_trans_sid'   ,0);
在会话开始()之前,请参阅以了解更多信息。


删除当前会话、创建新会话(新哈希)会迫使可能的攻击者快速行动

session_regenerate_id(true);
会话结束后,_start()正是这样做的。(())


另一种选择是保存用户IP(部分),并在会话更改时销毁会话

// first call:    
$_SESSION['userip'] = $_SERVER['REMOTE_ADDR'];

//following calls:
if ($_SESSION['userip'] != $_SERVER['REMOTE_ADDR']) { session_destroy(); } 
您可能会遇到问题,因为可能有一些用户经常更改IP。。也可以使用其他$\u服务器变量(例如$\u服务器['HTTP\u用户\u代理])()

你还可以做一些其他的事情(加密SID,这样人们就不会知道文件名,HTTPS总是很好,…),但这应该会让你开始。谷歌肯定会在“”上找到一些不错的教程


编辑:固定链接。

关于标准会话(使用cookie)的一些基本知识:
当用户第一次访问您的站点时,()将使用哈希作为文件名创建一个文件(或多或少随机()(请参见())。
PHP将在该文件中存储所有$\u会话变量。同时,用户将获得具有该哈希(会话id)的cookie。
如果用户请求另一个站点(发送带有会话id的cookie),PHP将检查带有该散列的文件是否存在。如果存在,则其中的所有内容都将读取到$\u会话中

用户接触到的所有内容都是散列。只要对写入$\u会话(来自用户)的所有内容进行清理,就不需要在读取这些值时再次检查


您所需要做的就是尽可能地(从您这边)使“窃取”会话id(…或使用它)变得困难。

一个好的开始是只允许cookies。URL中的会话ID最终被搜索引擎复制/粘贴或缓存

ini_set('session.use_cookies'     ,1);
ini_set('session.use_only_cookies',1);
ini_set('session.use_trans_sid'   ,0);
在会话开始()之前,请参阅以了解更多信息。


删除当前会话、创建新会话(新哈希)会迫使可能的攻击者快速行动

session_regenerate_id(true);
会话结束后,_start()正是这样做的。(())


另一种选择是保存用户IP(部分),并在会话更改时销毁会话

// first call:    
$_SESSION['userip'] = $_SERVER['REMOTE_ADDR'];

//following calls:
if ($_SESSION['userip'] != $_SERVER['REMOTE_ADDR']) { session_destroy(); } 
您可能会遇到问题,因为可能有一些用户经常更改IP。。也可以使用其他$\u服务器变量(例如$\u服务器['HTTP\u用户\u代理])()

你还可以做一些其他的事情(加密SID,这样人们就不会知道文件名,HTTPS总是很好,…),但这应该会让你开始。谷歌肯定会在“”上找到一些不错的教程


编辑:固定链接。

你说的“清理”是什么意思?好问题。MysqlRE和一些自定义str替换…不知道你是什么意思,但说到mysql,它不需要任何“清理”。mysql语法与会话或任何其他数据源无关。我仍然不清楚你的问题。你说的“清理”是什么意思好问题。MysqlRE和一些自定义str替换…不知道你是什么意思,但说到mysql,它不需要任何“净化”。mysql语法与会话或任何其他数据源无关。我仍然不清楚你的问题。“保存用户IP(部分)并在会话发生变化时销毁会话是另一种选择”当你移动到一个新的AP并且你的会话被破坏时,你必须爱……”另一个选项是保存用户IP(部分)并在会话发生变化时销毁会话“当你移动到一个新的AP并且你的会话被破坏时,你必须爱…”。。。