Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/274.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何将带有文本的表单作为流发布到PHP以避免浏览器发布限制?_Php_Post_Browser_Stream_Limit - Fatal编程技术网

如何将带有文本的表单作为流发布到PHP以避免浏览器发布限制?

如何将带有文本的表单作为流发布到PHP以避免浏览器发布限制?,php,post,browser,stream,limit,Php,Post,Browser,Stream,Limit,Web浏览器对可以发布多少数据(字符)以防止攻击有限制。IE大约有2000个字符,Chrome大约有65000个字符 我试图发布一个表单,它有一个包含200000多个字符的字段(确切地说,是一个向量的json) 这是任何浏览器都不允许的,因此接收帖子的PHP页面只能看到大约40%的数据 我能想到的解决这个问题的唯一方法是流式处理表单post,以便PHP可以增量地接收它 这是否可能与$raw=file\u get\u contents('php://input'); 例如,与“应用程序/八位字节流

Web浏览器对可以发布多少数据(字符)以防止攻击有限制。IE大约有2000个字符,Chrome大约有65000个字符

我试图发布一个表单,它有一个包含200000多个字符的字段(确切地说,是一个向量的json)

这是任何浏览器都不允许的,因此接收帖子的PHP页面只能看到大约40%的数据

我能想到的解决这个问题的唯一方法是流式处理表单post,以便PHP可以增量地接收它

这是否可能与$raw=file\u get\u contents('php://input'); 例如,与“应用程序/八位字节流”的表单编码类型结合使用

非常感谢,,
Seb

如果您在Linux或类似系统下使用PHP,您可以使用
.htaccess
控制这些,如下所示:

#set max post size
php_value post_max_size 50M
希望这将允许您发送更多数据,而不是搞乱编码

请求的url部分(GET和POST)可以受 浏览器和服务器-通常安全大小为2KB,因为 几乎没有浏览器或服务器使用更小的限制

请求(POST)的主体通常受到服务器的限制 字节大小基础,以防止一种类型的DoS攻击(注意 这意味着字符转义可以增加正文的字节大小)。 最常见的服务器设置是10MB,尽管所有流行的服务器都是10MB 允许通过设置文件或面板增加或减少该值


你混淆了URL长度限制和上传限制。通过URL传递的数据是一个
GET
查询,每个浏览器的长度都有限制


如果需要传递任意“大”数据,则使用POST,它没有任意的客户端长度限制,只受服务器配置的限制。

确定-找到问题所在。数据在到达Apache之前经过WAF过滤器。这是在运行mod_security,其post限制为64Kb。

post的唯一限制是服务器/php限制-想想文件上载我的post_max_大小设置为100M。有趣的是,如果我使用Fiddler(www.fiddler2.com)检查POST请求,似乎所有数据都在发送。但如果我真的要归档,就要获取内容php://input”),只打印了一半的数据。对于大型文本帖子,还有其他缓冲区/限制需要注意吗?据我所知,我不这么认为,但让我来研究一下,并尝试找出答案