2011-08-09 2 views
0

나는이 문제에 대한 좋은 해결책을 찾지 못했고 누군가 이미 비슷한 것을 해보았기를 희망한다.비공개 URL을 숨기는 연습 방법은 무엇입니까?

내 서버에 저장된 이미지 목록을로드하는 자바 스크립트 프로그램을 작성했지만 사용자가 내 이미지 디렉토리를 알고 싶지 않습니다.

var img1 = new Image(); 
img1.src = "my_img_directory/img1.png"; 

var img2 = new Image(); 
img1.src = "my_img_directory/img2.png"; 

이 예제에서 사용자는 내 웹 서버에서 img1 및 img2를 어디에 저장하는지 알 수 있습니다. URL을 볼 수 없게하는 방법이 있습니까?

URL을 임의의 문자열로 바꾸려하고 있습니다. 예를 들어, 다음과 같이 할 수 있습니다.

var img1 = new Image(); 
img1.src = decode_URL("auiopjlnad103k"); 

하지만 난 여전히 임의의 문자열을 절대 경로로 매핑해야합니다. 사용자는 decode_URL이 임의의 문자열을 절대 URL로 변환하는 방법을 볼 수 있습니다.

클라이언트에서 임의의 문자열을 해독하는 경우 사용자는 개인 키를 알아 내고 URL을 알아낼 수 있습니다.

나는 생각을 잃어 버렸습니다. 클라이언트 쪽에서는 할 수없는 일인가요? 모든 팁이나 도움이 크게 감사하겠습니다!

감사합니다.

+1

나는이 서버 쪽을하는 것이 좋습니다. 실제 이미지의 URL이 무엇인지 사용자가 알아 내지 못하게하는 방법은 없습니다. – Ivan

+0

당신의 관심사는 무엇입니까? Google 로봇이나 다른 검색 엔진이 이미지의 색인을 생성하지 못하도록 막으려는 경우 robot.txt 파일을 만들어 이미지를 넣으면됩니다. 이 URL은 더 많은 것을 보여줍니다. http://www.google.co.kr/support/webmasters/bin/answer.py? answer = 35308 – Ali

+0

해결책이 있다고 생각합니다. –

답변

3

Firebug와 같은 도구에서 들어오는 HTML을 스니핑하고 서버와의 전체 대화를 보는 것을 막을 수있는 방법은 없습니다.

하나의 대체 방법은 광산 헤더를 보내고 서버 측 코드에서 이미지 내용을 스트리밍하여 이미지를 보내는 것입니다. 그런 다음 이미지가 imageserver.php?id=349857348975 또는 그 이상에서 오는 것처럼 보입니다.

당신은 사용하십시오 : <img src="imageserver.php?id=349857348975" /> 당신의 HTML이

+0

...하지만 사용자는 여전히 동일한 요청을하고 이미지를 얻는다. 이것은 OP가 방지하려고 시도하는 것으로 추정된다. – Phrogz

+5

사실입니다. 규칙은 다음과 같습니다. 사용자가 저장할 수 없도록하려면 인터넷에 저장하지 마십시오. –

1

에서 정말 서버의 디렉토리 경로를 숨길 이유가 없습니다. 이미지에 직접 URL을 사용하는 경우 해당 사실을 숨길 수 없습니다. 어떤 종류의 네트워크 스니퍼 또는 브라우저 개발자 도구 (Firebug, Chrome inspector 등) 또는 Fiddler와 같은 네트워크 프록시 유형을 실행하는 사용자는 브라우저가 가져 오는 것을 볼 수 있습니다 : 경로, 파일 이름 및 모두. 나는 요청이 이루어지고 있다는 것을 숨길 가치가 없다고 말하고 싶다.

서버는 디렉터리 목록을 허용하지 않도록 구성되어 아무도 그 디렉터리에있을 수있는 다른 것을 볼 수 없도록 구성 할 수 있습니다.

언급 한 Diodeus에서 서버 측 스크립트가 이미지를 제공함으로써 경로의 개념을 숨길 수 있습니다. 그러나, 나는 네가 얻고있는 것이 무엇인지 모른다. 요청은 적절히 보호 된 서버에서 밝혀지는 내용에서 경로/파일 이름 정보와 전혀 다른 이미지를 가져 오는 식별 정보가 있어야합니다.

"인증 된"사용자 만이 정보에 액세스 할 수있게하려는 경우 이미지에 대한 액세스 권한을 부여하기 전에 인증 자격 증명 (로그인 쿠키 일 가능성이 있음)을 확인하여 서버 측에서이를 적용해야합니다. 어쨌든 이것은 주로 서버 측 작업입니다.

관련 문제