суббота, 4 июля 2009 г.

Авто редирект из http в https в Zend Framework

Привет,

Следующий Helper решает проблему редиректа из http страници на https.

Скажем надо перейти от http://mysite.com/action/param/ на https://mysite.com/action/param/



PHP:




  1. class My_Helper_SslSwitch extends Zend_Controller_Action_Helper_Abstract



  2.     {



  3.         public function direct()



  4.         {



  5.             if (!isset($_SERVER['HTTPS']) || !$_SERVER['HTTPS']) {



  6.                 $request    = $this->getRequest();



  7.                 $url        = 'https://'



  8.                             . $_SERVER['HTTP_HOST']



  9.                             . $request->getRequestUri();



  10.                 $redirector = Zend_Controller_Action_HelperBroker::getStaticHelper('redirector');



  11.                 $redirector->gotoUrl($url);



  12.             }



  13.         }



  14.     }







Автор хелпера Matthew Weier O'Phinney


Далее в bootstrap добавляем путь к Helper в include_path

и вызываем его, таким образом мы переводим весь сайт на использование https.



PHP:




  1. Zend_Controller_Action_HelperBroker::addPrefix('My_Helper');



  2. $ssl = new My_Helper_SslSwitch();



  3. $ssl->direct();







Если же вам надо включить SSL только для определенных контроллеров, то вы можете поместить следующий код в preDispath() метод контроллеров.



PHP:




  1. $this->_helper->sslSwith();







В данном случае мы используем объект _helper для создания объекта sslSwith и вызова метода direct().

Note: Метод direct() вызыватеся автоматически для всех Action Helpers.




© Yaroslav Vorozhko for Мастерство программирования, 2009. |
Permalink |
No comment |
Add to
del.icio.us


Post tags: Action Helper, HTTPS, SSL, Zend Framework



Каждый взростлый мнит себя великим педагогом. Но знаете ли, педагогика � это наука. Вот почитайте, например pedagog-novator.ru

В общем, как в кино: "Разве их для того вешали, чтобы вы их ломали?!" (Милославский) Ландшафтный дизайн, на страже вашего покоя...

Мое любимое: "Вы б пока переоделись в свое, в царское" Мощность — мама попробовала — говорит, понравилось...

Комментариев нет:

Отправить комментарий