인터뷰시 분산 컴퓨팅에서이 질문을 받았습니다.클라이언트 측 코드를 안전하게 실행하십시오.
는 면접관 :
는 "샘의 출력을 얻을 수있는 클라이언트의 컴퓨터에 특정 코드를 실행하지만 클라이언트 코드를 수정하고, 따라서 코드가 다른 출력을 반환
이이제 샘 원한다.. 코드가 인지 변경되었는지 또는 반환 값이 수정되었는지 여부를 확인할 수 있는지 여부를 알고 있습니다. 가능합니까? "
나는 클라이언트가 컴퓨터에서 코드를 수정하지 못하도록하는 것이 불가능하다고 생각했습니다. 또는 나는 틀린가? 그렇지 않은 경우 코드가 변경되었는지 여부를 감지 할 수 있습니까? 아니면 클라이언트가 코드를 수정하고 출력하는 것을 어렵게 만들 수 있습니까?
코드 수정을 방지하는 것은 불가능합니다. 그리고 내 경험에 비추어 볼 때, 컴퓨터에 접근 할 수있는 이벤트는 변경된 코드를 감지하기가 어려울 것입니다. 왜냐하면 변경된 코드가 파일로 변경되기 때문에 저장되지 않기 때문입니다. 나는 당신이 다르게 보길 바란다. 이것은 매우 시원 할 수있다. – rfornal