UTF-8: 두 판 사이의 차이

내용 삭제됨 내용 추가됨
Npsp (토론 | 기여)
잔글 →‎UTF-8의 설계 원칙: ~하는 데 쓰이다
Npsp (토론 | 기여)
잔글 →‎오류 처리: ~하는 데 사용되다
71번째 줄:
모든 가능한 해석은 장단점을 가지고 있으며, 만약 UTF-8을 해석하기 전에 검증이 이루어질 경우 보안 관련해서 주의가 요구된다.
 
너무 긴 형식은 처리하기 곤란한 경우 중 하나이다. 현재의 RFC에는 이러한 형식이 디코드되어서는 안 된다고 규정하고 있지만, 옛 UTF-8 표준에는 경고만 하였으며 대부분의 간단한 디코더들은 이러한 데이터를 정상적으로 해석한다. 이 형식은 실제로는 같은 코드 포인트를 서로 다른 두 개의 UTF-8 문자열로 나타내어 [[마이크로소프트]]의 IIS 웹 서버와 같은 제품의 보안 검증을 우회하는데우회하는 데 사용되었다.
 
잘못된 입력이 들어 왔을 때 보안을 지키기 위해서는 두 가지 선택이 있다. 한 가지는 입력을 검증하기 전에 항상 UTF-8로부터 디코드하는 것이며, 다른 한 가지는 잘못된 입력을 언제나 오류로 처리하는 엄격한 디코더를 사용하는 것이다.