2012-07-23 1 views
0

아마 일반적인 질문 중 하나일지도 모릅니다. 특정 유형의 웹 사이트/응용 프로그램에만 적용되지만 관련성이 전혀 없습니다. 나는 약간 혼란 스럽다. 그렇지 않으면 나는 현재의 프로젝트를 위해 내 축소판을 캐싱해야한다. 보통이 프로젝트에 대해서는 확신 할 수 없다. 나는 더 잘 이해할 수 있도록 나의 상황을 더 잘 설명 할 것이다.캐쉬하거나 캐싱하지 않으려면 - 포토 웹 사이트

저는 유명인, 뉴스 및 스포츠 사진을 위해 승인 된 고객 (신문 & 매거진)의 전체 웹 사이트에 스톡 포토 사이트를 보유하고 있습니다. 이 사진들은 가치가 있으며 크기가 큰 사진은 Amazon S3 또는 루트 디렉토리 위 또는 만료 및 해시 링크로 숨겨 지므로 캐시를 추가하여 사진을 위태롭게하고 싶지 않습니다. 언제 내가 틀린 캐시를 추가하거나 추가하면 안된다. 일반 사용자는 사진을 검색하여 다시 볼 수 없으며 사진을 즐겨 찾기에 저장하고 하루에 두 번 볼 수도 있습니다. 사용자는 몇 분 안에 10,000 장의 사진을 탐색 할 수도 있습니다.

내 질문은; 캐시가 전혀 없거나 제한된 캐시가 있어야합니까 (예 : 1 시간 또는 1 일)? 사진의 캐시 유효 기간을 설정하면 '캐시 된 이미지'라고 말하면 브라우저에서 내 클라이언트가 액세스 할 수 있습니까? 귀중한 사진을 캐싱하는 데 다른 보안 문제가 있습니까?

나는 화면 잡기, 인쇄 및 규칙에 대해 알고 있습니다. 도난 당하지 않으려면 웹에 올려 놓지 말고 보안 및 속도 향상을 위해 최선을 다하고 싶습니다.

PHP의 ReadFile()<img src="loadImage.php?p=2342dfsfsdfwf2dfsf">과 같은 IMG 요소를 사용하여 Amazon의 클라이언트 브라우저로 이미지를로드하는 데 PHP (5.2.17)를 사용하고 있습니다. 당신은 이미지의 보안에 대해 매우 우려하고 있다면, 내가 말할 것

<?php 
header("Expires: Sat, 26 Jul 1997 05:00:00 GMT"); 
header("Content-Type: image/jpeg"); 
readfile($url); 
?> 
+0

* 브라우저 * 캐싱을 의미합니까 ?? 또는 엄지를 캐싱 서버 쪽 생성? – Hamish

+0

@Hamish : 서버 측에서 Amazon에서 이미지를 가져 와서 화면 (loadImage.php)에 인쇄 할 때 캐시 헤더를 추가 할 수 있습니다. 현재 미리보기 이미지의 경우 캐시 헤더를 제공하지 않았습니다. 이것이 제가 질문하는 것입니다. – TheCarver

+2

캐시 * 헤더 *는 서버가 아닌 클라이언트 용입니다. – Hamish

답변

2

는 (더 많은 대역폭을 사용하는 비용과 느린 로딩에 그들을 캐시하지 않습니다

캐싱의 유형을 명확히하기 위해 시각). 보안보다 대역폭 사용에 더 관심이 있다면 캐시하십시오.

그러나 진정한 미리보기 이미지 인 경우 작거나 품질이 낮 으면 사용자에게 가치가 없어야합니다. 한 가지 해결책은 이미지에 워터 마킹하는 것입니다.

이론적으로 브라우저 캐시 (http://protechgeek.com/how-to-extract-images-from-browser-cache/)에서 이미지를 추출 할 수 있으므로 캐시 된 경우 이미지를 검색 할 수 있습니다. 더 쉽게, 누군가 언급 한 것처럼 잡아 당길 수도 있고 마우스 오른쪽 버튼으로 클릭하고 복사/붙여 넣기를 할 수도 있습니다. 워터 마크가 이에 대한 유일한 해결책입니다.

TL; DR 제 생각에는

, 나는 그것이 가치가 있다고 생각하지 않을 여분의 대역폭 공격과 최소한의 보안 증가 로딩 시간을 증가. 대신 워터 마크를 사용하십시오. 주식 사진 웹 사이트의 대부분이 워터 마크를 사용하는 이유가 있습니다. 이미지를 철저히 훔쳐 가지 못하게하는 유일한 방법입니다 (이미지와 워터 마크에 따라 숙련 된 Photoshop 사용자가 설득력있게 제거 할 수 있음)

+0

유일한 방법은 화면을 잡는 것입니다. 사진 위에 투명 이미지가 겹쳐져 있으므로 마우스 오른쪽 버튼으로 클릭하면 blank.png 파일을받습니다. 내가 생각하는 엄지 손가락의 보안보다 속도가 더 좋을 것입니다. 대역폭은 우리에게 문제가되지 않습니다. 각 사진을 얼마나 오래 만기시켜야합니까? – TheCarver

+0

결정된 사용자가 웹 속성을 사용하여 투명한 PNG를 제거하는 것은 매우 쉽습니다. 캐시 시간은 사용자가 참여하게 될 행동의 유형에 따라 달라집니다. 캐싱에 대한 전문가가 아니기 때문에 다른 사람이 그것에 대해 집중하려고 할 수 있습니다. –

+2

@PaparazzoKid - 왜 5 분간 만들지 않으시겠습니까? 세? 아시다시피, 실제 문제는 사람이 이미지 *의 충분한 사본을 리소스 *로 다운로드 할 수 있다는 것입니다. DOM traversal에 유능한 사람에게 15 초를 주면 소스 파일을 갖게됩니다. 같은 사람들에게 한 시간 정도만 제공하면 이미지를 다운로드하는 브라우저 (Chrome 확장?)에서 스크립트를 실행할 수 있습니다. 다운 레스 카피 스크립트, 워터 마크를 미리보기로 저장하고 저장하고 사용자에게 현실적인 캐시 시간을 제공하십시오. 그런 다음 사용자에게 더 높은 입술 결제에 액세스 할 수있는 기능을 제공하십시오. –