2013-04-04 3 views
0

우리가 라이트 박스의 이미지를 가지고 있지만 클라이언트가 브라우저의 상태 표시 줄에 표시되는 IMG의 SRC 그게 전부를 공개하지 않는 사이트 ...브라우저 상태 표시 줄

모든 밝은 아이디어는 우리가 모든 브라우저 지속적으로이를 달성 할 수있는 방법 ?

이것은 다른 큰 이미지와 클라이언트가 가장 중요하게 생각하는 상태 표시 줄에 표시되는이 링크를 연결하는 미리보기 이미지가있는 사이트에 대한 것입니다.

우리는 또한 우리가 이미지에 Obfuscated 시간 제한 URL을 사용할 수있게 해주는 CMS 옵션을 사용해 보았습니다. 이것은 위대한 것처럼 보이지만로드 시간이 심각하게 느려지는 지점까지로드가 느려집니다.

+0

상태 표시 줄에 이미지'src'를 보여주는 브라우저는 무엇입니까 ?? 그리고 어떤 라이트 박스 코드를 사용하고 있습니까? –

+1

ajax를 통해로드하십시오. 그러나 URL은 항상 사소한 노력만으로 액세스 할 수 있습니다. –

답변

0

모달 대화 상자를 사용할 수 있습니다. 정확히 팝업되지 않지만 다른 컨테이너가 열립니다. 오버레이처럼. 이미지를 사용하여 많은 사람들이 볼 수 있지만 html로도 사용할 수 있습니다. jquery 용 플러그인이 많이 있습니다.

하지만 몇 가지 예와 Heres는 하나 http://jquery.com/demo/thickbox/

나는 개인적으로 http://fancybox.net/ 등을

만 문제는 당신이 다른 웹 사이트를 호출하는 아약스를 사용할 수 없습니다,하지만 당신은 PHP의 페이지를 만들거나 무엇이든 얻을 수있다 다른 페이지의 내용을 반환 한 다음 아약스에서 반환합니다.

이 경우 컬 (curl)과 같은 것을 사용하고 싶을 것입니다.

+0

도움이 될 수있는 또 다른 좋은 아이디어를 가져 주셔서 감사합니다. – paulcripps

0

브라우저에 이미지를 표시하려면 브라우저가 해당 이미지의 위치를 ​​알아야합니다. 따라서 해당 이미지의 URL은 항상 사용자가 볼 수 있습니다. 사용자로부터 그것을 숨길 방법이 없습니다.

상태 표시 줄에서 그것을 숨길 수 있지만 사용자가 이미지를 마우스 오른쪽 버튼으로 클릭하여 "새 탭에서 이미지 열기"(또는 이에 상응하는 도구)라고 말하지 않게하는 것은 무엇입니까? "마우스 오른쪽 버튼 클릭 금지"(모든 의도와 목적으로 불가능)는 Firebug와 같은 개발 도구를 통해 이미지 URL을 쉽게 볼 수 있습니다.

따라서 URL을 조금 위장 할 수는 있지만, 정말로 그것을 찾고자하는 사람을 막을 수는 없습니다.

+0

예 스티브에 동의합니다. 이미지를 원한다면 찾으십시오. 나는이 사이트가 우리가 다른 큰 이미지와이 링크를 상태 막대에 표시되는 링크 (href = "")로 연결하는 미리보기 이미지가있는 사이트에 추가한다고 덧붙였다. – paulcripps

+0

나를 믿어, 나는 너 말 들었어. 나는 웹이 어떻게 작동하는지 전혀 모르는 고객을 다루었으며 그들의 '자산'노출에 대해 편집증적인 경향이 있었다. 그것들을 교육하는 것이 중요하지만, 결국 당신은 그것이 얼마나 어리석은 지간에 당신을 행복하게 만드는 방법을 찾아야합니다. :) – Steve

+0

이 경우 일부 데이터는 민감합니다 ... 우리는 단순히 모든 파일의 이름을 바꿀 수 있습니다! (수천은 있지만). 다시 감사드립니다 스티브 :) – paulcripps

0

여기에 목표가 무엇인지 잘 모르겠지만 질문에 답하는 것은 이미지를 base64 인코딩 된 문자열로 작성하는 것입니다. 예는 많습니다 : http://en.wikipedia.org/wiki/Data_URI_scheme#Examples. 따라서 이미지의 위치를 ​​가리는 것이 가능하며 실제로 서버에 데이터 문자열을 쓰는 한 외부에서 액세스 할 필요조차 없습니다.

+0

감사 샘, 우리는 우리가 이것을 달성하는 데 도움이 될 것입니다 몇 가지 추가 기능을 찾고 있습니다. – paulcripps

+0

부가 기능이 필요 없습니다. 모든 서버 측 언어를 사용하면 쉽게 구현할 수 있습니다. –

0

데이터 속성에 이미지의 위치가있는 스크립트를 만들고 라이트 박스를 수동으로 실행하는 클릭 이벤트를 바인딩하고 해당 데이터 속성의 위치를 ​​사용합니다.

+0

감사합니다 알렉스, 내가 생각하기 시작한 것. – paulcripps

0

최상의 솔루션은 페이지의 이미지 경로를 인코딩 (예 : base64 사용) 한 다음 인코딩 된 파일 경로를 받고 원본 이미지를 문자열로 반환하는 독립 실행 형 PHP 스크립트를 사용한다고 생각합니다. 파리.

Obviosuly 이미지를 직접 제공하는 것보다 더 많은 오버 헤드가 있지만 사용자가 실제 파일 위치 또는 이름을 알 수 없게됩니다.이 같은

뭔가 :

Hide download file location. - Redirect download

는 좋은 출발점이 될 수 있습니다.

:

+0

사실 이것 역시 이것이 ExpressionEngine 프로젝트라는 것을 알면 관련이 있습니다 - http://stackoverflow.com/questions/12246246/serving-images-to-get-a-request –

+0

이것은 좋은 것처럼 들리 겠지만, 감사합니다. Nathan . – paulcripps

1

웹 페이지 자체가 인증을 받습니까?

그렇다면 올바른 방법은 공개 루트에서 이미지를 가져 와서 인증 스크립트를 통해 액세스를 실행하는 것입니다. Devot : ee에는 ExpressionEngine을위한 몇 가지 도구가 있다고 생각합니다. 또는 간단한 플러그인이 개인 경로를 사용하여 로그인 한 회원을 확인한 다음 이미지를 제공 할 수 있습니다.

페이지에 인증이 없다면 거친 진실은 당신이 모든 시간을 낭비하고 나는 당신의 고통을 느끼고 있다는 것입니다! 그렇다면 이미지가 진정으로 민감한 것처럼 적절한 방법으로 적절한 보호가 필요한 것처럼 "고객 교육"을 포기하지 않을 것입니다.

제쳐두고, discouraging hotlinking도 고려해 볼 수 있습니다.