2010-04-13 132 views
1

我得到了回应“不允许的密钥字符”。在我的CodeIgniter应用程序中,当我有一个http_cookie通过GET从SSL中继站点(支付网关)发送到我的应用程序。我的问题是,是否有任何方法可以通过导致此Disallowed消息并退出的“_clean_input_keys”(在system/libraries/Input.php中定义)方法获取此http_cookie?

该参数包含一个getenv(“HTTP_COOKIE”)设置为一个隐藏输入,需要用于保持会话保持活动状态,即使它将被发送到中继站点并返回。

的HTTP_COOKIE字符串看起来像:&HTTP_COOKIE=PHPSESSID=775572c8c3b161bc957281aa901eb09c;%20ci_session=a%3A4%3A{s%3A10%3A%22session_id%22%3Bs%3A32%3A%229666689e0c8e4f26fb38889351765304%22%3Bs%3A10%3A%22ip_address%22%3Bs%3A14%3A%2127.0.0.1%22%3Bs%3A10%3A%22user_agent%22%3Bs%3A50%3A%22Mozilla%2F5.0+%28Macintosh%3B+U%3B+Intel+Mac+OS+X+10.6%3B+da%22%3Bs%3A13%3A%22last_activity%22%3Bs%3A10%3A%221271145332%22%3B}d9b9df5d8a0b51f303cbe6bb4bbe497e

+0

也许试着让'='符号逃脱? – Amber 2010-04-13 08:12:49

+0

刚刚尝试时没有修复它。你会用什么函数来转义这个字符串? – rkj 2010-04-13 08:18:48

+0

如果您使用奇怪的字符,如问号'?',这也可能发生在HTML表单中。在'name'属性的值中。 – 2011-12-09 20:52:06

回答