2012-01-12 2 views
1

젠드 양식을 사용하고 있습니다. 데이터베이스에 행을 추가하는 양식이 있는데,이 행은 추가 된 행의 ID가있는 숨겨진 요소와 함께 '실행 취소'단추가있는 양식을 생성합니다. '실행 취소'양식은 게시 된 데이터와 함께 숨겨진 요소와 함께 게시되지만 Javascript 또는 다른 것과 같이 수정되지 않았는지 확인하여 가장 최근에 생성 된 데이터 만 삭제할 수 있는지 궁금합니다. 해당 사용자의 행을 삭제할 수 있습니다. 그게 가능하니?숨겨진 양식 요소가 편집되지 않도록 할 수 있습니까?

필요한 경우 자세한 정보 : 실행 취소 양식의 생성자는 행 ID를 매개 변수로 사용하므로 확인할 수있는 데이터는 게시 된 데이터 만 있기 때문에 '동일한'유효성 검사기를 추가 할 수 없습니다. '실행 취소'양식은 '추가'양식이 아닙니다. 또한 Javascript에 의존하지 않는 솔루션이 필요합니다.

편집 : 세션을 진행하는 것처럼 보입니다. 알았어.

+2

후 사물의 클라이언트 측을 통해 '취소'데이터를 전달하지 않습니다. 세션에 보관하고 매번 깨끗한 복사본을 검색하려면 ajax를 사용하십시오. –

답변

3

유일한 선택은 백엔드에서 양식의 유효성을 검사하는 것입니다. 사용자로부터의 입력은 신뢰할 수 없으며 신뢰할 수 없어야합니다.

사용자 세션에 ID를 저장하고 이에 대한 입력의 유효성을 검사 할 수 있습니다.

0
+0

해당 요소는 양식이 다른 곳에서 게시되었는지 여부를 감지하는 데 유용하지만 숨겨진 데이터가 수정되지 않도록하는 방법을 알지 못합니다. 또한 일반적으로 CSRF 보호 기능이 좋을 지 모르지만,이 경우 작동하지 않을 것이라고 생각합니다. 실행 취소 양식은 POST 데이터에서 작성 되었기 때문에 원래 작성된 양식을 isValid () 기능. – rwilson04

+0

http://www.zend.com//code/codex.php?ozid=626&single=1을 기반으로 http://freebeer.smithii.com/www/_source.php?file=%2Fhome%2Fross를 작성했습니다. % 2Fpublic_html % 2Freebeer % 2Flib % 2FHTML % 2FLockFormFields.php. 데모는 다음과 같습니다. http://freebeer.smithii.com/www/demo/HTML.LockFormFields.php –

관련 문제