当前位置:首页 » 编程语言 » phpsessionid

phpsessionid

发布时间: 2022-07-29 05:14:26

1. php中的sessionId是干什么的

SESSION_ID会话ID。

session_data是编码会话数据。这个数据是在PHP内部编码$_SESSION超全局,以序列化字符串,并把它当作这个参数的结果。

请注意会话使用替代序列化方法。

返回值

会话存储的返回值(通常成功返回 0,失败返回 1)。

2. php中“session_id()”是什么意思

session_id()

session_id() 存取目前 session 代号。

语法: string session_id(string [id]);

本函数可取得或者重新配置目前存放 Session 的代号。若无参数 id 则表示只有取得目前 Session 的代号,加上参数则表示将 Session 代号设成新指定的 id。输入及返回均为字符串。

输出 session_id()
<?php
session_start();
echo session_id();
// 输出 dqr58dnuqj2gufvg4o3tmjb9v4
?>

设置 session_id()
<?php
session_id("NowaMagic");
session_start();

echo session_id();
// 输出 NowaMagic
?>

3. php 如何获取所有的 sessionid

session的高级用法,

把session写到memcache或数据库里,就可以实现了

您也可以向我们团队发出请求,会有更专业的人来为您解答。

如果我的回答没能帮助您,请继续追问。

4. php中 session_id() 是什么意思

session_id()

session_id() 存取目前 session 代号。

语法: string session_id(string [id]);

本函数可取得或者重新配置目前存放 Session 的代号。若无参数 id 则表示只有取得目前 Session 的代号,加上参数则表示将 Session 代号设成新指定的 id。输入及返回均为字符串。

输出 session_id()
<?php
session_start();
echo session_id();
// 输出 dqr58dnuqj2gufvg4o3tmjb9v4
?>

设置 session_id()
<?php
session_id("NowaMagic");
session_start();

echo session_id();
// 输出 NowaMagic
?>

5. php怎么根据sessionid找session呢

例如:某session的id名为:session_id
可用下面访问
$_SESSION['session_id'];

6. php 如何使用cookie安全的保存登录状态sessionid

同样还是将用户的认证信息保证在一个cookie中,具体如下:
1.cookie名:uid。推荐进行加密,比如MD5('站点名称'+userid)。
2.cookie值:登录名|有效时间Expires|hash值。hash值可以由"登录名+有效时间Expires+用户密码(加密后的)的前几位+salt",salt是保证在服务器端站点配置文件中的随机数。
这样子设计有以下几个优点:
1.即使数据库被盗了,盗用者还是无法登录到系统,因为组成cookie值的salt是保证在服务器站点配置文件中而非数据库。
2.如果账户被盗了,用户修改密码,可以使盗用者的cookie值无效。
3.如果服务器端的数据库被盗了,通过修改salt值可以使所有用户的cookie值无效,迫使用户重新登录系统。
4.有效时间Expires可以设置为当前时间+过去时间(比如2天),这样可以保证每次登录的cookie值都不一样,防止盗用者窥探到自己的cookie值后作为后门,长期登录。

7. php sessionid怎么获取

用session_id()函数获取

示例:

<?php
session_start();
echosession_id();

?>

8. 用PHP怎么在session里存多个id

这个你不用担心,每个session都有唯一的session_id,每次生成session,php都会自动生成1条唯一的session

session_id是不会打印出来的

只能另行输出 echo session_id()
或者可以:
Session 的工作机制是:为每个访问者创建一个唯一的 id (UID),并基于这个 UID 来存储变量。UID 存储在 cookie 中,亦或通过 URL 进行传导。

前序:

首先要明白PHPSESSID看似多次刷新都不会改变其实是没有删除本地相关联的cookie,删除的方法

session_destroy();//删除服务器端的session文件

setcookie(session_name(),'',time()-3600,'/');//删除本地相关联的cookie

session_unset();//清空内存中的cookie或者是$_SESSION = array();

然后再刷新相应的页面你就会看到PHPSESSID会发生变化了,根据此可以得:如果session文件已经创建则不重新生成PHPSESSID,否则需要重新生成,生成规则,就看下边喽……!

--------------------------------------------------------------------------------------------------------------------------------------

现在经过测试应该是不是检测session文件是否存在,而是检测PHPSESSID的cookie是否存在并且是否未过期!特此更正!

------------------------------------------------------------------------------------------------

可能PHP开发者心中多少都思考过这么两个问题:

种植在客户端浏览器中的PHPSESSIONID会出现重复吗?
PHPSESSIONID安全性如何,有没可能被黑客轻易的仿造呢?
带上这个问题,我稍微注意了一下PHP的源码后,疑问也就有了答案。

