asp.net mvc5 : inspect 요소를 사용하여 브라우저에서 아무도 변경할 수 없도록 모델 ID를 숨기는 방법

탱고

'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에게 감사드립니다.

내 사이트를 덜 취약하게 만들기 위해 수행 한 단계는 다음과 같습니다.

  1. 이러한 악의적 인 요청을 무시하기 위해 Antiforgerytoken과 함께 양식을 사용했습니다. (Vinay Singh가 제안한대로)

  2. 내 ID를 암호화 / 복호화하여 최소한 일반 최종 사용자가 값을 변경하여 사용할 수 없도록했습니다. (조란이 제안한대로)

  3. 가장 중요한 것은 나쁜 최종 사용자를 방지하기 위해 현재 사용자가이 요청을 할 수있는 권한이 있는지 여부 등 서버 측에서 각 요청을 확인하는 것입니다 (Stephen Muecke 경이 제안 함).

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

Related 관련 기사

뜨겁다태그

보관