06 декабря 2015

Топ-10 PHP фрэймворков для разработчиков

Если вы являетесь PHP разработчиком и ищете некоторые лучший PHP фрэймворк для ваших веб-проектов, то этот список может быть полезным для вас. Мы собрали топ-10 PHP фреймворков, которые помогают упростить задачи разработки. PHP фреймворки могут помочь вам в проектировании и разработке кросс-браузерных динамических веб-сайтов и веб-приложений. Наслаждайтесь!

1. Cake PHP




CakePHP — это быстрый PHP фреймворк, который предлагает гибкую архитектуру для разработки, обслуживания и развертывания приложений. CakePHP поставляется с встроенными инструментами для проверки входных данных, защиты CSRF, формы фальсификации защиты, профилактики SQL инъекций и предотвращения XSS, помогая вам сохранить ваш проект безопасным. CakePHP поставляется с набором конвенций, чтобы направлять вас в разработке приложения.

2. Laravel




Laravel является PHP фреймворком, который стремится к элегантности и простоте. Laravel создан для всех программистов PHP, даже начинающих. Laravel основан на нескольких компонентах Symfony, давая вашему приложению мощный фундамент хорошо испытанного и надежного кода.

3. Yii Framework




Yii является высокопроизводительной базой PHP для разработки Web 2.0 приложений, написанных на PHP 5. Он работает, чтобы упростить разработку приложений и помогает обеспечить чрезвычайную эффективность в сопровождении конечного продукта. Будучи чрезвычайно производительным и оптимизированным, Yii является идеальным выбором для проекта любого размера.

4. Symfony




Symfony является мощным фрэймворком для веб-приложений; Symfony использует Model-View-Controller (MVC) модель и становится все более популярной с каждым днем.

5. Phalcon PHP




Phalcon PHP является веб-фреймворком, поставляющийся как расширение на C, обеспечивая высокую производительность и низкое потребление ресурсов. Phalcon PHP написан на С с независимостью от платформы. В результате Phalcon PHP доступен на Microsoft Windows, GNU / Linux, Mac OS X или вы можете скачать бинарный пакет для системы по вашему выбору или создать его из источников. Phalcon – это не только производительность, это довольно прочные, богатые возможности и простота в использовании. Phalcon является программным обеспечением с открытым исходным кодом под Новой лицензией BSD.

6. CodeIgniter




CodeIgniter является мощным PHP фреймворком, созданным для PHP программистов, которые нуждаются в простом и элегантном наборе инструментов для создания полнофункциональных веб-приложений. Если вы разработчик, который живет в реальном мире хостинга, счетов и клиентов, и если вы устали от тяжелых, крупных и недокументированных структур, CodeIgniter – для вас.

7. Zend




Zend Framework 2 является фрэймворком с  открытым исходным кодом для разработки веб-приложений и услуг с использованием PHP 5.3 +. Zend Framework 2 использует 100% объектно-ориентированный код и использует большинство новых особенностей PHP 5.3, а именно пространства имен, статическое связывание, лямбда-функции и замыкания. Zend Framework 2 превратился из Zend Framework 1, успешного фреймворка PHP с более чем 15 миллионов загрузок.

8. Yaf- Yet Another Framework




Yaf является первым фреймворком PHP MVC, который написан на С, и построен как расширение PHP. Он рассматривается, как самый быстрый и самый низко-ресурсоемкий PHP фреймворк. http://www.yafdev.com/

9. Fuel PHP




Fuel является простым, гибким PHP 5.3 веб-фреймворком на основе лучших идей других структур с нового старта. Fuel был протестирован на Apache, IIS и Nginx. Fuel использует другой подход ко многим системам, а также стремится быть сообществом разработчиков.

10. PHPixie




PHPPixie представляет собой легкий фреймворк MVC Php, разработанный, чтобы быть быстрым, простым в освоении и обеспечении прочной основы для разработки проекта.

30 июля 2015

Как скрыть любую CMS от сервисов проверки builtwith.com, 2ip.ru, itrack.ru и других

Как скрыть свою CMS от плагина Wappalyzer ?

Критерии проверки для наиболее популярных CMS (Joomla, Wordpress, Drupal):
Код:
"Joomla": {
      "url": "option=com_",
      "meta": { "generator": "Joomla!(?: ([\\d.]+))?\\;version:\\1" },
      "html": "(?:]+id=\"wrapper_r\"|<[^>]+(?:feed|components)/com_|]+class=\"pill)\\;confidence:50",
      "headers": { "X-Content-Encoded-By": "Joomla! ([\\d.]+)\\;version:\\1" },
      "env": "^(jcomments|Joomla)$",
      "implies": "PHP"
},
"WordPress": {
      "meta": { "generator": "WordPress( [\\d.]+)?\\;version:\\1" },
      "html": "]+wp-content",
      "env": "^wp_username$",
      "implies": "PHP"
},
"Drupal": {
      "script": "drupal\\.js",
      "html": "<(?:link|style)[^>]+sites/(?:default|all)/(?:themes|modules)/",
      "headers": { "X-Drupal-Cache": ".*", "X-Generator": "Drupal(?:\\s([\\d.]+))?\\;version:\\1", "Expires": "19 Nov 1978" },
      "env": "^Drupal$",
      "implies": "PHP"
}

