Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 会话_开始()_Php - Fatal编程技术网

Php 会话_开始()

Php 会话_开始(),php,Php,我有一个页面是: <?php session_start(); ?> 我希望在start/run/cookies中有一个类似以下内容的文件: user@mysite[1] 但是没有 为什么不呢 我的目的是对每个页面(包括启动页面)进行通常的登录/未登录测试。会话数据存储在服务器上,而不是客户端。 要在客户端上存储会话数据,您必须启用会话。仅使用\u cookies 请参阅PHP手册中的会话数据存储在服务器上,而不是客户端。 要在客户端上存储会话数据,您必须启用会话。仅使用\u c

我有一个页面是:

<?php
session_start();
?>
我希望在
start/run/cookies
中有一个类似以下内容的文件:

user@mysite[1]
但是没有

为什么不呢


我的目的是对每个页面(包括启动页面)进行通常的登录/未登录测试。

会话数据存储在服务器上,而不是客户端。 要在客户端上存储会话数据,您必须启用
会话。仅使用\u cookies


请参阅PHP手册中的会话数据存储在服务器上,而不是客户端。 要在客户端上存储会话数据,您必须启用
会话。仅使用\u cookies


请查看位于

的PHP手册,谢谢大家的帮助

我下载了一个名为fiddler的程序,它使我能够看到在服务器和客户端之间来回传递的字符

我在服务器上创建了一个php文件[a],其中只包含

session_start();
echo "<a href='/testsessstill.php'>test again</a>";
session_start();
回声“;
我创建了一个php文件[B]testsesstill.php,它只回显“hi”

我从浏览器中调用了一个

客户端请求头中的PHPSESSID=xxxx?否
服务器响应头中的PHPSESSID=xxxx?是
客户端计算机Cookie文件夹中的Cookie文件?否
服务器/tmp文件夹中的文件?没有

我从A中的链接调用了B

客户端请求头中的PHPSESSID=xxxx?是
服务器响应头中的PHPSESSID=xxxx?否
客户端计算机Cookie文件夹中的Cookie文件?否
服务器/tmp文件夹中的文件?没有

我在我的客户端计算机上搜索任何文件中是否存在字符串“sessiond”,但没有找到

因此,如果我错了,我相信并纠正我如下:

调用session_start()时,它会在标头中将sessiond返回给客户端,sessiond将被保留,并与客户端内存中会话相关的站点相关联,而不会写入客户端上的文件

当客户端请求头到达时,请求头中的PHPSESSID中有一个值,服务器将读取该值,但不会将该sessiond保留在任何位置。sessiond的值仅存在于客户端的内存中。服务器不会将响应头中的sessiond返回给客户端。如果请求到达时头中有sessiond,则服务器将其作为sessiond接受

[显然,下一步是设置与sessiond相关的值,但它至少帮助我首先了解了上述内容。我认为这将有助于理解安全性]


我怎么去的?这都是准确的评估吗?

谢谢大家的帮助

我下载了一个名为fiddler的程序,它使我能够看到在服务器和客户端之间来回传递的字符

我在服务器上创建了一个php文件[a],其中只包含

session_start();
echo "<a href='/testsessstill.php'>test again</a>";
session_start();
回声“;
我创建了一个php文件[B]testsesstill.php,它只回显“hi”

我从浏览器中调用了一个

客户端请求头中的PHPSESSID=xxxx?否
服务器响应头中的PHPSESSID=xxxx?是
客户端计算机Cookie文件夹中的Cookie文件?否
服务器/tmp文件夹中的文件?没有

我从A中的链接调用了B

客户端请求头中的PHPSESSID=xxxx?是
服务器响应头中的PHPSESSID=xxxx?否
客户端计算机Cookie文件夹中的Cookie文件?否
服务器/tmp文件夹中的文件?没有

我在我的客户端计算机上搜索任何文件中是否存在字符串“sessiond”,但没有找到

因此,如果我错了,我相信并纠正我如下:

调用session_start()时,它会在标头中将sessiond返回给客户端,sessiond将被保留,并与客户端内存中会话相关的站点相关联,而不会写入客户端上的文件

当客户端请求头到达时,请求头中的PHPSESSID中有一个值,服务器将读取该值,但不会将该sessiond保留在任何位置。sessiond的值仅存在于客户端的内存中。服务器不会将响应头中的sessiond返回给客户端。如果请求到达时头中有sessiond,则服务器将其作为sessiond接受

[显然,下一步是设置与sessiond相关的值,但它至少帮助我首先了解了上述内容。我认为这将有助于理解安全性]


我怎么去的?所有的评估都是准确的吗?

一次会议由两部分组成:

  • 服务器上的实际会话数据
  • 客户端上具有会话id的cookie
启动会话时,服务器在系统目录中创建一个随机文件(可通过
会话.save_path
选项配置),其中存储您写入
$\u会话的所有数据。它向客户端发送一个带有随机会话id的cookie。这个会话id本身毫无价值,它只是帮助服务器将某个会话与特定客户端关联。客户端在后续请求时将此会话id cookie返回给服务器,服务器在调用
session\u start()
以重新激活已存在的会话时会接收该请求

  • 客户端上没有存储会话数据,只有会话id cookie
  • cookie的存储方式和位置完全取决于使用的浏览器
  • 您需要在希望使用会话的每个页面上调用
    session\u start()

会话由两部分组成:

  • 服务器上的实际会话数据
  • 客户端上具有会话id的cookie
启动会话时,服务器在系统目录中创建一个随机文件(可通过
会话.save_path
选项配置),其中存储您写入
$\u会话的所有数据。它向客户端发送一个带有随机会话id的cookie。这个会话id本身毫无价值,它只是帮助服务器将某个会话与特定客户端关联。客户端在后续请求时将此会话id cookie返回给服务器