2009-12-31 3 views
1

숨겨진 변수 (입력 유형 = 숨김)를 사용하여 페이지에 ID 정보를 저장합니다. 공격자를 막기 위해 System.Security.Cryptography을 사용하여 저장된 데이터를 암호화하기로 결정했습니다.자바 스크립트로 데이터 암호 해독 - ASP.NET 웹 사이트

숨겨진 변수는 JS에서 액세스되고 유효성 검사 논리를 실행합니다. 유효성 검사 로직을 실행하기 전에 데이터의 암호를 해독해야합니다. System.Security.Cryptography

+3

클라이언트 쪽에서 JavaScript를 사용하여 암호를 해독 할 수 있으면 모든 공격자가 해독 할 수 있습니다. 이 접근법은 그 이유 때문에 결함이 있습니다. 유효성 검사 로직 또한 서버 측에서 수행해야합니다. 잠재적으로 사이트를 손상시킬 수있는 사항에 대해서는 클라이언트 측 유효성 검사를 신뢰해서는 안됩니다. –

답변

8

클라이언트 측에서 JavaScript를 사용하여 해독 할 수 있으면 모든 공격자가이를 해독 할 수 있습니다. 이 접근법은 그 이유 때문에 결함이 있습니다. 유효성 검사 로직 또한 서버 측에서 수행해야합니다. 잠재적으로 사이트를 손상시킬 수있는 사항에 대해서는 클라이언트 측 유효성 검사를 신뢰해서는 안됩니다.

+1

동의 함. 모든 유효성 검사 논리는 서버 측에서 발생해야합니다. 클라이언트 측에서 발생하는 모든 것을 신뢰할 수 없습니다. – selfawaresoup

+0

클라이언트 측 스크립트를 신뢰할 수 없으므로 JS 유효성 검사 (왕복이 필요 없음)를 수행하고 서버 측에서 유효성을 검사합니다. 이 방법을 사용하면 클라이언트 측 유효성 검사를 제거해야합니까? – Nick

+0

@TechPriester 꽤 맞습니다. 나는 형식과 겹침 등에 대한 클라이언트 쪽 유효성 검사를 위해 Java Script를 사용하지만, 서버 쪽 유효성 검사와 비교하여 두 번 확인합니다. 내가 클라이언트 측에서 가지고있는 유일한 이유는 포맷팅과 관련하여 사용자에게 즉각적인 피드백을주는 것입니다 (신용 카드 번호 상자에 글자가있는 것 등). –