2011-02-24 4 views
2

최신 IE9 릴리스 후보의 버그를 발견했을 수도 있지만 connect.microsoft.com에서이 문제를 기록하기 전에 필자는 두뇌와 함께 유효성을 검사하려고했습니다. 내 이해가 정확하다는 것을 여기에서 신뢰하십시오.IE9 RC1에서 문자 엔티티가있는 입력 필드 이름을 잘못 인코딩하는 경우

HTML 폼 이름 속성 문자 엔터티 (& quot) 등을 포함하는 입력 필드를 포함 문제점

. < 입력 TYPE = "텍스트"이름 = "으로 myText [식별자 = & quot; 시험 & quot]"값 = "안녕하세요"> 양식이 제출 IE8, FF, 사파리 & 크롬에서는

, 비 -safe ASCII 문자는 HTTP 요청으로 인코딩됩니다. 따라서 상기 입력 필드

로서 POST 전송 될으로 myText % 5BIdentifier % 3D % 22test % 22 % 5D = 헬로 여기

, 우리는 대괄호 %의 5B와 % 5D로 인코딩 된 것을 알 수있다 , 등호는 % 3D로 인코딩되고, & 개의 엔티티는 % 22로 인코딩됩니다. 되는게

IE9 RC1에서는

,이 입력 필드 헬로 =

으로 myText % 5BIdentifier % 차원 % 25 22test % 25 22 % 5D로 POST에

을 전송되고 여기서이 발생하면 비보호 ASCII 문자가 으로 인코딩 된 후 IE9는 인코딩 th의 백분율 기호 e % 22 % (% 2522).

나는 이것을 수행해야한다고 생각하지 않는다. (위에서 언급했듯이 이전 IE 버전을 포함한 다른 어떤 브라우저도 이것을하지 않았다.)

W3C 유효성 검사기에 따르면 입력 이름에 "&"과 같은 문자 엔티티가 유효하므로 처음 생각한 것처럼 다른 브라우저보다 엄격한 IE9의 경우는 아닙니다.

내 가정이 정확하며 IE9에서 버그로 기록해야합니까?

답변

2

정확하게 동일한 문제가 발생했습니다. 중첩 된 큰 따옴표를 작은 따옴표로 바꿈으로써 그 주위에 있습니다.

관련 문제