회원정보 수정에서

회원정보 수정에서

QA

회원정보 수정에서

답변 2

본문

/bbs/register_form_update.php 에서

 

아래와 같은 검사가 왜 필요한지 모르겠습니다.

    if (trim($_POST['mb_id']) != $mb_id)
        alert("로그인된 정보와 수정하려는 정보가 틀리므로 수정할 수 없습니다.\\n만약 올바르지 않은 방법을 사용하신다면 바로 중지하여 주십시오.");

 

어짜피  쿼리할 때 $mb_id로 넣고 => where mb_id = '$mb_id' ";

 

$mb_id는 위에서 세션값으로 받아오기 때문에 임의 수정이 불가능한데 위와같은 검사를 해주는 이유가 무엇인가요?

이 질문에 댓글 쓰기 :

답변 2

 

상단에


if($w == 'u')
    $mb_id = isset($_SESSION['ss_mb_id']) ? trim($_SESSION['ss_mb_id']) : '';

 

코드가 있습니다. 수정모드일 때 $mb_id 는 로그인한 유저의 ID 값을 지닙니다.

 


if (trim($_POST['mb_id']) != $mb_id)
        alert("로그인된 정보와 수정하려는 정보가 틀리므로 수정할 수 없습니다.\\n만약 올바르지 않은 방법을 사용하신다면 바로 중지하여 주십시오.");

 

어떤 부정한 툴을 사용하여 (등등), 로그인한 ID 와 수정하려는 회원정보 ID 값이 다른 경우를 막고자 하는 코드입니다.

 

ex. A회원이 로그인한 뒤, 부정한 방법을 사용하여 B회원의 회원정보를 수정하려고 할 때

근데 어짜피 쿼리하는 내용에서 $_POST['mb_id'] 아닌 $mb_id값(세션값이라 수정 불가)으로 들어가기 때문에 자신의 정보외에 수정이 불가능하지 않나요?
$_POST['mb_id'] 값이야 충분히 변경가능하니까 신경쓰지 않아도 되고..

DB 저장 부분은 이중 예방 성격일 수 있습니다.

DB 저장이 세션 id 로 저리하는 것으로 2차적 예방의 성격으로 처리도 시키고,

저장이 되든, 안되든 부정적인 접근에 대해서 '경고'할 수는 있을 것입니다.
(로그인 -> 정보수정 -> 수정시키지 못하는 id 를 크롬 개발자 도구로 수정하는 등의 방법 사용)

물론, 이러한 노파심 코드는 개발자의 취향의 영역일 수는 있습니다.

답변을 작성하시기 전에 로그인 해주세요.
전체 3
© SIRSOFT
현재 페이지 제일 처음으로