파일의 유효성을 검사하는 방법은 파일 확장자에 따라 주장하는 것입니까?파일 유효성 검사는 파일 확장자로 주장하는 것입니다
내 응용 프로그램이 원격 서버에 복사하는 파일 수가 많습니다. 각 파일 복사본을 수행하기 전에 파일 확장자가 실제로 파일임을 확인하고 싶습니다.
지금 사용자는 NSOpenPanel
을 사용하여 파일 및/또는 디렉토리를 선택합니다. 일단 파일 배열이 있으면 복사본이 시작되기 전에 물리적으로 존재하는 각 파일을 검증 할 수 있습니다. 나는 소스 디렉토리가 잘 작동하고 모든 파일 취소가있는 FSCopyObjectAsync
을 사용하여 복사 작업이 잘 작동하는지 확인합니다.
마지막 부분은이 유효성 검사입니다. 내 사용자는 업로드 할 수있는 항목이 제한되어 있지만 필터는 파일 확장명을 사용하여 완료됩니다. 악의적 인 사용자는 예를 들어, 파일 확장명으로 .doc 파일을 가져 와서 .png 파일로 변경하여 초기 열린 대화 상자 유효성 검사를 통과 할 수 있습니다.
이것은 다소 단순한 예입니다. 파일은 서버에 의해 활용되며 작동하지 않을 파일이 업로드되지 않도록하고 싶습니다.
나는 NSFileManager
attributeOfItems:atPath:
을 보았지만 실제 파일 유형에 대한 정보는 제공하지 않는 것 같습니다. 파일 유형은 디렉토리, 심볼릭 링크 등의 파일 유형 만 반환합니다.
나는 모든 파일을 열고 검증하지 않고 파일 헤더를 읽고 파일 유형 스펙을 준수하는지 확인하려고합니다.
이것은 iOS 앱이 아닙니다.
옳은 방향으로 도움이되거나 도움이되는 정보가 있으면 감사하겠습니다.
그런 다음 파일의 헤더를여십시오. :-(하지만 적어도 그것은 해결책이다. – Hooligancat