문제

포스트 백 사이의 객체 값을 유지하고 싶은 페이지가 있습니다. 나는 물체의 가치를 유지하는 두 가지 방법을 생각하고있다

  1. View Sate에 값을 저장하십시오
  2. 값을 숨겨진 필드에 저장하십시오

성능을 기반으로 사용하는 최상의 옵션입니다

도움이 되었습니까?

해결책

당신이 뷰 스테이트 ~하지 않다 클라이언트 측 스크립트에서 참조해야합니다. 당신이한다면 숨겨진 필드.

또한 데이터가 민감한 경우, ViewState는 기본적으로 암호화되는 반면, 숨겨진 필드는 기본적으로 소스를 보는 방법을 아는 사람에게 보이는 일반 텍스트로 저장합니다.

편집하다

자신의 답변에 대한 @andrew Hare의 메모에 따르면, 나는 이것을 편집하고 있습니다. 주목하기에 충분한 차이점입니다. 나는 누군가가 내 감독을 바탕으로 ViewState를 사용하여 "안전하다"고 생각하는 것을 싫어합니다.

ViewState는 기본적으로 암호화되지 않으며 Base-64 인코딩으로 저장됩니다. 상당히 쉽게 디코딩 할 수 있으므로 기본적으로 암호화되기 때문에 ViewState를 사용하는 것이 유효하지 않습니다. 일반 텍스트보다 낫지 만 "Decrypt ViewState"또는 "Decode ViewState"를 Google하는 능력이있는 사람에게는 그렇지 않습니다.

따라서 클라이언트 사이드 코드에서 숨겨진 정보를 보호하기 위해 Viewstate에 의존하지 마십시오.

기사 여기 올바르게 암호화하는 방법을 알려줍니다. (성능 문제에 대해서도 경고합니다).

다른 팁

ViewState 자체가 숨겨진 입력에 저장되어 있기 때문에 실제로 중요하지 않습니다. 더 쉬운 것을 사용하십시오. 그것이 나에게 달려 있다면 ASP.NET 런타임이 귀하의 객체의 직렬화 및 사라질 수단을 처리하기 때문에 ViewState를 선택할 것입니다.

나는 ViewState를 좋아한다 - 해킹하기가 훨씬 어렵다 - 불쾌한 사람은 숨겨진 필드에 나쁜 데이터로 페이지를 쉽게 제출할 수 있습니다.

당신은 그것을보기 상태에 보관하고 싶습니다. 숨겨진 필드는 클라이언트 측에서 조작 할 수있는 정보를 저장하기 위해 브라우저에서 업데이트 할 수 있습니다. 보기 상태는 ASP.NET에 의해 변조에 대한 검증을받습니다. 여기서 숨겨진 필드를 직접 수행해야합니다.

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