$ _SESSION [' nonce'] - 它来自哪里?

时间:2018-04-01 19:37:26

标签: php session

当我设置自己的会话变量时,我突然发现(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

1 个答案:

答案 0 :(得分:0)

您需要在整个项目代码库中搜索" $_SESSION['nonce']"看看写这个(或读)这个值是什么。这几乎可以在所有IDE中轻松完成。

如果找不到任何内容,那么它可能是您通常用于数据提交表单(<form>)或通信界面的某种插件。

某处在某处写作:

$_SESSION['nonce'] = blahblah;

但是,我们无法告诉您这种情况发生的原因,因为它特定于您的代码,并且不是&#34;通用&#34;特性

更新:

  

搜索该项目但没有点击。至少我可以排除任何一般的&#39; (例如ini setting)作为罪魁祸首 - 无论如何谢谢

然后你需要找到可以通过php.ini添加到所有文件的插件和服务器端脚本,例如auto_prepend_fileoutlined in this question