나는 이것이 불가능하다고 생각하지만, 내가 아는 사람은 그것이 효과가 있다고 주장했다. 나는 어떤 매개 변수를 시도 해야할지조차 모르며이 문서를 어디에도 찾지 못했습니다.
http://myserver.com/~user=username&password=mypassword를 시도 했지만 작동하지 않습니다.
실제로 HTTP 매개 변수 (GET 또는 POST)를 통해 사용자 / 패스를 전달할 수 없다는 것을 확인할 수 있습니까?
나는 이것이 불가능하다고 생각하지만, 내가 아는 사람은 그것이 효과가 있다고 주장했다. 나는 어떤 매개 변수를 시도 해야할지조차 모르며이 문서를 어디에도 찾지 못했습니다.
http://myserver.com/~user=username&password=mypassword를 시도 했지만 작동하지 않습니다.
실제로 HTTP 매개 변수 (GET 또는 POST)를 통해 사용자 / 패스를 전달할 수 없다는 것을 확인할 수 있습니까?
답변:
표준 HTTP 인증의 쿼리 매개 변수를 통해 사용자 이름과 비밀번호를 전달할 수는 없습니다. 대신 다음과 같은 특수 URL 형식을 사용합니다 http://username:password@example.com/
.-표준 HTTP "Authorization"헤더로 자격 증명을 보냅니다.
말한 사람이 쿼리 매개 변수를보고 자격 증명을 확인한 사용자 지정 모듈이나 코드를 생각했을 수 있습니다. 이것은 표준 HTTP 인증은 아니지만 응용 프로그램별로 다릅니다.
URL의 기본 인증 매개 변수 전달은 권장되지 않습니다.
이를 위해 Authorization 헤더 필드가 있습니다. http 헤더 목록
사용 방법은 다음과 같습니다. 기본 액세스 인증
또한 일부 브라우저에서 여전히 지원하지만 URL에 기본 인증 자격 증명을 추가하는 권장 솔루션은 권장되지 않습니다.
또한 읽기 RFC 2617에 장 4.1 - HTTP 인증을 기본 인증을 사용하지 않는 이유에 대한 자세한 내용은.
쿼리 문자열에서 인증 매개 변수 전달
OAuth 또는 기타 인증 서비스를 사용하는 경우 인증 헤더 대신 쿼리 문자열로 액세스 토큰을 보낼 수도 있습니다.
GET https://www.example.com/api/v1/users/1?access_token=1234567890abcdefghijklmnopqrstuvwxyzABCD
http : // username : password@example.com 은 FireFox, Chrome, Safari에서는 작동하지만 IE에서는 작동하지 않습니다.
@
암호를 이스케이프 처리하려고 합니다 %40
. (하지만 이것이 작동하는지 모르겠으며 서버 또는 브라우저 / 서버 조합에 따라 달라질 수 있습니다.)