4.9. 입력에서 교차 사이트의 악의있는 컨텐트를 예방해라

어떤 프로그램은 신뢰되지 않은 한 사용자로부터 데이타를 받아 이를 두 번째 사용자에게 넘겨주는데 그 후 두 번째 사용자의 애플리케이션은 두 번째 사용자에게 해로운 방식으로 그 데이타를 처리할 수도 있다. 이는 특히 웹 애플리케이션에 일반적인 문제로 ``cross-site malicious content" 라고 부를 것이다. 요약하면 입력에 대한 검사, 필터링 또는 인코딩을 한 후 이를 받아들여야 한다. 더욱 자세한 정보는 6.13절 을 보라.

기본적으로 이는 모든 웹 애플리케이션 입력이 (이 문제를 야기할 수 있는 문자들이 제거되도록) 필터링, (이 문제를 야기할 수 있는 문자들이 문제를 예방하는 방식으로 인코드되도록) 인코딩 또는 (단지 "안전한" 데이타만이 목적지에 도달함을 보증하기 위해) 유효화되어야 함을 의미한다. 필터링과 유효화는 대개 입력에서 행해져야 하지만 인코딩은 입력 또는 출력시 행해질 수 있다. 데이타를 분석없이 그저 통과시키려면 아마도 입력시 데이타를 인코딩하는 것이 더욱 좋지만 (이 경우는 잊지 않을 것이다) 데이타를 처리한다면 출력시 인코딩에 대해서는 논의들이 있다.