2009-08-18 2 views
0

양식을 포함하는 ColdFusion 페이지에서 사용자가 다시 + 다시로드 할 수 없도록하려는 보안 취약점을 수정해야합니다. 브라우저를 열고 양식을 제출하기 전에 입력 한 내용으로 채워진 필드를 확인하십시오.ColdFusion을 사용하여 게시/리디렉션/가져 오기에 대한 양식 데이터 전달 시도

사이트에는 다른 .cfm 페이지에 대한 템플릿을로드하는 .cfm 페이지가 있습니다. 두 번째 .cfm 페이지에는 ACTION 첫 번째 .cfm 페이지가있는 FORM 개체가 있습니다. 기본적으로 결과를 반환 할 검색 기준 페이지입니다.

는 다음 코드 브라우저가 다시 "사용할 수없는 것이 너무

<cfheader statuscode="302" statustext="Moved Temporarily"> 
<cfheader name="Location" value="firstpage.cfm"> 
<cfabort> 

을 가진 temp.cfm 페이지를 가리 키도록 2 .CFM 페이지의 양식에 대한 작업을 변경 시도 "값이 채워진 원래 .cfm 페이지로 돌아가려면 ... 그러나이 형식은이 temp.cfm 페이지에서 내 FORM 데이터를 전달하지 않으며 내 검색은 항상 0 개의 결과를 가져옵니다.

답변

0

cfform을 사용하고 있습니까? 그렇다면 양식의 PreserveData = "true"특성을 제거하십시오. 또는 양식 입력에서 value = "# form.formfield #"을 삭제할 수도 있습니다. 양식 몇 줄을 게시 할 수 있다면 더 나은 도움을 제공 할 수 있습니다.

양식 페이지가 캐시되고 있는지 확인 했습니까?

1

작업 페이지에서 양식을 처리 한 후 CFLOCATION을 사용하여 브라우저를 다른 페이지로 리디렉션하십시오. 302 리디렉션을 사용합니다.

0

HTML의 메타 태그에서 캐싱을 사용하지 않도록 설정하면 작동합니다. 리디렉션을 전혀 사용할 필요가 없습니다.

예. 사용자가 클릭 한 로그 아웃 링크를 클릭하면 사용자가 다시 클릭하면 새로운 요청이되며 세션이 로그인되었는지 여부를 확인할 수 있습니다. 그렇지 않은 경우 로그인 페이지로 리디렉션합니다.

관련 문제