Setcookie>嗅闻>输出在同一页面上

时间:2010-03-24 19:35:28

标签: php cookies sniffing

我想知道是否有人可以帮助阐明这一点:

如果用户使用查询字符串中的特定键/值到达站点,则会删除cookie。即:http://www.somesite.com?key=hmm01

Cookie代码存在于<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML )之前的模板顶部:

<?php header("Content-Type: text/html; charset=utf-8"); ob_start(); if (isset($_GET['key'])) { setcookie("cookname", $_GET['key'], time()+2592000); /* Expires in a month */ } ob_end_flush(); ?>

在同一页面上虽然在:我有以下PHP代码嗅探cookie并输出一些文字:

`

开关($ cookievalue) { 案例hmm01:   echo“abc”;   打破; 案例hmm02:   回声“def”;   打破; 案例hmm03:   echo“ghi”;   打破; 默认:   回声“你好”; } ?&GT;`

- 问题是当用户第一次到达时,嗅探器脚本没有检测到cookie并输出默认文本:hello 只有当用户刷新页面或导航到不同的页面时,嗅探器才会检测到cookie。

有关如何在不刷新页面的情况下删除cookie并输出正确文本的任何想法?

非常感谢。

2 个答案:

答案 0 :(得分:1)

首次检查$ _GET:

if(isset($_GET['key'])) { $cookievalue = $_GET['key']; }
if(isset($_COOKIE['cookname'])) { $cookievalue = $_COOKIE['cookname']; }

switch ($cookievalue) { case hmm01: echo "abc"; break; case hmm02: echo "def"; break; case hmm03: echo "ghi"; break; default: echo "hello"; } ?>

答案 1 :(得分:0)

if(查询字符串中的特定键/值)$ _COOKIE ['cookname'] =“某个值”;

学习一些HTTP