1

나는 PCI 지침을 준수해야하는 사이트를 검토합니다. 언젠가 전에 많은 작업을 마친 후 마침내 PCI ​​보안 검사를 통과했습니다. 최근에 다시 실패하기 시작했습니다. 나는 이것이 새로운 검사가 보안 검사에 추가 되었기 때문이라고 생각합니다.코드 삽입 Windows 서버 2008 R2를 방지하는 방법 .aspx

지금 수표가 사이트에 코드를 삽입 할 가능성에 대해 불평하고 있습니다. 당신이 방화범을 사용하여 소스 코드를 보면

http://www.monorep.co.uk/vauxhall/new-vans/?DealergroupId=<aavxhv%20> 

당신이 내 코드에 이런 짓이야 볼 수 있습니다 :

<input name="DealergroupId" type="hidden" value="<aavxhv >"> 

확인 이 제품은이 약에의 것들 중 하나의 예입니다. 스스로 해롭지는 않지만 그들이 무엇을 얻고 있는지 알 수 있습니다.

그들이 제공하는 다른 매우 모범적 인 예제가 있지만 모두 혼자 같은 종류의 선입니다.

어떻게 이런 종류의 문제로부터 실제로 보호 할 수 있습니까? 그리고 그것은 해로운가요?

미리 감사드립니다.

+1

죄송처럼 다시 게시와 함께, 내가, 그것을 체크 아웃 페이지와 조금 재생 보인다. 어쩌면 질문에서 URL을 제거하고 HtmlEncode를 올바른 방향으로 만드는 것이 좋습니다. – Aristos

답변

2

당신은

HttpContext.Current.Server.HtmlEncode() 

으로 모든 렌더링 사용자 입력에서 데이터베이스에서 온 텍스트, 또는 다른 소스를 HTML 페이지에있는 모든 렌더링 된 텍스트를 인코딩해야합니다.

는 예를 들어, 코드의 의지

<input name="DealergroupId" type="hidden" value="<%=Server.HtmlEncode(cParametrFromUrl)%>"> 
+1

이 주제에 대한 대변 기사는 여기에 있습니다 : http://msdn.microsoft.com/en-us/library/ff649310.aspx – Paddy

+0

답변을 수락하는 데 늦어서 죄송합니다. 이것은 내 문제에 대한 해결책을 도왔습니다. 많은 감사합니다. –