URL Encoding & 계정 정보가 포함된 FTP 접속 링크


FTP 주소를 통하여 접근하는 방법은 여러가지가 있습니다.

Filezilla나 알FTP와 같은 FTP 클라이언트 프로그램을 이용할 수도 있고
윈도우 탐색기 또는 웹 브라우저를 이용할 수도 있고
콘솔창에서 FTP명령어로도 가능합니다.

이 중 탐색이나 웹 브라우저를 이용할 때 아래와 같이 주소를 바로 입력하거나 링크된 주소를 클릭하여
접근할 수 있는데요.

ex) ftp://file.reslee.kr:7777

익명계정이 접속 가능하면 상관 없지만 계정이 필요할 경우는 아래와 같이 ID/PASS 입력창이 뜨게 되죠.



그래서 계정 정보와 FTP 주소를 아래와 같이 한꺼번에 날려주면 계정 입력창에 입력할 필요 없이 자동으로
ID/PASS를 적용하여 접속하여 줍니다. 하이퍼 링크된 내용에 포함되어 있어도 역시 한번에 접속이 됩니다.

ex) ftp://testid:testpass@file.reslee.kr:7777

형식 - ftp://아이디:패스워@주소:포트번호 -> 한마디로 이런 형식을 가지고 있습니다.

하지만 여기서 주의사항이 있습니다.

ID나 PASS가 일반적인 문자나 숫자가 포함될 경우는 상관 없으나 특수 문자가 포함될 경우
(ex - !@#$%^&*()? 이런식의 문자들이죠)
URL Encoding이 적용되어 정상적인 루트를 타지 못하는 경우가 있습니다.
특수문자 @또는 #또는 %같은 경우 웹 서버를 위한 특별한 의미로 해석될 수 있습니다.
파라미터 전달, CGI연결 등등...

따라서 특별한 의미를 갖는 특수문자들은 예외처리가 필요한데요.
패스워드가#@pass이라고 가정한다면 아래와 같이 사용하시면 됩니다.

ftp://testid:#@pass@file.reslee.kr:7777 -> X (정상적인 루트를 타지 못함.)
ftp://testid:%23%40pass@file.reslee.kr:7777 ->O (정상적으로 접속됨.)

요지는 해당 특수 문자에 대한 ASCII코드를 %와 병합하여 써 주시면 되는겁니다.
%와 ASCII를 병합하여 날리면 특수문자 자체를 보낼 수 있는 것이지요.

# -> %23
@ -> %40
% -> %25

나머지 ASCII값들은 아래 사이트를 참조하세요.
http://ascii-table.com/

재미삼아 %를 이용하여 제 블로그 주소(reslee.kr)를 입력해 보겠습니다.
역시 정상적인 접속을 할 수 있습니다. ^^

http://%72%65%73%6c%65%65%2e%6b%72 -> 정상적으로 접속 가능.

ps.위에 예시로 든 ftp://file.reslee.kr:7777 주소는 예시일 뿐이니 접속 안된다고 뭐라고 하심 안됩니다. ^^;;;

+ Recent posts