2014-01-10 2 views
0

'js-webshims'를 사용하여 클라이언트 측 유효성 검사를 사용하여 HTML5에서 생성 된 작은 문의 양식이 있습니다. 이 양식은 서버의 PHP를 통해 처리됩니다. 그러나 서버 측 유효성 검사가 없습니다. HTML5를 통한 클라이언트 측 검증 만.HTML5 : 클라이언트 측과 서버 측 모두에서 웹 폼의 유효성을 검사해야합니까 아니면 클라이언트 측에서만 수행 할 수 있습니까?

내 질문 : HTML5와 'js-webshims'polyfill로 클라이언트 측 유효성 검사 만 수행 할 수 있습니까? 아니면 서버 측 유효성 검사를 수행해야합니까?

감사합니다.

+0

양식이 안전하고 폐쇄 된 네트워크/인트라넷에 상주한다는 점을 잊어 버렸습니다. 서버 측 밸리 에이션을 사용하는 것이 여전히 중요하다고 생각하십니까? – redshift

+1

분명히, 당신은 누가 다른 것들을 타이핑하고 있는지 알지 못합니다. 저는 SysAdmin으로 알고 있습니다. 관리자 권한을 얻으려는 무작위적인 유형의 '안전한'환경에 많은 사용자가 있다는 것을 알고 있습니다. 어떤 종류의 보안에 대한 가장 큰 위협은 내부 위협입니다. –

+0

Hai @redshift 좋은 질문입니다. –

답변

2

이상적으로는 양쪽에서 유효성 검사를 수행하는 것이 좋습니다. 클라이언트 측에서 사용자가 제출 한 내용이 유효한지 알고 서버 측에서 처리해야하므로 처리해야 할 위치에 배치해야합니다.

엄지 손가락의 규칙으로 이것을 사용하십시오 ... 클라이언트 측이면 제출 전에 클라이언트가 변경할 수 있습니다.

3

항상은 서버 측 유효성 검사를 수행해야합니다.

누구나 양식을 사용하지 않고도 간단히 게시/요청을 서버에 보낼 수 있습니다.

1

입력 소스를 신뢰하지 마세요. 항상 서버 쪽의 유효성을 확인하십시오.

+0

들어온 사람과 내려온 사람 덕분에 모두에게 투표했습니다. 당신은 지역 사회에 훌륭한 서비스를 제공하고 있습니다./풍자 – Spechal

+1

downvotes가 모두 롤백 된 것 같습니다. (스택 교환은 불합리한 투표 문구를 고르는 일에 능숙합니다.) –

0

서버 측 유효성 검사는 반드시 필수입니다. 클라이언트 측은 사용자를위한 편의 기능/향상된 UX에 가깝습니다.

0

항상 서버 측 유효성 검사를 사용하십시오. 프런트 엔드 유효성 검사를 사용하지 않도록 설정하기 쉽고 누군가가 양식없이 데이터를 보내어 응용 프로그램에서 잘못된 데이터를 얻을 수 있습니다 (ajax, curl ....).

프런트 엔드 유효성 검사는 유용성에만 유용합니다.

1

첫 번째 규칙 : 절대 데이터를 신뢰하지 마세요.

두 번째 : 두 번째로 클라이언트 측의 모든 것은 간단하게 속일 수 있습니다.

셋째 : 는, 항상 또는 결코 absolutley 필수 같은 표현을 사용하는 모든 규칙을 신뢰하지 마십시오. (예, 이것은 동일하고, 동시에 첫 번째 규칙에 적대)

(이제까지 맹목적으로 당신의 인생에 규칙에 따라하지 마십시오!)

그것은 당신이 필요에 따라 달라집니다 무엇을 성취하고 싶다. Clientside 유효성 검사는 실제 사용자가 입력 한 잘못된 입력을 최소화하고 사이트 소유자가 자신의 데이터베이스에서 잘못된 데이터를 최소화하도록 도와줍니다. 그러나 그것은 형편없는 데이터 및/또는 악의적 인 데이터를 제출하는 것을 방지하지 못합니다. SQL 주입이나 유사한 공격을 막으려면 서버 측 유효성 검사가 필요합니다. 또한 서버 측 구문 유효성 검사가 사용자 또는 programm가 올바른 구문으로 잘못된 데이터를 제출하는 것을 방지하지 않습니다.

구문 검증이 보안 문제 인 경우 서버 측 유효성 검사가 필요합니다.

참고 : 저는 저의 답변이 마음에 들지 않아 저스틴 전자 (Justin E)의 답변을 좋아하지 않습니다. 그러나 다른 모든 대답은 약간 편향되어 있습니다. 누군가 다른 사람이 손톱에 닿기를 바랍니다.:-D

관련 문제