2011-03-16 2 views
0

내 Asp.net 페이지에서 HiddenField를 사용하고 값을 저장합니다. 하지만 사용자가 파이어 폭스 파이어 버그를 통해 클라이언트 측에서 값을 변경하고 잘못된 값을 입력 할 수 있습니다. 그래서 사용자가 웹 페이지의 제출 버튼을 누르면 잘못된 데이터가 서버 측에서 수신되고 잘못된 데이터가 내 데이터베이스에 저장됩니다. 어떻게해야합니까?HiddenField 클라이언트를 통해 값이 변경됩니다.

+0

는 사용자에게 더 이상 정보를 제공하지 마십시오 클라이언트 측에서 값을 저장하지 마십시오 데이터베이스의 데이터 절대적으로 필요한 것보다. 숨겨진 필드는 사용자 경험을 돕기에 좋지만 서버는 무엇을 상관없이 모든 입력의 유효성을 검사해야합니다. – zzzzBov

답변

2

서버 측 입력을 확인하십시오. 어쨌든 항상 사용자를 신뢰해야합니다.

기본적으로 데이터베이스에 저장하는 데이터를 처리하는 코드 뒤에있는 모든 방법은 먼저 보내는 모든 데이터를 검사해야합니다.

+0

내 데이터베이스 항목으로 입력 한 데이터를 확인하려면 과부하는 어떻게해야합니까? 사용자가 값을 변경할 수없는 숨겨진 필드 대신 사용할 수있는 다른 방법은 무엇입니까? 자바 스크립트를 통해 값을 변경해야한다고 말하는 것이 좋습니다. –

+0

그것은 정말로 무엇을하고, 무엇을 숨겨진 필드를 사용 하느냐에 달려 있습니다. 숨겨진 필드에 어떤 유형의 정보를 저장하고 있습니까? – Loktar

+0

사용자가 스킬을 검색하고 그 결과를 그리드보기로 표시 할 수있는 텍스트 상자가 있으며 그리드보기에서 여러 스킬을 선택할 수 있습니다. 그래서 재발 방지를 위해 jquery와 ajax를 사용했습니다. 그래서 나는 hiddenField에 사용자가 선택한 모든 스킬의 해당 값을 저장 한 다음 서버에 전달해야합니다. –

1

클라이언트 쪽 해킹을 막을 수있는 방법은 없지만 데이터에 액세스하는 것이 더 어려워 질 수 있습니다. JavaScript var에 값을 저장 한 다음 값을 숨김 필드에 쓰십시오. 제출 이 방법을 사용해도 훌륭한 개발자 키트를 사용하면 변경할 수 있지만 숨겨진 필드만큼 분명합니다.

보안에 대한 또 다른 사항은 레이어를 추가하는 것입니다.

  • 사용 encrpytion
  • 스토어
  • 전혀
관련 문제