Внедрение токена AntiForgery на веб-формах ASP. NET 4.6 - PullRequest
0 голосов
/ 01 мая 2020

В качестве заголовка я пытаюсь внедрить токен AntiForgery в Asp. net 4.6 framework. У меня есть страница Site.Master, и я изучаю эту статью для адаптации на моем сайте Как исправить подделку межсайтовых запросов (CSRF) с помощью Microsoft. Net ViewStateUserKey и Double Submit Cook ie

Теперь я перешел из c# в vb. net и поместил код на свою главную страницу.

Компилятор отмечает, что

Page.PreLoad += AddressOf master_Page_PreLoad

это событие, и я не могу объявить напрямую.

В любом случае, я не понимаю, является ли это правильным способом решения проблемы или существует другой способ следовать.

1 Ответ

0 голосов
/ 03 мая 2020

решаемая. С

AddHandler Page.PreLoad, AddressOf master_Page_PreLoad

вместо

Page.PreLoad += AddressOf master_Page_PreLoad

Еще одна вещь, касающаяся цели «Внедрение токена AntiForgery на ASP. NET 4.6 WebForm» в веб-методе, который я должен был использовать

HttpContext.Current.Session ("CookieName") для проверки токена, сгенерированного на Page_Init, потому что в webmethos вы не можете использовать ViewState.

Чтобы использовать Sessione в веб-методе, при объявлении веб-метода вы должны определить EnableSession как

 <WebMethod(EnableSession:=True), ScriptMethod(ResponseFormat:=ResponseFormat.Json, UseHttpGet:=False)> _
Public Function GetFunction(myjson As String) As String.....
...