Force SSL redirection in cakephp

Step 1. use Security component.

 public $components = array('Security');

Step 2. use the below code to post data.

//Use the below code in parent controller's beforeFilter action
$this->Security->validatePost=false;
$this->Security->unlockedActions = array('action_1','action_2'); // unlock actions which you want to call in ajax without ssl 
$this->Security->blackHoleCallback = 'forceSSL'; //call forceSSL action to redirect http:// uri to https:// 
$this->Security->requireSecure();

// Defination of forceSSL function 
public function forceSSL() {
		if(json_decode($_SERVER['HTTP_CF_VISITOR'])->scheme=="http"){
			return $this->redirect('https://' . env('SERVER_NAME') . $this->here);
		}

	}
Share on Google+Share on FacebookTweet about this on TwitterEmail this to someone