在浏览器中查看和更改会话变量

ohh*_*hho 28 php browser debugging

调试PHP程序,是否有任何浏览器的插件/插件,我可以查看会话变量(那些PHP $ _SESSION ["foobar"])?

如果我可以更改变量中的值,那么最好.

Jac*_*kin 56

无法从客户端操纵会话中存储的值.

这是你在cookie上使用会话的主要原因之一 - 你控制数据.使用cookie,用户可以操纵数据.

从客户端访问/操作会话数据的唯一方法是使用Ajax调用或其他JavaScript机制来调用另一个PHP脚本,该脚本将通过session_函数执行会话数据的检索/操作.


api*_*s17 21

$_SESSION是服务器端变量数组.如果我们可以读取或更改值,我们可以做许多事情来破解或导致其他不良事件发生.

但是,使用 phpinfo(); 我们可以查看会话变量 - 但我们无法更改值.

更好的是,我们可以使用调试所有会话变量

print_r($_SESSION); 
//if you echo "<pre>" before, and a closing "</pre>" after, it prints very cleanly.
Run Code Online (Sandbox Code Playgroud)

一些其他有用的命令:

session_start(); // start session  -- returns Session ID
session_destroy(); // unset all session variable
Run Code Online (Sandbox Code Playgroud)

Session是一个数组,所以如果你设置$_SESSION['key']='value';它是相同的$array['key']=value;- 只有,$ _SESSION的特殊之处在于它会持续到窗口关闭或被session_destroy()调用.

  • `session_destroy();`确实**不**取消任何变量.请注意这一点以避免在调试过程中出现问题... [查看文档](http://php.net/manual/en/function.session-destroy.php) (2认同)