在过去的几天里,应用程序已经工作了好几个月并且突然(没有任何环境变化)我开始获得“不允许的关键字符”#34;在CI。我已经阅读了有关此问题的所有相关主题,我理解添加触发异常的字符是我的问题的答案。但是,我不是安全方面的专家,所以我想与那些在这个问题上有更多经验的人一起咨询。在我的情况下,被捕获的字符串如下:
"--------------------------31329b0d7bb66ba6
内容处置:_form数据; _name"
在我彻底检查时,CI并不喜欢这里的3个字符;空间,半结肠和结肠。像我在这里的例子中那样添加这些是安全的:
此外,如何在没有任何代码的情况下最近发生问题的可能性如何?环境变化?
更新1:
添加更改后,看起来出现了问题。 $ _POST变量不是他们应该的。当我做print_r($ _ POST);我得到以下内容:
Array
( [-------------------------- 9926a756dcff6e27
Content-Disposition:_form-data; _name] => " TRACKING_NUMBER"
94001102008297123 -------------------------- 9926a756dcff6e27 内容处理:表格数据;命名="载体"
USPS -------------------------- 9926a756dcff6e27 -
)
答案 0 :(得分:1)
故事的寓意是客户端的数据编码是在Content-Type中提交的:application / x-www-form-urlencoded after vs Content-Type:multipart / form-data
在我更改了客户端的编码后,我能够从清理功能中删除冒号,半冒号和空格。