삭제 링크가 안전한 콘텐츠를 만들고 싶습니다. 즉.AntiforgeryToken & many forms perf
행 1편집이
가 편집 삭제 링크가 POST 링크입니다
을 삭제 행
삭제합니다. 은 내가 AntiForgeryToken 및 AntiForgeryToken 검증using(Html.BeginForm("Delete","Home", FormMethod.Post))
{
@Html.AntiForgeryToken()
@Html.Hidden("objectId", i)
<input type="submit" value="Delete" />
}
C#을
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Delete(int objectId)
{
SafeLogic();
return View(...);
}
와 짝을 간단한 형태의 게시물이 작업을 수행 할 수있어, 삭제 링크가 대신 요청을 얻을의 요청을 POST 만들려면
또한이 작업을 테이블과 함께하고 싶습니다. 그러나 많은 토큰 생성과 관련하여 몇 가지 성능 문제가 있습니다 (예 :
@for (int i = 0; i < 500; i++)
{
<tr>
<td> Data Row @i </td>
<td>
using(Html.BeginForm("Index","Home", FormMethod.Post))
{
@Html.AntiForgeryToken()
@Html.Hidden("objectId", i)
<input type="image" src="img_delete.gif" alt="Delete" />
}
</td>
}
AntiForgeryTokens의 생성에는 어느 정도의 비용이 듭니까? 많은 AntiForgery 토큰이 생성됩니다. 최대 100 개까지 문제가 될 수 있습니다. 이 많은 인라인 html 양식을 가지고 있어도 괜찮습니까?
@Josh가 아래를 대표하는 것을 보았습니다. jQuery가 페이지를 더 현대적으로 호출한다고합니다. 게시물을 작성하더라도 사용자가 전체 페이지 또는 프레임을 다시로드해야하는 양식이 있습니다. – zaitsman
나는 또한 대답을 알고 싶다. 그리고 모두가 자바 스크립트를 추가 할 때 나를 완벽하게 잘 수행 할 수있는 일을 할 때 나를 귀찮게한다. 불필요한 복잡성과 취약성을 추가합니다. (나는 자바 스크립트를 잘 활용하는 매끄러운 웹 사이트에 반대하지 않는다. 그러나 내 신경을 얻는 바로이 기본 대답 일 뿐이다.) 지금까지는 아래의 답변 중 어느 것도 실제로 직접 질문에 대답하지 않는다. –
받아 들여진 대답이 너무 많은 수의 antiforgerytokens의 비용/성능에 관한 질문에 답하지 못한다. ( – marapet