2009-11-11 3 views
3

일반적으로 파일 서버는 웹 응용 프로그램의 이미지를 저장하는 데 사용됩니다. 더 많은 보안과 제어를 위해 데이터베이스에 이미지를 저장하는 것이 좋습니다. 그러나 이것은 복잡하고 느립니다. 데이터베이스에 저장하는 것 이외에 이미지를 안전하게 저장할 수있는 옵션은 무엇입니까?

이 등, 사용자 권한으로 안전하게

편집 이미지를 저장하기 위해, DB/파일 서버가 아닌 다른 사용할 수있는 다른 주류 옵션 위치 : 나는 아마존 클라우드에 배포하고 DB로 PostgreSQL의를 사용하고 있습니다.

답변

3

SQL Server 2008은 파일 시스템에 데이터를 저장하고 데이터베이스에 액세스 할 수있는 the Filestream storage을 제공합니다. 데이터베이스 사용에 대한 유일한 관심이 성능이라면 유용 할 수 있습니다.

+0

감사합니다. @Konamiman 현재 저는 아마존 클라우드를 만들고 postgresql을 데이터베이스로 사용하십시오. – Satya

0

URL을 추측하고 이미지에 직접 액세스하는 사람들이 염려하십니까?

그렇다면 www 디렉토리 외부의 파일 시스템에도 이미지를 저장할 수 있습니다. 당신은 ImageServer.php가/.ASPX/.jsp로라는 페이지를 만들 파일 시스템의 해제 이미지를 잡고 다음과 같은 URL에 대한 응답을 제공 : 이렇게하면

ImageServer.php?image=BlueWhale.png 

것은 올바르게 설정하도록주의 아파치/IIS는 당신을 위해 그것을하지 않기 때문에 MIME 유형과 만기 헤더.

2

이미지가 직접 웹 액세스 권한이없는 폴더에 저장하는 경우 다음 "을 선택하고 (예를 들어, 세션 ID를 사용하여)

<img src="getimage.aspx?id=1234"> 

을하고 된 GetImage"페이지 "모든 appropraite 권한 테스트를 할을 할 수 있습니다 보안 폴더에서 이미지를 전송합니다.

단점은 이미지가 캐시되지 않는다는 것입니다. 그러나 나는 그것이 데이터베이스 경로에서도 마찬가지라고 기대한다.

phyiscal 데이터베이스에 이미지를 저장하면 데이터베이스가 압축되어 백업 시간이 증가합니다. & 복원 시간; 그러나 새로운/여러 서버로 모든 것을 옮기고 싶거나 DB에서 이미지와 다른 데이터 사이의 참조 무결성이 중요하다면 하나의 컨테이너를 제공합니다.

관련 문제