2013-04-09 2 views
0

내가 가진 이미지 태그의 src 문자열을 숨 깁니다. 게이트웨이는 내가 사용하는 게이트웨이의 구조를 변경하기 위해 많은 노력을 기울이기 때문에이를 수행 할 다른 방법을 찾고 있습니다.는 예를 들어

클라이언트의 src를 숨길 수있는 방법이 있습니까? 예를 들어 base64 또는 클라이언트 쪽을 해독 할 수있는 다른 암호화를 사용합니까?

+0

base64가 작동해야합니다. 그럼 당신 문제는 뭐니? – David

+0

base64는 좋지만 IE에는 약간의 제한이 있습니다. ** 서버에서 이미지를 다운로드 ** (다운로드하고 캐시합니다) 웹 페이지에서 서버의 "로컬"URL 만 볼 수 있습니다. 당연히 원래 URL **을 난처하게해야하지만 ** 해시 **를 사용하면됩니다. –

+0

MVC를 사용하면 파일과 단일 매개 변수 (해시)를 반환하는 컨트롤러 메서드로 쉽게 수행 할 수 있습니다. 내부 테이블은 해시를 이미지 URL로 변환 한 다음 다운로드하여 클라이언트로 반환합니다.해시를 사용하는 대신 어딘지를 모호하게한다면 룩업 테이블조차 필요하지 않습니다. –

답변

3

을 사용하지만 이미지를 다운로드하고 base64로 변환 한 다음 페이지 (또는 CSS)에 삽입해야합니다.

이렇게하면 페이로드가 약 34 % 증가합니다.


다른 방법으로 CSS를 사용하여 페이지의 스타일을 지정하고 이미지 URL을 CSS에 포함시킵니다. 이것은 동적 일 수는 없지만 웹 기술에 대해 조금 알고있는 사람이라면 CSS를보고 URL을 볼 수 있습니다. 이런 방식으로 이미지를 사용하는 것은 물론 의미 론적이지 않으며 예기치 않은 방식으로 페이지를 깨뜨릴 수 있습니다. 즉, "잘 작동해야하는"작업을하는 데 더 많은 노력을 기울일 필요가 있습니다.

0

당신은 당신은 base64 코드에서 전체 이미지를 변환 할 수 있습니다 코드

이 조각
$('img').filter(function(index){return $(this).attr('src')==='';}).hide(); 
+0

그리고 ... 이미지가 없습니다. 나는 OP가 여전히 이미지를 보여주고 싶어한다고 가정하고 있습니다. – Oded

+0

그게 뭐야? –

3

간단한 대답은 NO. 답 : 아니오. 기술적 답변 : 브라우저에서 표시되는 모든 것을 한 방향으로 사람이 읽을 수있는 텍스트로 변환해야합니다. 서버 측을 난처하게 할 수 있습니다.

*) 사람이 읽을 수있는 내용은 http://gateway.com/P/N/R.jpg과 같은 매우 짧은 이름도 포함합니다.

0

처리기를 사용할 수 있습니까? 이렇게하면 URL을 숨길 수 있습니다. 원하는 경우 base64를 사용하여 이미지를 보낼 수도 있고 응답으로 바이트 스트림을 쓸 수도 있습니다.

나는 이것이 작동해야한다고 생각하고 코드 조각 하나만 변경하여 이미지 경로를 제어 할 수도있다.

확인이 링크 : http://www.codeproject.com/Articles/34084/Generic-Image-Handler-Using-IHttpHandler

감사합니다.

1
<a href="data:text/html;charset=utf-8;base64,PCFET0NUWVBFIEhUTUw%2BDQo8aHRtbCBs 
YW5nPSJlbiI%2BDQogPGhlYWQ%2BDQogIDx0aXRsZT5QcmV0dHkgR2xvd2luZyBMaW5lczwvd 
Gl0bGU%2BDQogPC9oZWFkPg0KIDxib2R5Pg0KPGNhbnZhcyB3aWR0aD0iODAwIiBoZWlnaHQ 
9IjQ1MCI%2BPC9jY..."</a>