CakePHP에 자바 스크립트가있는 양식을 작성하여 CSRF 공격을 피하십시오.
-
13-12-2019 - |
문제
CakePHP 설명서 는 CSRF를 피하기 위해 말합니다.공격 컨트롤러에 보안 구성 요소를 포함시키는 것이 필요하며 formhelper 을 사용하여 양식을 만듭니다.
내 경우에는 JavaScript (jQuery)를 사용하여 일부 양식 필드 (예 : TextArea)를 만들어야하며 FormHelper를 사용할 수 없습니다.
$('#body').html('<textarea name="data[post][body]" type="textarea" cols="30" rows="3">'+text+'</textarea>');
.
및 물론 보안을 통과하지 않으며 양식이 제출되지 않습니다.
는 어쨌든 JavaScript가있는 일부 필드를 생성하는 보안 양식을 만들 수 있습니까?
감사합니다.
해결책
잘, 하나의 옵션은 이러한 필드를 잠금 해제하여 보안 검사에서 무시됩니다.당신의 견해에서, 쓰기 :
<?php $this->Form->unlockField('fieldname'); ?>
.
다른 옵션은 양식의 숨겨진 영역에서 양식 도우미와 동적으로 추가 할 양식 필드를 작성하고 필요할 경우에만 표시합니다.
제휴하지 않습니다 StackOverflow