HttpRequest에 요청이 POST
요청이고 특정 도메인에서 왔는지 확인할 수있는 속성이 있습니까?특정 도메인에서 POST가 요청되었는지 확인하는 방법은 무엇입니까?
private bool IsRequestedFromDomain(string domain)
{
// Request.Form is from domain ?
return false;
}
HttpRequest에 요청이 POST
요청이고 특정 도메인에서 왔는지 확인할 수있는 속성이 있습니까?특정 도메인에서 POST가 요청되었는지 확인하는 방법은 무엇입니까?
private bool IsRequestedFromDomain(string domain)
{
// Request.Form is from domain ?
return false;
}
시도는이 헤더가 위조 될 수
Request.ServerVariables["HTTP_REFERER"]
참고를 사용합니다. 그것이 쉽게 위조 할 수 있으며 프록시에 의해 변경 될 수 있습니다로는 신뢰할 수 없습니다하지만,
Request.UrlReferrer
: ASP ServerVariables Collection
사용 : 서버 변수의 목록은
는보고를 확인하시기 바랍니다.은 https에서 https로 리디렉션 된 경우에도 수정할 수 있습니까? HTTPS가 켜져있다는 뜻인가요? –
HTTP Referer이지만 수정할 수 있습니다.
확실한 방법은 양식에 무작위로 생성 된 값을 보내고 세션에 저장하고 IsRequestedFromDomain과 비교하는 것입니다.
은 https에서 https로 리디렉션 된 경우에도 수정할 수 있습니까? HTTPS가 켜져있다는 뜻인가요? –
은 https에서 https로 리디렉션 된 경우에도 수정할 수 있습니까? HTTPS가 켜져있다는 뜻인가요? –
예, 가능합니다. 이 요청을하는 것은 사용자 브라우저이므로 모든 HTTP 헤더를 배치 (또는 위장) 할 수 있습니다. –