虚拟主机域名注册-常见问题 → 其他问题 → 其他问题 | ||||
一、设置 我们的测试环境包括一个Apache Web服务器,其中加载了PHP模块。在我们的设置中,我们使用Ubuntu 20.04 LTS,但是任何最新发行版都可以。在Ubuntu上,我们需要的是apache2和php: $sudo apt-get install apache2 $sudo apt-get install php 我们还需要运行网络服务器才能使用浏览器访问示例页面: $sudo systemctl restart apache2 我们还需要启用Cookie的最新浏览器。本教程使用最新的Firefox。如果您具有Noscript之类的扩展名,请在测试时禁用它或从测试Web服务器启用cookie。 二、代码 考虑以下示例PHP页面的源代码: $cookie_name = "username"; $ask_to_store = false; $username = "Unknown Visitor"; if (!isset($_COOKIE[$cookie_name])) { if (!isset($_REQUEST['uname'])) { $ask_to_store = true; } else { $username = $_REQUEST['uname']; setcookie($cookie_name, $username); } } else { $username = $_COOKIE[$cookie_name]; } echo "\n\n"; echo " Welcome, " . $username . "! \n"; if ($ask_to_store) { echo " If you would like to set the username so we can greet you by that, enter it to the below form, and submit your request. \n"; echo " \n"; echo "\n"; echo "\n"; echo " \n"; } else { echo " We are happy we can greet you by name. \n"; } ?> 我们将此代码放入名为的文件中page_with_cookies.php,并将其放置在测试Web服务器的php目录中。因此,我们将能够通过指定URL的浏览器访问它,如下所示:http:///php/page_with_cookies.php。我们将在以下步骤中看到此代码的作用。 三、了解网页的工作方式 下一步是检查页面是否正确加载。我们将浏览器指向页面,然后出现一个简单的表单。192.168.1.2是测试环境中Web服务器的IP地址,如果您正在执行此操作,则应将其更改为放置此代码的服务器的地址或DNS名称。 首次访问时,该页面不会知道我们是谁,因此它将称呼我们为“未知访问者”。我们在代码部分第4行指定了这个名称,并且由于浏览器中还没有cookie,因此实际用户名不会覆盖该变量的值。我们在第6行检测到没有cookie设置,也没有保存访问者提交的实际用户名的请求(第7行)。这是我们显示允许访问者提交用户名的表单的状态。这是由第8行的布尔变量指定的。 现在,我们可以填写表单提供的输入字段(由代码行16-21生成)。在此示例中,我们将使用“ Foo Bar”。 点击提交后,页面会以我们发送的用户名打招呼。 到目前为止,这还不是最神奇的,我们已经读取了在POST请求中发送的数据,相应地设置了用户名,并使用它来问候访问者。但是我们还设置了一个cookie(第11行),它存储浏览器中给出的数据。如果我们再次打开页面(这是另一个请求,在这里我们没有发布任何用户名信息),我们也会看到前面设置的用户名,只要cookie还在浏览器中。支持提交用户名的表单也不会显示在新页面上,因为我们是第16行if语句的“false”分支。 三、如何重置环境 要清除浏览器的状态,我们可以从其中删除cookie。在Firefox 74.0中可以找到它的参数->隐私和安全-> Cookies和网站数据->管理数据。 然后我们搜索测试webserver的IP地址,因为我们是通过IP地址访问站点的。点击“删除选择”,然后点击“保存更改”,我们就完成了将网站放置在浏览器中的cookie的删除。 如果果我们再次访问该页面,将显示最原始的匿名问候语,表单将提交一个用户名。该网站没有存储任何数据,没有cookie,它不知道我们是谁。
|
||||
>> 相关文章 | ||||
没有相关文章。 |