Авто редирект из http в https в Zend Framework
Written by Yaroslav Vorozhko on July 1, 2009 – 1:32 pm -Привет,
Следующий Helper решает проблему редиректа из http страници на https.
Скажем надо перейти от http://mysite.com/action/param/ на https://mysite.com/action/param/
-
class My_Helper_SslSwitch extends Zend_Controller_Action_Helper_Abstract
-
{
-
public function direct()
-
{
-
$request = $this->getRequest();
-
$url = 'https://'
-
. $_SERVER['HTTP_HOST']
-
. $request->getRequestUri();
-
$redirector = Zend_Controller_Action_HelperBroker::getStaticHelper('redirector');
-
$redirector->gotoUrl($url);
-
}
-
}
-
}
Автор хелпера Matthew Weier O'Phinney
Далее в bootstrap добавляем путь к Helper в include_path
и вызываем его, таким образом мы переводим весь сайт на использование https.
-
Zend_Controller_Action_HelperBroker::addPrefix('My_Helper');
-
$ssl = new My_Helper_SslSwitch();
-
$ssl->direct();
Если же вам надо включить SSL только для определенных контроллеров, то вы можете поместить следующий код в preDispath() метод контроллеров.
-
$this->_helper->sslSwith();
В данном случае мы используем объект _helper для создания объекта sslSwith и вызова метода direct().
Note: Метод direct() вызыватеся автоматически для всех Action Helpers.
Tags: Action Helper, HTTPS, SSL, Zend Framework
Posted in Development, PHP, Tips And Tricks, ZendFramework | No Comments »
Скрипт верификации сайта
Written by Yaroslav Vorozhko on June 21, 2009 – 2:00 pm -Приветствую!
Предлагаю на обсуждения простой скрипт проверки принадлежности (верификации) сайта, его владельцу.
Предполагается, что владелец сайта поместил специальный meta тег в head секцию на корневой странице сайта, т.е. на home page.
Формат meta тега следующий:
<meta name="vf_key" content="29693426cfd334d8287783b49217e64f"/>
Задача определить наличие заданного meta тэга в заголовке документа, исключая весь остальной документ.
Функция верификации следующая:
-
/**
-
* Function return true if verfication is successed
-
*@param $url string - it is valid url address
-
*@param $metaValue - string it is special code which placed as content for verification meta tag
-
**/
-
public function verifyMetaTag($url, $metaValue)
-
{
-
// we know what $url is valid url
-
-
//get html of the page with Zend http client
-
'maxredirects' => 0,
-
'timeout' => 30)
-
);
-
$response = $client->request();
-
if (!$response){
-
return false;
-
}
-
-
$html = $response->getBody();
-
-
-
//close head section must be below our meta tag
-
if ($metaPos> $headPos){
-
return false;
-
}
-
-
-
//grab all meta tags in head section into array
-
-
//checking all meta tags on special key and value pairs
-
foreach ($matches[1] as $meta){
-
//meta tag must have key "vf_key" and value "$metaValue"
-
return true;
-
}
-
}
-
return false;
-
}
Есть ли у этого метода недостатки или может есть более простой вариант?
Tags: page verification, site verification, url verification
Posted in Development, PHP, Tips And Tricks | 8 Comments »
Блог DOU Planet
Written by Yaroslav Vorozhko on June 16, 2009 – 4:36 pm -Читаю сегодня DOU Planet и создается впечатление, что это уже не технический блог, а популярно развлекательный.
Мало того, что пришлось отфильтровывать уйму новостей про Flash, C# и other Microsoft staff через Yahoo pipes, так теперь хоть отписывайся вообще.
Админы разберитесь пожалуйста, не дайте пропасть ресурсу.
P.S. Нужна будет помощь пишите, буду рад помочь. ;-)
Tags: DOU planet
Posted in Uncategorized | 6 Comments »
