Archive for the ‘PHP’ Category
Авто редирект из 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 »
7 Способов улучшить свой код
Written by Yaroslav Vorozhko on March 19, 2008 – 5:35 pm -Привет.
Как часто мы пишем код и потом замечаем, что его невозможно не только читать, а и сопровождать. Чем больше наращивается функциональности, тем меньше мы хотим продолжать работать с этим кодом. И в данной ситуации есть два решения: первое оставить все как есть и второе изменить код к лучшему, поработать над читабельностью, архитектурой, провести рефакторинг, написать тесты и т.д. В этой статье я хочу дать несколько хороших советов, как создавать приятный и легко сопровождаемый код.
Tags: OOP, phpunit, unit test, код, метод, рефакторинг, стиль, тесты, функция, читабельный код
Posted in Development, PHP | 1 Comment »
