当我进行ajax php查询时,Cookie是否可以访问?

时间:2010-07-29 01:07:44

标签: php cookies setcookie httponly

我知道之前有人问过,但我需要一些澄清和确认。 我在创建cookie时被告知要使用httponly来防止XSS。

所以我的澄清是如果我使用httponly,我的php脚本是否能通过ajax请求访问仍然能够确定我的活动php会话(默认:phpssessid)并检索我的$ _SESSION变量?

问题是我没有使用httponly选项设计,我担心添加该选项是否会以任何方式影响脚本的设计。

谢谢!

1 个答案:

答案 0 :(得分:1)

我不确定我是否接受了这个问题,但是这里有一个问题:你需要像在主页上那样在ajax调用的脚本上设置相同的会话。例如,我在主页面中有一个“包含”的文件,以及我使用ajax从该页面调用的任何内容。

所以,我的index.php的顶部有

<?php include "db.php"; ?><!DOCTYPE...

在我的ajax_helper.php文件顶部同样的事情

<?php include "db.php"; ?>

db.php文件包含mysql启动命令,session_start以及网站上所有页面通用的任何其他内容。这样,会话就可以在任何地方使用。

我希望这有意义并回答你的问题