2

Over the past 3 days I've been getting the "Disallowed Key Characters" error from CodeIgniter's Input class. I've found that this is resulting from CI checking for valid global cookie keys in the $_COOKIE array. The particular keys tripping the alert are below (where asianfanfics.com is the site I'm working on):

ebNewBandWidth__www_asianfanfics_com=277%3A1357053922099;expires=Wed,_01_Jan_2014_15:25:24_GMT;_path=/;_domain=_www_asianfanfics_com

ebPanelFrequency__www_asianfanfics_com=\"\";expires=Tue,_01_Jan_2013_15:43:39_GMT;_path=/;_domain=_www_asianfanfics_com

So if $_COOKIE[$key] = $value, $key is not passing CI's check and $value is always empty. When inspecting that cookie on Chrome's cookie inspector, I see that it is set for the www subdomain and under expires, instead of a date, it says "session".

The only other question on SO relating to this is due to someone using the jQuery Tabs plugin which I'm not using.

Does anyone know what could be setting this cookie?

4

2 回答 2

1

通过 cookie 的名称(以ebNewBandWidth 和开头ebPanelFrequency),您可能想询问 LinkedIn 他们的服务器是否已将一些代码注入到您的服务器提供的客户端资源中,或者以其他方式连接到创建这些 cookie 的网站或域名:

LinkedIn Corporation
Attn: Privacy Policy Issues
2029 Stierlin Court
Mountain View,CA 94043
USA

http://www.linkedin.com/static?key=privacy_policy

可能是因为通常每个人都可以将所有被浏览器接受为有效 cookie 名称的东西设置为使用此类 cookie 请求标头进行请求。

该cookie中的会话意味着,当浏览器关闭时它将过期。

其余的看起来 Codeigniter 出于某种原因正在删除该 cookie。可能只是一个预防措施。

任何 HTTP 客户端都可以向您的服务器发送任何类型的 cookie 请求标头,因此您无能为力。

cookie 始终由用户代理设置,至少是请求中导致错误的 cookie(进入 的内容$_COOKIE)。

仅凭 cookie 的名称不能说最初是哪个进程设置了这个特定的 cookie。任何进程都可以创建任何类型的 cookie 标头,并且 cookie 似乎至少有效到足以让浏览器将其与请求一起发送。

可能 Codeigniter 需要在这里进行一些修复或设置,以便您可以使用这些键,例如,您可能想要禁用它(在您的情况下没用?)检查。

于 2013-01-01T19:22:30.457 回答
0

我相信 MediaMind 以前的 EyeBlaster(因此 eb 前缀为 cookie)是这些 cookie 的背后。他们的服务被横幅广告服务广泛使用,因此您的网站使用的服务很可能间接涉及他们。上面提到的 infiniti cookie 页面将它们链接到 ebNewBandWidth。

于 2013-01-07T16:35:44.777 回答