$_POST 键名长度?

lin*_*ndy 3 php cakephp

我正在经历一种非常奇怪的行为。假设我有以下两个<input type='image'>src属性等于name属性):

<input type='image' name='http://farm1.static.flickr.com/224/471627793_fbda6cecbe_s.jpg'>
<input type='image' name='http://farm5.static.flickr.com/4053/4501238330_c5a85162ef_s.jpg'>
Run Code Online (Sandbox Code Playgroud)

我的问题是:为什么第一个输入提交而第二个输入不提交?我正在使用 CakePHP,如果我点击第二张图片,它$this->params['form']是空的。但是当我点击第一张图片时,一切正常:$this->params['form']包含正确的图片名称及其点击位置的坐标。

这是一种非常奇怪的行为,我相信只有$_POST限制其键的长度才会发生这种情况。

任何帮助表示高度赞赏!谢谢!

mar*_*rio 5

PHP本身不限制字段名长度multipart/-urlencodedPOST请求。

但是 suhosin 确实有http://www.hardened-php.net/suhosin/configuration.html#suhosin.post.max_name_length,默认值为64. 你的第二个网址确实有 64 个字符长。

不太可能,但也可能是 mod_security 设置。然而,它会溢出错误消息而不是截断。