2011-04-23 3 views
1

PHP 페이지에서 실제 이미지 경로를 숨기거나 일부 암호화를 사용할 수 있습니까 [뷰어가 img src를 볼 수 없습니까?]
[ 사용자가 이미지를 공유 할 수있는 소셜 네트워크를 만들었습니다. 이미지는 데이터베이스에없는 저장됩니다.] ]이미지 경로 보호 - PHP

내가 내가 VB.NET 코드]

<data name="TrayIcon.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> 
<value> 
    AAABAAEAICD/AAAAAACoCAAAFgAAACgAAAAgAAAAQAAAAAEACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 
    AABnZEsAjnMTAKmFFAC7lBsAdWEhABstOgAfNE0ARlt0AG6DmABziJsAN0NTAEpRVABWW1wAS0ktAElj 
    iwBPbpEAQ1yBADlPcwBdc4gAPT9CAEY6EABUeaoAWIO4AGWCqQBdd5sAPVV7AHWPlQB3jZ8Ae5GjACs0 
    PwAyJgUANTk6AFRphABbicEAZJLJAGGPxABjhroAdZClAHWIjgBne4wAZm9rABQWFQAwNDEANkpjAG2Y 
    ................ 
</value> 
</data> 
+1

비공개 경로에 저장하는 것이 더 나은 선택입니다. 그런 다음 사용자가 이미지를 요청할 때 이미지를 스트리밍 할 수 있습니다. – Andre

+1

비공개로 설정할 수는 없습니다. 사용자가 본 후에는 공개됩니다. – Blender

답변

2

일부 매개 변수가있는 PHP 페이지를 만들어서 처리 할 수 ​​있습니다. http://www.yoursite.com/pic.php?token=xxxxxxxxxxxx처럼 여기에서 토큰을 처리하고 역할 인증 및 세션 인증을 수행 한 다음 header() 함수를 사용하여 그림을 다운로드하여 사람들이 직접 다운로드 할 수 있지만 사진 경로를 직접 볼 수는 없습니다. 희망이 당신을 도울 수 있습니다.

+0

좋은 아이디어 Mic :) – Sourav

+0

하지만이 모든 경우에 로컬로 사진을 저장하면됩니다. – JohnP

+0

이 경우 그림 경로를 볼 수 있습니다. PHP 프로세스 요청 후 –

1

그것은 아니에요을 게시하도록하겠습니다 불구하고 [이러한 데이터와 이미지를 보여주는 몇 가지 PHP 페이지를 보았다 때문에 이러한 공격의 완전히 다운로드에서 이미지를 보호하는 시스템을 구축하는 것이 가능 : 페이지 서버와 클라이언트 사이의

-Interception의

-Screenshots (즉, 와이어 샤크)

- 브라우저 캐시에서 검색

+0

나는 1,3가 멈출 수 없다는 것을 안다! (그러나 img src 경로를 숨길 수 있습니까?) – Sourav

+0

@Sourav : 요점은 없습니다. 스크린 샷을 찍는 것은 쉽습니다. 사용자는 img의 src를 찾는 것이 훨씬 어려울 것입니다. – icktoofay

2

이미지 src 경로를 숨기는 것은 무엇을 의미합니까? 사용자 브라우저에 이미지를 표시하려면 반드시 데이터에 액세스해야합니다. 따라서 주소를 알려 주어야합니다 (이미지를 base64 또는 다른 형식으로 페이지에 임베드하지 않는 한, 좋지는 않습니다). 하지만 사용자의 브라우저를 제어하지는 않습니다 ... 어쩌면 이미지를 캐시에 저장하고 있을까요? 아니면 사용자가 원하는대로 할 수 있도록 맞춤 설정 했습니까?

하나의 요청에 대해서만 작동 할 수있는 이미지에 대한 고유 링크를 생성하는 것이 가능한 한 가지 가능한 보호 방법은 사용자가 페이지의 소스 코드를보고이 링크를 사용하려고 시도하는 것입니다 , 그러면 더 이상 유효하지 않습니다. 그러나 이것은 절대적인 보호가 아닙니다.

의도 한대로 할 수있는 확실한 방법은 없습니다. 더 어렵게 만 만들 수는 있지만 사용자가 보호를 우회 할 정도로 영리하지 않기를 바랄 수 있습니다. 항상 방법이 있기 때문입니다.

+0

좋은 답변 +1 :)하지만 Base64로 인코딩하는 방법을 말할 수 있다면 고맙겠습니다. – Sourav

+1

http://a3nm.net/blog/fuel_efficiency.html 페이지의 두 이미지는 base64로 인코딩 된 SVG 이미지입니다. (네, 그건 제 블로그입니다. 자기 홍보를 위해 유감스럽게 생각 합니다만, 저는이 예를 염두에 둡니다.) 아니요, 이것은 아마도 권장 된 방법은 아닙니다. 사용 된 백엔드 덕분에 편리했지만 추한 데다 자랑스럽지 않습니다. – a3nm

+0

멋진 자동차! 마크 스포츠카처럼 보입니다 :) – Sourav