Java 응용 프로그램에 XML 스키마를 포함시켜 변경할 수 없습니까? (응용 프로그램에서만 사용됨)?Java 응용 프로그램에 XML 스키마 포함
1
A
답변
1
명시된 수준의 요구 사항에 따라 스키마와 코드를 JAR에 함께 묶어도 충분합니다. 내용은 클라이언트에 의해 변경 될 수 없으므로 (의도없이) 이는 사용자의 요구를 충족시킵니다. 이제는 아카이브 압축을 풀고 앱을 수동으로 실행하는 것을 막을 수는 없지만 결정된 해커가 '야생에서 벗어난'바이너리를 수행하는 것을 막을 수는 없습니다.
XML 스키마를 사용하는 방법에 대해서는 언급하지 않았지만 대부분의 바인딩 프레임 워크에서는 런타임에 스키마에 대해 마샬/언 마샬 작업을 유효성 검사 할 수 있습니다. 이 SO 일반적인 JAXB의 예를 들어 게시 읽기 :
How to validate against schema in JAXB 2.0 without marshalling?
1
프로그램에 XML 스키마 파일의 해시를 포함시키고 파일을로드 한 후 파일이 올바른지 확인할 수 있습니다.
그러나 숙련 된 공격자가 프로그램을 디 컴파일하여 예상되는 해시 값을 변경하여 자신의 스키마를로드 할 수 있음을 알고 있어야합니다. 프로그램을 배포 할 환경에 따라 다릅니다.
관련 문제
- 1. Java 객체와 XML 스키마
- 2. java 응용 프로그램에 mysql 데이터베이스를 포함
- 3. Linux의 SWT Java 응용 프로그램에 CKEditor 포함
- 4. 응용 프로그램에 HTML을 포함
- 5. XML 스키마 java 구문 분석
- 6. Java 응용 프로그램에 외부 응용 프로그램 포함 (또는 위조)
- 7. java 응용 프로그램에 로그인
- 8. 파이썬 응용 프로그램에 FCKeditor 포함
- 9. Silverlight 응용 프로그램에 iframe 포함
- 10. C++ 응용 프로그램에 데이터 포함
- 11. 템플릿을 gwt 응용 프로그램에 포함
- 12. 응용 프로그램에 SSL 키 포함
- 13. Windows 응용 프로그램에 광고 포함
- 14. C 응용 프로그램에 JavascriptCore 포함
- 15. Winforms 응용 프로그램에 어셈블리 포함
- 16. VB.NET 응용 프로그램에 사전 포함
- 17. Java를 C++ 응용 프로그램에 포함 시키시겠습니까?
- 18. Adobe Flash Player를 Java 기반 데스크탑 응용 프로그램에 포함
- 19. C++ 또는 Java 응용 프로그램에 Flash Player를 포함 하시겠습니까?
- 20. JConsole을 Java 응용 프로그램에 포함 할 수 있습니까?
- 21. Java API 개발 및 스프링 응용 프로그램에 포함
- 22. 스윙 응용 프로그램에 제한된 범위의 Java 코드 편집기를 포함 시키시겠습니까?
- 23. Java 구문 분석 스키마 가져 오기 및 포함?
- 24. Silverlight 응용 프로그램에 데이터 파일 포함
- 25. XML 스키마 결합
- 26. XJC를 사용하는 Java 클래스에 대한 XML 스키마
- 27. XML 스키마 패턴을 Java 정규 표현식으로 변환
- 28. 인라인 XML 스키마 파싱 (Java 용 Xerces)
- 29. XML 스키마 인스턴스 변환을위한 Java 라이브러리
- 30. xml 스키마 (XML 오류)
누구에 의해 변경? 그리고이 파일을 변경하면 응용 프로그램이 실행될 때 어떤 영향을 미칠 수 있습니까? – Perception
Java 응용 프로그램, 응용 프로그램에서 사용하는 XML 파일 및 XML에 대한 스키마 파일이 있습니다. XML이 올바른지 확인하고 싶습니다. 앱의 '사용자'가 스키마를 변경할 수 있다면 코드에서 유효성 검사 로직을 반복해야합니다. 이것이 내가 어떻게 든 XML (사용자가 사용할 수 없도록)에서 분리하려는 이유입니다. –