CakePHP는 SecurityComponent의 requireSecure 함수를 가지고 있습니다. 저는 신용 카드 번호 같은 민감한 정보를 전달할 때 SSL을 강제하기 위해 이것을 사용하고 있습니다.CakePHP의 requireCecure와 반대
질문 :
- 는 requireNonSecure 기능이 있습니까?
- requireNonSecure 함수가 없다면 원래 파일을 수정하지 않고도 CakePHP의 코어 파일에 함수를 추가/확장 할 수 있습니까?
일부 페이지에는 내 도메인 이름에서만 재생할 수있는 비디오가 포함되어 있기 때문에 requireNonSecure 기능이 필요합니다. SSL을 사용하면 비디오 호스팅 서비스가 도메인 이름을 인식하지 못해 비디오를 재생할 수 없습니다.
이것은 컨트롤러으로, beforeFilter의 코드 중 일부는 다음
function beforeFilter() {
parent::beforeFilter();
$this->Security->validatePost = false; // disable CSRF protection
$this->Security->blackHoleCallback = 'forceSSL';
$this->Security->requireSecure('pay', 'index');
$this->Auth->allow('index');
}
이이 용액에 추가 SecurityComponent app_controller.php
function forceSSL() {
$redirect = '';
if (!empty($this->params['url']['redirect'])) {
$redirect = '?redirect=' . $this->params['url']['redirect'];
}
$this->redirect('https://' . rtrim(env('SERVER_NAME'), '/') . $this->here . $redirect);
}