我想在页面中显示我的页面 ( ) 的所有session
, post
,get
信息。我怎样才能做到这一点?php
.php
问问题
240 次
5 回答
3
<?php print_r($_SESSION); ?>
<?php print_r($_POST); ?>
<?php print_r($_GET); ?>
于 2012-08-10T03:54:56.363 回答
2
好的,每个人都说很明显,但他们没有提到每个解决方案中嵌入的安全风险。
我不敢苟同,这是我的选择:
echo "<pre>";
echo htmlspecialchars(var_export($_POST, true), ENT_QUOTES);
echo htmlspecialchars(var_export($_GET, true), ENT_QUOTES);
echo htmlspecialchars(var_export($_SESSION, true), ENT_QUOTES);
echo "</pre>";
您可能不会想到攻击者会将恶意代码放入您的会话中,但您永远不知道。
换一种说法:
header("Content-type: text/plain");
var_export($_POST);
var_export($_GET);
var_export($_SESSION);
同样可以正常工作,但要注意试图嗅探内容的浏览器。
另一种可以很好地打印三分之二内容的方法:
phpinfo(INFO_VARIABLES);
最后:试试<plaintext>
标签。出于显而易见的原因,它没有结束标记,因为它会结束浏览器中对 HTML 的解释,但在发送之后,您只需要关心打印纯文本即可。
echo "<plaintext>";
var_export($_POST);
var_export($_GET);
var_export($_SESSION);
var_export
具有上述优势:它打印能够重新创建变量的有效 PHP 代码var_dump
。print_r
对于除对象以外的任何类型,这都是 100% 正确的。对象必须实现神奇的静态方法__set_state
才能重新创建。
于 2012-10-17T21:19:35.203 回答
2
使用下面的代码来print
/var_dump
信息
会话如下
<?php var_dump($_SESSION); ?>
帖子在下面
<?php var_dump($_POST); ?>
获取在下方
<?php var_dump($_GET); ?>
于 2012-08-10T03:54:57.463 回答
1
尝试这个 :
邮政
foreach ($_POST as $key => $value) {
$postData = "POST Field " . htmlspecialchars($key) . " is " . htmlspecialchars($value) . "<br>";
}
得到
foreach ($_GET as $key => $value) {
$postData = "GET Field " . htmlspecialchars($key) . " is " . htmlspecialchars($value) . "<br>";
}
会议
foreach ($_SESSION as $key => $value) {
$postData = "SESSION Field " . htmlspecialchars($key) . " is " . htmlspecialchars($value) . "<br>";
}
于 2012-10-17T13:19:29.933 回答
1
我更喜欢 var_dump() 而不是 print_r(),因为它也处理对象。我也喜欢<pre>
在我的转储周围输出标签,这样在浏览器中更容易阅读,所以
echo "<pre>";
var_dump($_SESSION);
var_dump($_POST);
var_dump($_GET);
echo "</pre>";
于 2012-10-17T21:01:21.090 回答