2014-11-10 3 views
0

크기가 조정 된 이미지를 nodejs rest api로 보내는 클라이언트 (ember.js)의 이미지 업로드보기가 있습니다. 잘 작동하지만 누군가 전문가가 크기가 조정되지 않은 이미지를 강제로 업로드하는 것은 쉽습니다. 클라이언트에서 크기 조정 프로세스를 유지하고 싶습니다. 이렇게하면 사용자가 중량 이미지를 선택할 수있게되고, 로컬로 크기가 조정되고 이후에 가볍게 업로드됩니다.nodejs에 파일 업로드시 보안 관리

다른 사람이 이와 같은 것을 사용하는 경우 가능한 한 안전하게 만드는 것이 가능한지에 관심이 있습니다.

답변

1

웹 응용 프로그램을 개발할 때 클라이언트 측에서 오는 데이터를 절대 신뢰하지 않으므로 서버 측에서 항상 체크를 시도하십시오!

  1. 인증을 사용하면 사용자가 자신의 계정에만 데이터를 업로드하고 다른 사용자는 파일을 보지 못하게 할 수 있습니다.
  2. 는 서버와 클라이언트 사이를 통과하는 특별한 메시지를 추가, 간단한 예제 난

    될 것이다. 이미지 정보와 대상 압축 된 크기가 포함 된 게시물 API 요청을 서버로 전송하여 클라이언트가 그림 압축을 시작한다는 것을 나타냅니다.

    ii. 업로드 할 때, 전체 압축 된 이미지를 포함하는 메타 데이터를 추가하고이 허용 한계 내에있는 경우 서버에 업로드 된 이미지를 확인, 다른 당신은 할 메시지 전달의 보안을 향상 할 수 그것을

을 폐기 더 복잡한!

이것은 내 단순한 보안 일 텐데, 다른 누구보다 나은 해결책이 있습니까? :)

1

접근 방식 here은 파일 업로드에도 사용할 수 있습니다.

  1. 콘텐츠 길이 헤더가 서버에 의해 판독되는 것 같은 스트림 크기를 읽고 /거나 (즉 req.headers [ '콘텐츠 길이']> X)
  2. : 당신은이 판정의 조합을 사용할 수있다. (즉, 데이터())

스트림 데이터가 특정 크기를 초과하면 그에 따라 응답 할 수 있습니다. 파일 업로드에 대해 Multer과 같은 것을 확인하십시오. 특히 제한 구역을 확인하십시오. 최선의 접근 방식은 아마도 두 번째 옵션 일 것입니다.