ASP.NET 웹 페이지 응용 프로그램을 개발 중입니다. Visual Studio에서 생성 된 기본 웹 페이지 응용 프로그램에는 AntiForgery.GetHtml()에 대한 함수 호출이 포함되어 있습니다. 나는이 호출과 AntiForgery.Validate() 호출도 연구하고 이해했다. 하지만 지금 내 질문에 내가 작성한 모든 웹 페이지에서이 함수 호출을 포함해야합니까? 내 _Layout.cshtml 파일에 AntiForgery.GetHtml()을 추가하더라도 두 번째 함수를 추가하여 모든 콘텐츠 페이지의 페이지를 확인해야합니다. 이 작업을 수행하는 올바른 방법과 특정 방식으로 수행해야하는 이유를 알려주십시오.내가 만드는 모든 웹 페이지에 AntiForgery.GetHtml() 함수를 추가해야합니까?
답변
다른 포럼에서이 질문에 대한 답변을 얻었습니다. 대답은 간단합니다. AntiForgery.GetHtml() 및 AntiForgery.Validate() 함수는 포스트 백 중에 최종적으로 사용자가 제출할 양식 데이터가있는 웹 페이지에서만 사용되어야합니다.
아래는 원래 답변에 대한 링크입니다.
감사합니다 여러분.
당신은 후 Page_Init 이벤트 내에서 그 기능을 넣을 수 있습니다 (IsPostBack을) 마스터 페이지
에서
경우 어떻게 귀하의 사이트에있는 모든 폴더 에 'index.html을'을 배치하는 등 약 ... .. '
<!DOCTYPE html>
<head>
<meta http-equiv="refresh" content="0; url=http://MY HOME PAGE">
<title>ACCESS DENIED</title>
</head>
<body>
<h1>ACCESS DENIED</h1>
</body>
</html>
나는 그것이 ASP가 아니라는 것을 안다. 그러나 그것이 당신이하고 싶은 것이면 그것은 사람들을 당신의 폴더에서 보호 할 것이다.
위의 아이디어가 효과가 있을지 확실하지 않지만 ASP.NET 웹 페이지 라이브러리에서 위조 여부를 확인하는 내장 함수를 제공한다면 가장 적합한 방법이라고 생각합니다. – Abhi
양식을 보내고 나면 작동하지 않습니다. 본 적이 있다고 생각합니까? http://msdn.microsoft.com/en-us/library/dd470175.aspx – Harry
위의 링크는 ASP.NET 웹 응용 프로그램의 MVC 패턴의 경우에 사용되는 메서드를 가리 킵니다. MVC 같은 패턴을 사용하지 않는 일반 ASP.NET 웹 페이지 응용 프로그램을 개발하고 있습니다. PHP와 더 비슷합니다. – Abhi
봅니다 HTTP 모듈 내부를 작성하는 http://msdn.microsoft.com/en-us/library/aa479332.aspx
미안하지만 이것은 일반적인 ASP.NET 웹 폼 응용 프로그램이 아닙니다. 내가 개발중인 것은 ASP.NET 웹 페이지 응용 프로그램입니다. – Abhi
응용 프로그램에 마스터 페이지가 있습니까? –
아니요. 마스터 페이지의 개념은 ASP.NET Web Forms 응용 프로그램에만 존재합니다. ASP.NET 웹 페이지 응용 프로그램을 개발 중입니다. – Abhi