request.form을 명시 적으로 수행하는 대신 request.params를 사용해야합니까?

StackOverflow https://stackoverflow.com/questions/1426976

  •  07-07-2019
  •  | 
  •  

문제

모든 코드에 대해 request.form을 사용하고 있습니다. 그리고 쿼리 스트링이 필요하다면 나는 그 명시 적으로도 쳤다. 코드 검토에서 대신 Params Collection을 사용해야하는 코드 검토에서 나타났습니다.

적절한 컬렉션을 직접 쳤다는 것이 모범 사례라고 생각했습니다. 나는 논쟁의 한쪽 또는 다른쪽에 약간의 강화를 찾고 있습니다.

도움이 되었습니까?

해결책

request.form을 사용하는 것이 더 안전합니다. 이렇게하면 사용자가 URL을 변경하여 게시 된 양식 매개 변수로 "실험"하지 못하게됩니다. request.form을 사용하면 "실제 해커"를 위해 보안을 유지하지는 않지만 IMHO 양식 컬렉션을 사용하는 것이 좋습니다.

다른 팁

요청에 따라 속성을 사용하면 귀하의 검색을 적절한 컬렉션으로 좁히고 있습니다 (이는 가독성과 성능에 좋은 것입니다). 나는 당신의 접근 방식이 모범 사례라고 생각하고 직접 따릅니다.

항상 request.form ( "param") 또는 request.querystring ( "param")을 사용했습니다.

이것은 순전히 읽기 쉬운 구문에 달려 있습니다. 성능 영향이 진지하게 의심됩니다.

내가 사용하는 유일한 시간 Request.Params 대신에 Form 또는 Querystring 매개 변수가 전달되는 방법이 전달되는지 모르겠습니다.

맥락에두기 위해 10 년 안에 나는 사용했습니다. Request.Params 한 번만 분노로 :)

친절,

URL에서 검색 매개 변수를 정의 할 수 있거나 Pagination과 같은 쿠키에 저장할 수있는 검색 양식과 같이 응용 프로그램에서 유연한 동작을 명시 적으로 정의하려고하지 않는 한 양식 및 쿼리 스트링 컬렉션을 명시 적으로 사용하는 것이 좋습니다. 선호도.

request.form 및 request.querystring을 명시 적으로 사용합니다. 그 이유는 두 사람이 상호 교환 할 수 없기 때문입니다. 쿼리 문자열은 http get requests 및 http post 요청에 대한 변수를 양식에 사용합니다.

GET 요청은 일반적으로 데이터를 요청하는 곳에 적용됩니다. 예 : Google 검색을 수행하고 검색어는 쿼리 문자열에 있습니다. 게시물은 처리 또는 저장을 위해 데이터를 웹 서버로 전송할 때입니다. 따라서 두 사람이 교환 할 수 없다고 말할 때는 기능을 깨지 않고 페이지를 사용하여 페이지를 변경할 수 없다는 것을 의미합니다.

따라서 IMHO, 페이지의 구현은 GET 또는 게시물 요청에 의해 호출되도록 의도한다는 사실을 명확하게 반영 할 수 있습니다.

/피트

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top