PHP在使用默认的 session.save_handler = files 方式时,PHPSESSIONID的生产算法原理如下:

hash_func = md5 / sha1 #可由php.ini配置
PHPSESSIONID = hash_func(客户端IP + 当前时间(秒)+ 当前时间(微妙)+ PHP自带的随机数生产器)

从以上hash_func(*)中的数据采样值的内容分析,多个用户在同一台服务器时所生产的PHPSESSIONID重复的概率极低(至少为百万份之一),设想,但台动态Web Server能到2000/rps已经很强悍了。

另外,黑客如果要猜出某一用户的PHPSESSIONID,则他也必须知道“客户端IP、当前时间(秒、微妙)、随机数”等数据方可模拟。

以下是截取PHP源码中PHPSESSIONID实现片段:

gettimeofday(&tv, NULL);

if (
zend_hash_find(&EG(symbol_table), "_SERVER", sizeof("_SERVER"), (void **) &array) == SUCCESS &&
Z_TYPE_PP(array) == IS_ARRAY && zend_hash_find(Z_ARRVAL_PP(array), "REMOTE_ADDR", sizeof("REMOTE_ADDR"), (void **) &token) == SUCCESS)
{
remote_addr = Z_STRVAL_PP(token);
}

spprintf(&buf, 0, "%.15s%ld%ld%0.8F", remote_addr ? remote_addr : "", tv.tv_sec, (long int)tv.tv_usec, php_combined_lcg(TSRMLS_C) * 10);

switch (PS(hash_func))
{
case PS_HASH_FUNC_MD5:
PHP_MD5Init(&md5_context);
PHP_MD5Update(&md5_context, (unsigned char *) buf, strlen(buf));
digest_len = 16;
break;
case PS_HASH_FUNC_SHA1:
PHP_SHA1Init(&sha1_context);
PHP_SHA1Update(&sha1_context, (unsigned char *) buf, strlen(buf));
digest_len = 20;
break;
default:
php_error_docref(NULL TSRMLS_CC, E_ERROR, "Invalid session hash function");
efree(buf);
return NULL;
}

9. php怎么通过sessionid获取session-CSDN论坛

t.php文件代码:
<?php
OB_START();
@Session_start();
$sessionId = session_id();
echo $sessionId;
$_SESSION['abc']=123;
?>
<a href=t2.php?SESSIONID=<?= $sessionId;?>>获取session</a>

t2.php文件代码:
<?php
var_mp(session_id($_GET['SESSIONID']));
?>
t2.php也需要开启session:
<?php
@Session_start();
var_mp(session_id($_GET['SESSIONID']));
?> 《session_name() 返回当前session的名称》
CSDN创立于1999年,是中国最大的IT社区和服务平台,为中国的软件开发者和IT从业者提供知识传播、职业发展、软件开发等全生命周期服务,满足他们在职业发展中学习及共享知识和信息、建立职业发展社交圈、通过软件开发实现技术商业化等刚性需求。拥有超过3000万注册会员(其中活跃会员800万)、50万注册企业及合作伙伴。

10. php,通过提交的sessionid,查看sessionid是否失效/存在

session_start();
//if(isset($_SESSION['abc'])&&$SESSION['abc']){//判断变量存在,且变量值为真
if(isset($_SESSION['abc'])){//判断变量已经被设置,也就是存在
echo'存在';
}else{
echo'不存在';
}

LS的代码,首先判断 这个SESSION变量是否存在要用 isset(),直接用

if($_SESSION['abc']){ 的话,

如果事先给$SESSION['abc'] 赋值了一个空字符串,实际上这个变量是存在的,只是没有值,

是过不了你的判断的,

热点内容
ios6G与安卓12G哪个更快 发布:2025-01-24 11:26:22 浏览:827
下线源码 发布:2025-01-24 11:26:22 浏览:523
windows8解压软件 发布:2025-01-24 11:04:41 浏览:559
蓝牙聊天源码 发布:2025-01-24 11:03:13 浏览:124
安卓是什么意思是vivo吗 发布:2025-01-24 11:01:32 浏览:486
悬赏网源码 发布:2025-01-24 10:53:14 浏览:733
c语言时间变量 发布:2025-01-24 10:40:24 浏览:870
ppiandroid 发布:2025-01-24 10:25:50 浏览:1001
儿童压缩机 发布:2025-01-24 10:25:09 浏览:75
苹果的允许访问在哪里 发布:2025-01-24 10:24:32 浏览:32