0

사용자가 자바 스크립트를 사용 중지 할 수 있음을 이해합니다.자바 스크립트가 필수 일 때 서버 측 유효성 검사가 필요합니까?

사용자가 양식을 제출할 때마다 (클라이언트 측 유효성 검사와 함께) 숨겨진 필드가 javascript를 사용하여 수정되고 서버 측에서 js가 비활성화되었는지 확인하는 웹 응용 프로그램을 개발 중입니다. js가 비활성화 된 경우 javascript를 사용하도록 사용자에게 알립니다.

  1. 서버 측에서 입력의 유효성을 다시 검사해야합니까? (그렇다면 그 이유는 무엇입니까?)
  2. 이 경우 클라이언트 측 유효성 검사를 수행 할 수있는 방법이 있습니까?
  3. 아약스 기반 로그인의 경우에도 서버 측에서 사용자 자격 증명을 다시 확인해야합니까?

답변

1

서버 측에서 입력의 유효성을 다시 검사해야합니까?

예. Always. 게으르지 마십시오. 자바 스크립트를 사용할 수있는 브라우저는 물론, 브라우저에서도 요청이 전송되는 것은 아닙니다. 브라우저는 HTTP 요청을하는 유일한 방법은 아니며, 정의에 따라 HTTP 서버는 브라우저가 아닌 HTTP 클라이언트에 서비스를 제공합니다. 사용자, 시스템, 귀중한 데이터 및 시스템의 다른 사용자를 보호하기위한 유효성 검사가 있습니다. 클라이언트 측 유효성 검증은 협력적이고 악의적이지 않은 클라이언트를 전제로하지만, 포인트은 비협조적이거나 악의적 인 클라이언트로부터 보호를 제공하는 것입니다.

이 경우 클라이언트 측 유효성 검사를 수행 할 수있는 방법이 있습니까?

물론. 요청은 "수동으로"숨겨진 필드가 JavaScript로 조작되었다고 생각하여 서버를 속일 수 있으므로 JS가 사용 가능하다고 생각하도록 서버를 속일 수 있습니다. 숨겨진 필드는 보안을 위해 아무 것도하지 않습니다. they are trivial to manipulate.

2

클라이언트 입력을 신뢰해서는 안되며 항상 서버에서 유효성을 검사해야합니다.
클라이언트 유효성 검사는 사용자 편의를위한 것입니다.

0

서버 측에서 입력의 유효성을 다시 검사해야합니다. 고객의 의견을 신뢰하지 마십시오. 그들은 양식 없이도 모든 데이터를 POST 할 수 있기 때문입니다.

클라이언트 유효성 검사는 단지 UX 용입니다.

관련 문제