当我设置自己的会话变量时,我突然发现(var_dump($_SESSION)
)我的$_SESSION
数组中有一个名为nonce
的变量。我没有设置它(知情)。关于什么将变量nonce
设置到我的$_SESSION
数组中的任何想法?
可能是依赖项还是会话配置设置?
我设置了booktitle
,而不是nonce
。这是var_dump
结果的一部分:
array(6) {
["nonce"]=>
string(128) "5914056215a1efb5369e7b2fd14739c666d5dd1c17bd0312c5b5d196afdf0400ee78aac4e70d16bc6f23bc216086a45a1315ce21fbb8ad8ad85b4432a661ba0e"
["booktitle"]=>
string(5) "jimmy"
会话配置代码:
$this->session = [
'cookie_httponly' => true, // XSS
'strict_mode' => true, // session fixation
'use_cookies' => true,
'use_only_cookies' => true,
'cookie_secure' => $secure, // HTTPS only
'cookie_domain' => '/',
'cookie_lifetime' => 0, // untill browser closed
'use_trans_sid' => false
];
然后在每个页面上:session_start();
并设置变量:
$_SESSION['booktitle'] = 'jimmy';
PHP /框架/ OS:
PHP 7.1.3 没有框架,只有1个依赖项Flintstone(键值平面文件数据库) OS Windows 10(v 1709)。
phpinfo()
:会话:
Session Support enabled
Registered save handlers files user
Registered serializer handlers php_serialize php php_binary wddx
Directive Local Value Master Value
session.auto_start Off Off
session.cache_expire 180 180
session.cache_limiter nocache nocache
session.cookie_domain no value no value
session.cookie_httponly Off Off
session.cookie_lifetime 0 0
session.cookie_path / /
session.cookie_secure Off Off
session.gc_divisor 1000 1000
session.gc_maxlifetime 1440 1440
session.gc_probability 1 1
session.lazy_write On On
session.name PHPSESSID PHPSESSID
session.referer_check no value no value
session.save_handler files files
session.save_path no value no value
session.serialize_handler php php
session.sid_bits_per_character 5 5
session.sid_length 26 26
session.upload_progress.cleanup On On
session.upload_progress.enabled On On
session.upload_progress.freq 1% 1%
session.upload_progress.min_freq 1 1
session.upload_progress.name PHP_SESSION_UPLOAD_PROGRESS PHP_SESSION_UPLOAD_PROGRESS
session.upload_progress.prefix upload_progress_ upload_progress_
session.use_cookies On On
session.use_only_cookies On On
session.use_strict_mode Off Off
session.use_trans_sid 0 0
答案 0 :(得分:0)
您需要在整个项目代码库中搜索" $_SESSION['nonce']
"看看写这个(或读)这个值是什么。这几乎可以在所有IDE中轻松完成。
如果找不到任何内容,那么它可能是您通常用于数据提交表单(<form>
)或通信界面的某种插件。
某处在某处写作:
$_SESSION['nonce'] = blahblah;
但是,我们无法告诉您这种情况发生的原因,因为它特定于您的代码,并且不是&#34;通用&#34;特性
搜索该项目但没有点击。至少我可以排除任何一般的&#39; (例如ini setting)作为罪魁祸首 - 无论如何谢谢
然后你需要找到可以通过php.ini添加到所有文件的插件和服务器端脚本,例如auto_prepend_file
为outlined in this question。