programing

투고 요청의 크기 제한은 얼마입니까?

copyandpastes 2022. 11. 8. 21:34
반응형

투고 요청의 크기 제한은 얼마입니까?

죄송합니다. 만약 중복된다면, 저는 그렇게 생각하겠지만 아무것도 찾을 수 없었습니다.

플렉스 어플리케이션이 있어 IE를 통해 데이터를 php/mysql 서버에 다시 게시합니다.저는 아직 아무 문제도 겪지 않았지만, 이것을 미리 알아두면 많은 좌절과 일을 덜 수 있을 거예요.http를 통해 데이터를 게시할 수 있는 크기 제한이 있습니까?

이 기사에서는 '아니오'라고 되어 있습니다.http://www.netlobo.com/ie_form_submit.html

이 토론에서는, 「네」라고 대답합니다.http://bytes.com/topic/php/answers/538226-what-maximum-limit-using-post-method

그리고 내가 온라인에서 찾을 수 있는 모든 것들이 왔다 갔다 한다.따라서 개인 테스트/검증된 수치로 답변을 제한해 주십시오.

꽤 큰 XML 문자열(최대 5MB)을 다시 투고하고 싶습니다.

차이가 있다면 브라우저는 항상 IE(당사 제품이 필요로 함), 게시물은 에서 전송되며 httpService는 플렉스, 웹 서버는 php, DB는 mySql입니다.

서버 구성에 따라 다릅니다.Linux 또는 유사한 환경에서 PHP를 사용하는 경우 다음과 같이 .htaccess 구성 파일을 사용하여 제어할 수 있습니다.

#set max post size
php_value post_max_size 20M

네, 이것이 효과가 있다는 것을 개인적으로 증명할 수 있습니다.

IIS 를 사용하고 있는 경우는, 이 값을 어떻게 설정했는지 알 수 없습니다.

요청의 URL 부분(GET 및 POST)은 브라우저와 서버 모두에 의해 제한될 수 있습니다.일반적으로 더 작은 제한을 사용하는 브라우저나 서버는 거의 없기 때문에 안전 크기는 2KB입니다.

요구의 본문(POST)은, DoS 공격의 타입을 막기 위해서, 통상, 서버에 의해서 바이트 사이즈 베이스로* 제한됩니다(즉, 문자 이스케이프가 본문의 바이트 사이즈를 증가시킬 가능성이 있는 것에 주의해 주세요).가장 일반적인 서버 설정은 10MB이지만, 일반적으로 사용되는 모든 서버는 설정 파일 또는 패널을 통해 이 값을 늘리거나 줄일 수 있습니다.

*구식 휴대전화나 기타 소형 디바이스 브라우저에서는 일부 예외가 존재합니다.이 경우 디바이스 상의 이 목적을 위해 예약된 힙스페이스의 기능에 더 가깝습니다.

또, PHP로.INI 파일에는 다음과 같은 설정이 있습니다.

max_input_vars

5.4.16의 디폴트는 1000입니다.

매뉴얼에서 "입력 변수 수 허용($_GET, $_POST 및 $_COOK에 제한 적용)IE superglobal 별개)

참조: http://www.php.net/manual/en/info.configuration.php#ini.max-input-vars

php변수 php.ini를 할 수 .max_input_vars이 변수의 기본 크기는 1000이지만 대량의 데이터를 전송하려면 그에 따라 크기를 늘려야 합니다.수 에는 ini_set을 통해 .htaccessphp.ini를 사용합니다.

max_input_vars  2500
memory_limit    256M

David이 지적한 바와 같이, 나는 대부분의 경우 KB로 갈 것이다.

php_value post_max_size 2K

주의: 제 폼은 단순하고 긴 텍스트가 아니라 텍스트 상자 몇 개만 있습니다.

(여기서 설명한 바와 같이 KB의 PHP 줄임말은 K입니다).

기본적으로는 투고 요청의 최대 크기는 8MB입니다.그러나 필요에 따라 수정할 수 있습니다.변경은 php.ini 파일(php 구성 설정)을 열어 실행할 수 있습니다.

검색

post_max_size=8M  //for me, that was on line:771

필요에 따라 8을 교체합니다.

이를 위한 최선의 해결책 중 하나는 여러 입력 필드 또는 1,000개 이상의 입력 필드를 사용하지 않는 것입니다.여러 입력에 임의의 특수 문자를 연결할 수 있습니다(예: ex). @.

다음을 참조하십시오.

<input type='text' name='hs1' id='hs1'>
<input type='text' name='hs2' id='hs2'>
<input type='text' name='hs3' id='hs3'>
<input type='text' name='hs4' id='hs4'>
<input type='text' name='hs5' id='hs5'>

<input type='hidden' name='hd' id='hd'>

임의의 스크립트(JavaScript 또는 JScript)를 사용하여

document.getElementById("hd").value = document.getElementById("hs1").value+"@"+document.getElementById("hs2").value+"@"+document.getElementById("hs3").value+"@"+document.getElementById("hs4").value+"@"+document.getElementById("hs5").value

에요,그러면 안 돼요.max_input_vars . 만약 당신이 증가한다면max_input_vars더 하기 때문에 ini가 될 수 .

제한이 있는지 여부는 http 서버에 의해 결정됩니다.작업하고 있는 제품에서는 관리자가 제한을 설정할 수 있습니다.

웹 호스팅 때문에 php 구성을 변경할 수 없는 개발자용입니다.(내 설정 최대 크기 256MB, 최대 변수 1000개)

서브구조를 가진 빅데이터 오브젝트(어소시에이션 어레이) 5개 중 2개만 서버 측에 수신된 것과 같은 문제가 발생하였습니다.

포스트 리퀘스트에서 서브스트럭처 전체가 「평탄화」되고 있는 것을 알 수 있었습니다.즉, 하나의 개체가 수백 개의 문자 그대로 변수가 됩니다.결국 5개의 객체 변수 대신 실제로는 수백 개의 요소 변수를 보내고 있습니다.

이 경우의 해결책은 각 서브구조를 String으로 시리얼화하는 것입니다.그런 다음 서버에서 5 String 변수로 수신됩니다.예를 들어:{variable1:JSON.stringify(myDataObject1),variable2:JSON.stringify(myDataObject2)...}

언급URL : https://stackoverflow.com/questions/2364840/what-is-the-size-limit-of-a-post-request

반응형