타 서버에서 보내진 URL 을 서버로 넘겨 받을 수 있나요?

조회수 503회

A 라고 하는 서버에서 웹 페이지에 있는 버튼을 클릭 할 경우 B 서버에 있는 홈페이지 (예: xxxx.com/) 로 이동하게 되는데 이 때 B 서버에서 A 에서 오는 URL 형태만 접속할 수 있게 하고 그 외 접속은 불가하게 막을 수 있는 방법이 있나요?

PHP 를 서버 스크립트로 사용하는데 PHP 로 할 수 있는 방법을 찾아보고 있습니다.

혹시나 관련 내용 키워드가 있다면 키워드라도 알려주시면 감사하겠습니다.

  • (•́ ✖ •̀)
    알 수 없는 사용자

1 답변

  • 요청헤더의 리퍼러를 확인해서 특정 IP 대역이나 특정 도메인만 허용하는 화이트리스트 방법도 있을 거 같긴 한데... 좀더 유연하고 명시적으로 접근하려면 서명된 URL(signed URL)이라고 부르는 기법을 고려해 보시면 좋을 것입니다.

    핵심은, B서버의 도메인이 foo.com이라고 할 경우, 모든 URL은 반드시 ?signature=q3o4rbdgfdgf 같은 GET 파라미터가 붙어 있어서, 이걸 B서버에 있는 키로 복호화한 다음에만 뭔가 처리를 하는 것입니다. 라라벨의 경우에는 5.6부터 signedRoute()라는 URL파사드 메소드가 도입돼 있습니다. 아마존 S3 자원을 서명된 URL로 제공하고자 할 경우 공식 SDK의 도움을 받으시면 됩니다. 시도해 보세요! #MakePHPGreatAgain

    • 중요한 여럿 키워드를 제시해주셔서 정말 감사합니다. 말씀해주신 내용을 토대로 궁금한 사항을 만들어 시도해보려고 합니다. 서명된 URL (signed URL) 의 예시로 이메일 인증? 과 같은 것을 찾아보면서 견문을 넓히고 있습니다. 정말 감사합니다. 알 수 없는 사용자 2020.5.3 03:21

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)