중요한 데이터를 처리하거나 보안 결정을 내리는 애플리케이션은 해당 데이터를 자체 제어 하에 유지해야 하며 잠재적으로 악의적인 다른 코드가 데이터에 직접 액세스하도록 허용할 수 없습니다. 메모리의 데이터를 보호하는 가장 좋은 방법은 데이터를 프라이빗 또는 내부(범위가 동일한 어셈블리로 제한됨) 변수로 선언하는 것입니다. 그러나 이 데이터에는 접근할 수 있는 경우가 있음을 알아야 합니다.
리플렉션 메커니즘을 사용하여 개체를 참조할 수 있는 신뢰할 수 있는 코드는 프라이빗 멤버를 가져와서 설정할 수 있습니다.
직렬화를 사용하여 신뢰할 수 있는 코드는 개체의 직렬화된 형식으로 해당 데이터에 액세스할 수 있는 경우 프라이빗 멤버를 효과적으로 가져오고 설정할 수 있습니다.
디버깅에서 이 데이터를 읽을 수 있습니다.
사용자 고유의 메서드 또는 속성이 의도치 않게 이러한 값을 노출하지 않는지 확인합니다.
참고하십시오
GitHub에서 Microsoft와 공동 작업
이 콘텐츠의 원본은 GitHub에서 찾을 수 있으며, 여기서 문제와 끌어오기 요청을 만들고 검토할 수도 있습니다. 자세한 내용은 참여자 가이드를 참조하세요.
.NET