2014-12-14 7 views
1

ASP.NET 웹 페이지 응용 프로그램을 개발 중입니다. Visual Studio에서 생성 된 기본 웹 페이지 응용 프로그램에는 AntiForgery.GetHtml()에 대한 함수 호출이 포함되어 있습니다. 나는이 호출과 AntiForgery.Validate() 호출도 연구하고 이해했다. 하지만 지금 내 질문에 내가 작성한 모든 웹 페이지에서이 함수 호출을 포함해야합니까? 내 _Layout.cshtml 파일에 AntiForgery.GetHtml()을 추가하더라도 두 번째 함수를 추가하여 모든 콘텐츠 페이지의 페이지를 확인해야합니다. 이 작업을 수행하는 올바른 방법과 특정 방식으로 수행해야하는 이유를 알려주십시오.내가 만드는 모든 웹 페이지에 AntiForgery.GetHtml() 함수를 추가해야합니까?

답변

2

다른 포럼에서이 질문에 대한 답변을 얻었습니다. 대답은 간단합니다. AntiForgery.GetHtml() 및 AntiForgery.Validate() 함수는 포스트 백 중에 최종적으로 사용자가 제출할 양식 데이터가있는 웹 페이지에서만 사용되어야합니다.

아래는 원래 답변에 대한 링크입니다.

http://forums.asp.net/t/2024282.aspx?Do+i+need+to+add+the+function+AntiForgery+GetHtml+in+all+of+the+web+pages+that+i+create+

감사합니다 여러분.

0

당신은 후 Page_Init 이벤트 내에서 그 기능을 넣을 수 있습니다 (IsPostBack을) 마스터 페이지

+0

미안하지만 이것은 일반적인 ASP.NET 웹 폼 응용 프로그램이 아닙니다. 내가 개발중인 것은 ASP.NET 웹 페이지 응용 프로그램입니다. – Abhi

+0

응용 프로그램에 마스터 페이지가 있습니까? –

+0

아니요. 마스터 페이지의 개념은 ASP.NET Web Forms 응용 프로그램에만 존재합니다. ASP.NET 웹 페이지 응용 프로그램을 개발 중입니다. – Abhi

0

에서

경우 어떻게 귀하의 사이트에있는 모든 폴더 에 '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가 아니라는 것을 안다. 그러나 그것이 당신이하고 싶은 것이면 그것은 사람들을 당신의 폴더에서 보호 할 것이다.

+0

위의 아이디어가 효과가 있을지 확실하지 않지만 ASP.NET 웹 페이지 라이브러리에서 위조 여부를 확인하는 내장 함수를 제공한다면 가장 적합한 방법이라고 생각합니다. – Abhi

+0

양식을 보내고 나면 작동하지 않습니다. 본 적이 있다고 생각합니까? http://msdn.microsoft.com/en-us/library/dd470175.aspx – Harry

+0

위의 링크는 ASP.NET 웹 응용 프로그램의 MVC 패턴의 경우에 사용되는 메서드를 가리 킵니다. MVC 같은 패턴을 사용하지 않는 일반 ASP.NET 웹 페이지 응용 프로그램을 개발하고 있습니다. PHP와 더 비슷합니다. – Abhi