2010-03-10 5 views
5

TextBox 컨트롤은 MaxLength 속성을 제공합니다.이 속성을 사용하면 텍스트 상자에 텍스트를 삽입 할 수 있으므로 지정된 문자 수로 제한됩니다.TextBox 컨트롤의 MaxLength 속성은 얼마나 신뢰할 수 있습니까?

내 질문 :

  • 이 속성에만 클라이언트 측과 때문에 브라우저 pedendent인가?
  • 은 내가 Text 속성은 최대 길이가 (단지 MSDN 문서에서 명명 된 DisplayModes에 대한) 설정 또는 내가 수동으로 에있는 않는 TextBox.Text을 수행 보다 텍스트가 더 이상 포함, 사실에 의존 할 수 있습니다. SubString (0, DesiredMaxLength) ?
  • 이 자바 스크립트를 어떻게 사용합니까?

답변

7

자바 스크립트에 의존하지 않지만 안전하지는 않습니다.

누구나 javascript (예 : XmlHttpRequest)를 사용하여 요청을 게시하거나 max-length 사양보다 많은 데이터를 보내달라고 요청할 수 있습니다. 일반 사용자가 필드를 채우는 것을 막을 수있는 좋은 방법이지만 서버를 다시 확인해야 할 필요가 있습니다.

+0

의미 TextBox-Control은 MaxLength 속성을 제한하는 서버 측 보안을 의미하지 않습니까? 내가 너를 올바르게 이해한다면, 내 웹 앱에서 "정상적인"사용으로 정상적인 사용자가 지정된 maxlength를 우회 할 수 없다는 것을 의지 할 수 있다고 나에게 말하고있다. – citronas

+0

텍스트 상자는 서버 측 AFAIK에서 검사하지 않습니다. 그리고 나는 정상적인 사용자가 아무 잘못을 저지르려고 시도하지 않는다면 작동 할 것이지만 그것을 의지하는 것이 안전하지 않다는 것을 말하고 있습니다. – Locksfree

+1

정말 원했던 경우 MaxLength 제한을 얼마나 쉽게 벗어날 수 있었는지 꽤 혼란스러워했습니다. 백만 개의 유효성 검사기를 연결하는 대신에이 문제를 해결하는 방법은 TextBox 클래스를 확장하고 Text 속성을 재정의하는 것입니다. getter에서 MaxLength 값이 0보다 큰 경우 값을 MaxLength 값으로 트림합니다. – rossisdead

3

나는 텍스트 속성이 최대 길이보다 텍스트가 더 이상 포함, 사실에 의존 할 수 있나요?

아니요. 사용자 편의 기능으로 간주하십시오. 서버에서 (항상 그렇듯이) 다시 확인하십시오. 그리고 무엇을 위해 JavaScript를 체크인 할지도 모릅니다.

관련 문제