在CodeIgniter中接收"不允许的键字符"错误

use*_*306 3 php codeigniter

我收到以下消息:禁止关键字符和产生该消息的字符串似乎是

__utmt_~42
Run Code Online (Sandbox Code Playgroud)

我只是想加载页面,因为我的生活无法弄清楚为什么会发生这种情况.它从无处开始.我怎样才能找到这个来源?

小智 6

请执行以下步骤

  1. /system/core/Input.php上搜索函数_clean_input_keys
  2. 更新此退出('禁止关键字符.'); 退出("不允许主要人物形象." $海峡);


Grr*_*ben 5

有一个类似的问题,所以,为了谷歌搜索结果:

__utmt是一个cookie.更具体地说,是Google Analytics Cookie.〜数字部分可能意味着它是副本/副本.可以把它想象成在Word文档中工作时存储在计算机上的word.doc~1文件.

首先,请检查网站上的Google Analytics代码,某处有重复内容吗?我的问题通过改变这个重复的行来解决:

var pageTracker = _gat._getTracker("UA-1234567-89");
var pageTracker = _gat._getTracker("UA-1234567-89");
Run Code Online (Sandbox Code Playgroud)

奇怪的是,文件总是有这个重复的代码行,因为我的GIT回来了.这可能是分析代码处理cookie的方式的变化......

哦,和"不允许的关键字符"部分.这通常是一件好事,保护您的CI应用程序免受恶意.

它在system\core\Input.php文件中.

if ( ! preg_match("/^[a-z0-9:_\/-]+$/i", $str)) {
    // there is no ~ in this regex pattern
    // You could add it, but you probably end up breaking other stuff ("/^[\w:~\/]+$/i")
    exit('Disallowed Key Characters');
}
Run Code Online (Sandbox Code Playgroud)