В общем, я пришёл к выводу, что это слишком трудозатратно, а профита не так уж и много. И я имею ввиду раздел html, из которого видно, что нужно как минимум исправлять все ссылки подключаемых скриптов и стилей и прочего.
Хотя может быть я ошибаюсь, и кто-то уже давно решил эту задачу?
Однако, не смотря на то, что плагин я не одолел, я заметил ещё один характерный признак Joomla, по которому блуждающие боты смогут определить Вашу CMS. Это посылаемые заголовки сервера. Я как-то читал тему на форуме, в которой писали что-то типа: «Настройте правильные заголовки, и вашу CMS будет практически невозможно распознать». Это конечно пыль в глаза, так как этого мало, но доля истины в этом есть, вполне возможно, что некоторые боты распознают CMS Joomla и другие CMS только по заголовкам сервера.
Так вот Joomla посылает их аж два: один посылает слово Joomla, а второй даже её версию - Joomla25. Исправить это очень легко, заходим в файл \libraries\joomla\application\web.php и ищем 449 строку, в которой будет такой фрагмент:
$this->setHeader('X-Content-Encoded-By'
Меняем всю эту строку на следующую:
$this->setHeader('X-Content-Encoded-By', 'unknown');
Теперь заходим в следующий файл \libraries\joomla\environment\response.php и ищем 299 строку, которая будет содержать такой фрагмент:
self::setHeader('X-Content-Encoded-By'
Меняем её на:
self::setHeader('X-Content-Encoded-By', 'unknown');
Готово, мы скрыли ещё один характерный признак использования Joomla.

Как скрыть движок сайта от builtwith.com и любого другого сервиса проверки CMS?

Всё написанное далее уже никак не относится к оптимизации сайта, это скорее решение конкретной задачи.
После раздумий о том, как можно было бы проще скрыть CMS от Wappalyzer, я пришёл к выводу, что чем проделывать объёмную работу, лучше рубить проблему под корень. Я решил, что нужно закрыть доступ к сайту для всех сервисов проверки, чем изменять структуру всей CMS, а как это сделать? Например, банальным "баном" по IP.
После этого, в ходе незамысловатых манипуляций, я узнал IP всех интересующих меня сервисов… ну что, начнём?
Буду краток, впишете этот код в любом месте файла .htaccess, который лежит в корне вашего сайта:
Order Allow,Deny
Allow from All

# Диапозон ITrack.ru
deny from 144.76.

# Диапозон 2ip.ru
deny from 188.40.74.

# IP адрес buildwith.com, вроде IP статичен
deny from 198.27.69.78

# Но если вдруг окажется, что нет, то вот весь диапозон buildwith.com.
# Если решили перестраховаться и вписать весь диапозон, то предыдущий IP
# вписывать не надо, он входит в диапозон ниже:
deny from 198.22.98.0/23
deny from 198.22.100.0/22
deny from 198.22.104.0/21
deny from 198.22.112.0/20
deny from 198.22.128.0/17
deny from 198.23.0.0/16
deny from 198.24.0.0/13
deny from 198.32.0.0/14
deny from 198.36.0.0/19
После вставки этого кода, ни один сервис для проверки CMS не сможет распознать движок вашего сайта и любые другие используемые Вами технологии, так как сервисы в ответ будут получать ошибку 403 (доступ запрещён).
Спасибо за внимание и хорошего вам настроения!

ИСТОЧНИК - http://site-on.net/create/cms/8-builtwith

15 мая 2015

Способы ускорения загрузки вашего сайта

http://developer.yahoo.com/performance/rules.html
Steve Souders, Yahoo! Developer Network, Yahoo! Inc. 2008

Важность производительности фронтенда
  1. Уменьшите количество HTTP-запросов
  2. Используйте CDN
  3. Используйте HTTP-заголовок Expires
  4. Сжимайте компоненты страницы
  5. Помещайте CSS в начале страницы
  6. Помещайте скрипты в конец
  7. Избегайте CSS-выражений (expressions)
  8. Выносите javascript и CSS во внешние файлы
  9. Уменьшайте количество DNS-запросов
  10. Минимизируйте Javascript
  11. Избегайте редиректов
  12. Уберите повторяющиеся скрипты
  13. Настройте ETag'и
  14. Делайте AJAX кэшируемым
подробнее - http://webo.in/articles/habrahabr/15-yahoo-best-practices/