2011-12-13 4 views
0

서버에 업로드하기 전에 zip/rar 파일의 내용을 확인해야합니다.업로드하기 전에 파일 내용 확인

시나리오를 설명해 드리겠습니다.

1 : 정상 등록 된 사용자 2 : 우리의 프로젝트에 페이지를 만들 수 있습니다 프로젝트

, 등록 된 사용자의 관리자, 또한 만들 수 Themes 내 웹 프로젝트에서 사용자의 2 종류가 있습니다

페이지.

우리는 Theme을 테마 팩 [Zip/Rar 파일 압축]로 업로드하는 기능을 제안했습니다.

관리자 인 경우 더 이상 보안 제약이 없습니다.

하지만 일반 등록 사용자의 경우 두려워합니다.

내 문제는 다음과 같습니다

는 가정 그 시스템에 손상을 줄 수 있습니다 [PHP 파일을 포함하여 일부 악성 파일이 포함 된 테마 팩을 업로드 등록 된 사용자. 업로드 후 내용을 확인하는 것이 가능하다는 것을 알고 있지만 그 전에 파일을 사용한 경우 어떻게 될까요?

예 : 테마 팩을 업로드하는 사용자 : some PHP codes & other large files을 포함합니다. 먼저 Google 시스템에서 테마 팩의 콘텐츠를 추출합니다. 큰 파일을 추출하는 데 시간이 걸리고 작은 PHP 파일이 이미 추출되었다고 가정합니다. 사용자는 먼저 PHP 파일을 실행할 수 있습니다.

위의 내용은 제 멍청한 멍에입니다. 실제로 다른면은 모르겠습니다.

이 문제를 파악하는 데 도움을주십시오.

ZIP 파일을 안전하게 업로드 할 수 있습니까?

답변

2

물론 당신이 검사/업로드를 한 일종의 플러그인 (모든 브라우저 용)이 없으면이 클라이언트 측을 확인할 수 없습니다. 이 문제는 서버 측에서 처리해야합니다.

또한 관리자는 비 관리자와 마찬가지로 쉽게 바이러스를 업로드 할 수 있습니다. 일부 사용자는 자신의 컴퓨터가 허풍 쟁이 매춘 업소보다 바이러스가 더 많다는 것을 모릅니다.

EDIT : PHP 파일을 실행하지 않으면 사용자가 확인하기 전에 서버에서 PHP 파일을 어떻게 실행합니까? 어쨌든 이것은 재난을위한 조리법처럼 들립니다. 그것이 취할 모든 것은 균열을 통과하기위한 것이고 악의적 인 사용자는 사이트를 파괴 할 것입니다. 정상적인 사람들이 실행 가능한 스크립트를 서버에 업로드하도록 허용하면 심각한 문제가 발생합니다.

+0

글쎄, 그래서 일하는 방법은 무엇입니까 ?? 관리자는 프로젝트의 파워 유저, 그들은 관리자에 대한 상관 없어, 그래서 그들은 서버에 직접 액세스 할 수 있습니다. – Red

+1

@DileepDil, 업로드하기 전에 사용자가 컴퓨터에서 파일을 열어 신뢰할 수 있는지 묻는 것입니다. 보안상의 이유로 플러그 인을 설치하지 않으면이 작업이 수행되지 않습니다 (사용자가 좋아하지 않을 것으로 확신 함). Nameless가 말했듯이, 업로드를 수락하고, 확인하고, 삭제하고/어딘가에 옮깁니다. –

+0

해명 해 주셔서 감사합니다. 이해했습니다.하지만 사용자/프로그램이 업로드 직후 파일을 실행하면 어떻게 될까요? – Red

2

웹을 통해 접근 할 수없는 디렉토리에 압축을 푼 다음 확인한 다음 웹 폴더로 다시 이동하십시오.

디렉토리가/var/www/website 디렉토리에 있고 사용자 컨텐츠가/var/www/website/user로 이동하고 www.website를 통해 접근 할 수 있다고 가정합니다.COM/사용자/: 당신은 TMP /에 액세스 할 수없는 경우

당신은 만들 수 있습니다,의/var/www가/웹 사이트/사용자

로 이동, 확인,이 풀고/tmp에 임시 디렉토리를 생성/VAR/www/website/tmp에 저장하고 서버 설정을 사용하여 액세스를 금지하십시오.

+0

그러면 일반 사용자는 어떻게 접근 할 수 있습니까 ?? 테마 팩에는 테마를 만드는 데 사용되는 HTML 파일, 폴더, 이미지 등이 있습니다. 테마를 만들 수있는 HTML 편집기가 있으므로 사용자가 올바른 경로를 이미지에 넣어야합니다. 위의 웹 루트를 업로드 한 경우 어떻게 가능합니까? 가능한 경우 다른 파일도 가능합니다. – Red

+2

@DileepDil 다시 읽으십시오 : 악의적 인 내용을 확인한 후 압축 해제 된 파일을 원하는 위치로 이동하십시오. – Nameless

+0

오클, 고마워. 내가 확인해 볼게. – Red

0

zip 파일을 넣고 압축을 풀 폴더를 만들 수 있습니다.

그리고 폴더에 대한 PHP 실행을 비활성화하십시오. 귀하의 문제를 해결할 수 있습니다

관련 문제