'UserId, Username, Status'필드가있는 'User'라는 모델이 있습니다. 색인 페이지에서 모든 사용자를 편집, 삭제 기능과 함께 등록하고 있습니다. 내 코드는 다음과 같습니다.
@foreach (var item in Model)
{
<table>
<tr>
<td>@Html.DisplayFor(modelItem => item.Username)</td>
<td>@Html.DisplayFor(modelItem => item.Status)</td>
<td><input type='button' id='btnEdit' data-id='@item.UserId' value='Edit'/></td>
</tr>
</table>
}
다음과 같이 렌더링됩니다.
<table>
<tr>
<td>USER ONE</td>
<td>active</td>
<td><input type='button' id='btnEdit' data-id='1041' value='Edit'/></td>
</tr>
<tr>
<td>USER TWO</td>
<td>active</td>
<td><input type='button' id='btnEdit' data-id='1042' value='Edit'/></td>
</tr>
</table>
그리고 btnEdit를 클릭하면 다음과 같이 컨트롤러에 jQuery ajax 호출을 사용합니다.
$("#btnEdit").on("click", function () {
$.ajax({
cache: false,
type: "POST",
url: "/User/Edit",
data: $(this).data('id'),
success: function (response) {
//rest of code here
}
});
});
질문:
UserId를 숨기고 선택된 행에 대해 jquery에서 호출하여 검사 요소를 사용하여 브라우저에서 아무도 변경할 수 없도록하는 방법
미래의 독자를 위해이 질문이 해결 된 것으로 표시하고 싶었습니다. 귀중한 시간과지도에 대해 Stephen Muecke, Vinay Singh, Zoran에게 감사드립니다.
내 사이트를 덜 취약하게 만들기 위해 수행 한 단계는 다음과 같습니다.
이러한 악의적 인 요청을 무시하기 위해 Antiforgerytoken과 함께 양식을 사용했습니다. (Vinay Singh가 제안한대로)
내 ID를 암호화 / 복호화하여 최소한 일반 최종 사용자가 값을 변경하여 사용할 수 없도록했습니다. (조란이 제안한대로)
가장 중요한 것은 나쁜 최종 사용자를 방지하기 위해 현재 사용자가이 요청을 할 수있는 권한이 있는지 여부 등 서버 측에서 각 요청을 확인하는 것입니다 (Stephen Muecke 경이 제안 함).
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다