2017-01-19 4 views
1

PHP codeigniter 프레임 워크를 사용하고 있습니다. 나는 보안과 관련된 질문이 inspect 요소를 사용하여 양식 ID를 제거하면 Jquery 유효성 검사가 제거됩니다.

$('#form_id').validate({ 
    rules here, 
    messages here 
}); 

아래처럼 jQuery validations을 사용했다. if 요소를 검사하여 양식 ID를 제거하면 jquery 유효성 검사가 실행되지 않습니다. 클라이언트 쪽 유효성 검사를 사용하여 처리 할 수 ​​있다는 것을 알고 있습니다. 다른 해결책이 있다면 사용자가 양식 ID를 제거 할 수 없도록 생각하십시오.

+1

데이터는 서버 측에서 삭제되어야하며 유효성을 검사해야합니다. 항상. 데이터 클라이언트 측 검증은 오류를 사용자에게 더 빨리 표시하기 위해 좋은 도구이지만이 '검증 된'데이터는 절대 신뢰하지 않습니다. – Dacklf

답변

1

다른 사람이 HTML을 삭제하는 것을 막을 수는 없지만 양식 ID와 입력 사항이 있는지 확인할 수는 있습니다. 첫째, 당신의 검증의 나머지 ..

뭔가 같은 전에 : 원인 클라이언트 측의

<input type="text" name="FirstName" value="Mickey"> 
+0

감사합니다. 좋은 해결책. 그것은 예상대로 작동합니다. – hrishi

1

:

$("form").submit(function(event){ 
    if ($(this).attr("id") != 'form_id') { 
     event.preventDefault(); 
     alert("Missing or Altered Form ID"); 
    } 
    if (this.FirstName === undefined) { 
     event.preventDefault(); 
     alert("Missing Input Fields"); 
    } 
}); 

는 ** FIRSTNAME 입력의 이름입니다 유효성 검사가 반드시 필요하지만 "보안"에 관해서는 사용자를 신뢰하지 마십시오. 당신이 언급 한대로 사용자는 유효 데이터로 모든 데이터를 보낼 수 있습니다. 따라서 최상의 솔루션은 백 엔드/서버 측 유효성 검사에서 동일한 데이터의 유효성을 검사하는 것입니다. CodeIgniter의에서

은 사용자가 요구하는 당신을 가정하여 양식 아이디

을 제거 할 수 있도록

다른 솔루션 당신이 당신의 지점에 대한 here

를 볼 수있는 좋은 검증 라이브러리와 함께 제공 이 자바 스크립트와 관련된 대답은 아니오입니다. Java 스크립트는 클라이언트 측/사용자 브라우저에서 실행되기 때문에 양식 ID를 변경하거나 제거하여 사용자가 우리 스크립트를 편집하는 범위를 벗어나 사용자가 무엇을 얻고 있는지 확신 할 수 없도록 할 수 있습니다 위에서 언급 한 솔루션은 백 엔드 유효성 검사를 수행하며 이것이 도움이되기를 바랍니다.

관련 문제