среда, 15 мая 2013 г.

Техническое задание

Yii Framework

цитата
Yii — это высокоэффективный основанный на компонентной структуре PHP-фреймворк для разработки масштабных веб-приложений. Он позволяет максимально применить концепцию повторного использования кода и может существенно ускорить процесс веб-разработки. Название Yii (произносится как Yee или [ji:]) означает простой (easy), эффективный (efficient) и расширяемый (extensible).

Авторы Qiang Xue, Xiang Wei Zhuo.
По производительности можно судить ниже диаграммой:
Сравнение производительности
На данный момент уже появились новые версии framworks и следовательно производительность уже по данному графику не та. На стадии выхода Yii авторы, можно сказать, перепрыгнули свой предыдуший Prado и обощли по всем показателям.
Что же предоставляет нам Yii:
— ООП
— Компонентный MVC.
— DAO, Active Record.
— Валидация форм.
— Аутентификация, авторизация.
— Поддержка модульной сетки.
— Возможность миграций.
— Покрытие Unit тестами.

— Различные способы кеширования.
— Защита от XSS, CSRF и других атак..
— Консольные генераторы и графицеский gii генератор.
— Возможность подключения сторонних библиотек из других FW.
— Поддержка extension.
— Интегрирован jQuery.
Офф. сайт: http://www.yiiframework.com/
Русскоязычный: http://www.yiiframework.ru/
Документации для изучения достаточно, даже можно приобрести книгу - http://www.yiiframework.com/tutorials/
За время моего использования Yii на практике, а это более 2-х лет, я был доволен инструментом и каждое добавленная новая возможность была принята только в радость. Все кто будет на стадии выбора - советую использовать Yii, так как он и в обучении не сложный.

Когда лучше использовать CMS, а когда Framework?

понедельник, 13 мая 2013 г.

Возвращение блудного сына.

После недолгой работы в компании Росмедия, и пережитого многих не легких месяцев, я все же решился уволиться и перейти на другую фирму. Толчком для смены работы послужила задержка зарплаты, из-за чего все новогодние праздники и дни рождения были под критичной угрозой срыва. Деньги у директора были это все знали, так как было много фактов, а для того что бы весь тех. отдел остался в фирме можно было колеса от любимой машины продать и дать надежду всем. В итоги я ушел, долгов не осталось. В другой фирме где я сейчас работаю, не буду называть ее из личных соображений, направление по созданию сайтов было не развито и работали в другом направлении. После коллективного ухода из одной фирмы к другой, рабочий коллектив не сильно изменился, что является хорошим плюсом для всех нас.
К чему я все это - блог(http://blog.13-th.ru/) был закинут и я вернулся к старому доброму своему блокспоту.
Из своих проектов реализован частично только один - это личный сайт http://md5Stepan.ru. Второй весь в процессе реализации, о нем я расскажу позже, когда будет хоть что то показать.

Yii CPagination красивый URL

Для создания красивого url, для хлебных крошек нужно:
  • указать rout для CPagination
  • сбросить параметры
  • указать обработку urlRules
$criteria=new CDbCriteria();
$count=Article::model()->count($criteria);
$pages=new CPagination($count);
// results per page
$pages->pageSize=10;
$pages->applyLimit($criteria);
$pages->route = 'article/show'; //Указываем роут
$pages->params = array(); //Сбрасываем параметры
$models=Article::model()->findAll($criteria);
$this->render('index', array(
'models' => $models,
      'pages' => $pages
));


четверг, 8 ноября 2012 г.

Автор переехал на другой блог.

Появились новые приоритеты из-за которых пришлось переехать на новый блог, которые является достоянием фирмы в которой я работаю.
Теперь все мои интересные и новые публикации можно найти http://blog.13-th.ru/
Почему решил перейти:
- Полный контроль над происходящим, т.е. при необходимости могу изменить функционал блога.
- Домен 2-го уровня более восприимчив, чем blogspot, и конечно этот домен будет для направления с дорогими сайтами.
- В дальнейшем есть масса задумок, которые постараюсь реализовать, в следствии чего будет очень интересно для всех.

пятница, 12 октября 2012 г.

Запоминаем пароль от SSH

Сохранение паролей от ssh доступов происходит путем сохранения публичных ключей на серверах.
Все происходит быстро и безболезненно. Запускаем консоль и генерируем публичный ключ:

# ssh-keygen -t rsa -f ~/.ssh/id_rsa 

Затем отправляем созданный ключ на все сервера к которым необходим доступ без пароля:

cat ~/.ssh/id_rsa.pub | ssh root@localhost 'cat >> ~/.ssh/authorized_keys'

Таким образом, когда необходимо будет зайти на сервер через ssh, у нас нет надобности вводить пароль.

вторник, 7 августа 2012 г.

XSS и Обфускатор

Как гласит Wiki:
Цитата
Обфуска́ция (от лат. obfuscare — затенять, затемнять; и англ. obfuscate — делать неочевидным, запутанным, сбивать с толку) или запутывание кода — приведение исходного текста или исполняемого кода программы к виду, сохраняющему ее функциональность, но затрудняющему анализ, понимание алгоритмов работы и модификацию при декомпиляции.

Обфускатор очень удобен для обхода различных фильтров в XSS уязвимости.
XSS уязвимость, является на данный момент, наиболее распространенной дыркой, которой пренебрегаются даже гиганты интернет индустрии, такие как mail, vk, facebook, twitter и др. Правда некоторые из перечисленных компаний, получая сообщения о обнаруженной xss, стараются в короткие сроки прикрыть, а кому то нет дела до каких то погрешностей. Но данная возможность является мнимой погрешностью, так как xss уязвимость предоставляет огромные возможности для действий. На одном из форумов, мне приходилось цитировать пару высказываний по поводу пренебрежения  xss уязвимосью:

Цитата
Не вдаваясь в сложные технические подробности, следует знать, когда XSS-атака на уязвимое веб-приложение может иметь серьезные последствия. Многие владельцы сайтов пренебрегают XSS, полагая, что с его помощью нельзя похитить конфиденциальные данные, которые находятся на сервере. Это распространенная ошибка — последствия XSS, направленного против приложения и клиентов, могут быть крайне серьезными, как для работы самого приложения, так и для бизнеса. Интернет-бизнес не может позволить себе потерять доверие существующих и будущих клиентов просто потому, что никто не смог признаться в том, что их сайт действительно уязвим для XSS-атак. Как ни странно, некоторые владельцы сайтов выступали с громкими заявлениями о том, что уязвимость для XSS-атак не представляет значительной опасности. Хакеры часто воспринимали это как личный вызов, в результате чего владелец сайта был вынужден разбираться с поврежденным приложением и потерей доверия клиентов.

Цитата
XSS-атаки обычно используются в следующих преступных целях:

  • Кража аккаунта;
  • Получение доступа к защищенным или конфиденциальным данным;
  • Получение бесплатного доступа к платному контенту;
  • Слежение за посещением сайтов пользователем;
  • Изменение настроек браузера;
  • Публичная клевета в адрес отдельного лица или корпорации;
  • Повреждение веб-приложения;
  • DOS-атаки
Изучить наиболее удачный пример xss зависимостей можно на habrahabr.ru
Так же наиболее удачный инструмент для обфускации использую http://www.javascriptobfuscator.com/default.aspx

понедельник, 25 июня 2012 г.

Репозиторий от Google

Очень удобно иметь под рукой jq библиотеку, которую нет надобности переносить, из одного проекта в другой, или постоянно скачивать. Достаточно знать что Google предлагает использовать свой репозиторий для исключения из работы лишних движений:
http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.js
Сервис Google так же предоставляет возможность загружать свои файлы, для этого нужно пройти авторизацию от gmail и получить доступ к собственному репозиторию:
http://code.google.com/hosting/createProject
Но это еще не все. Так же Google предоставляет инструмент для тестирования собственных JS, либо позаимствовать уже предоставленные скрипты:
http://code.google.com/apis/ajax/playground/?exp=feeds#map_simple

воскресенье, 16 октября 2011 г.

Как выбрать дистрибутив Линукс?


GNU/Linux Distribution Временная диаграмма

Уважаемый читатель! Если у вас нет времени или желания вникать в тонкости подбора дистрибутива Linux, остановите свой выбор на продукте Debian Linux: приобретя этот русифицированный комплект из пяти дисков, вы получите и "сердце" системы, и больше 20 тысяч программ для неё. В таком случае переходите сразу на посвящённую Дебиану страничку linux.su/debian.shtml (плюс, можете посмотреть, как используем его мы). Если же вас интересуют подробности - тогда не будем торопиться!

  Прежде всего, определимся с терминологией. Что такое дистрибутив? Так называют варианты операционной системы Linux, выпускаемые разными компаниями и разработчиками. В состав каждого дистрибутива, помимо самой операционной системы (ядро, драйверы, системные утилиты), входят также тысячи прикладных программ. Linux родилась меньше двадцати лет назад, но, несмотря на молодость, численность дистрибутивов уже измеряется сотнями.

  К счастью, для того чтобы подобрать дистрибутив, удовлетворяющий потребностям конкретного пользователя, нет необходимости просматривать все существующие. И вот почему. Во-первых, совершенно все дистрибутивы основаны на одном и том же ядре операционной системы Linux. А потому их производительность и основная функциональность совершенно идентичны! Во-вторых, подавляющее большинство популярных дистрибутивов включают в себя одни и те же программы, различаясь лишь в мелочах (в каких-то преобладают системные инструменты, в каких-то - мультимедийные и т.п.) и процедуре установки на компьютер. Добавить недостающие программы в систему после инсталляции по силам каждому, даже начинающему пользователю.

  Таким образом, если вы выбираете дистрибутив, забудьте о технических спецификациях и сосредоточьте своё внимание на общей характеристике. На сайте Knoppix.ru представлены несколько наиболее популярных дистрибутивов разных классов, один из которых вам обязательно подойдёт. Это Knoppix, Debian, Ubuntu, Fedora, Mandriva Linux, ASP Linux, Slackware и Gentoo. Давайте остановимся на каждом из них подробней.

  Knoppix выделяется среди прочих Линукс-дистрибутивов своей простотой: он работает прямо с компакт-диска, не требуя инсталляции на винчестер. Фактически, начать работу с ним вы сможете сразу же после получения компакт-диска (просто вставив диск в CD-привод и перезагрузившись с него). На диске Knoppix умещаются больше тысячи программ, в числе которых несколько оконных менеджеров, офисные пакеты, графические редакторы, браузеры, проигрыватели и просмотрщики - всё, что только может понадобиться вам при знакомстве с Linux. Строго говоря, с помощью Knoppix можно организовать полноценное рабочее место, но всё же больше он подходит именно для первой встречи. Несмотря на то, что интерфейс большинства программ английский, Knoppix поддерживает русский язык и вы сможете работать с русскоязычными документами (путешествовать по русским веб-сайтам, читать и писать по-русски и т.п.). Хорошей альтернативой Кноппиксу является тоже "живой" дистрибутив Puppy Linux и его русская версия PuppyRus Linux.

  Ubuntu, Fedora, Mandriva Linux и ASP Linux подойдут тем, кто желает перейти от знакомства с Linux к серьёзному его применению. Эти дистрибутивы роднит нацеленность на рядового пользователя, для которого важнее всего удобство рабочего места. Все дистрибутивы этого класса хорошо русифицированы (среди них выделяется ASP Linux, созданный одноимённой российской компанией), легки в установке и столь же легки в использовании.

  Slackware и Gentoo предназначены для тех пользователей, которые желают самостоятельно оптимизировать операционную систему под своё "железо" и задачи, вручную выбрав каждый из сотен устанавливаемых компонентов и программ, самостоятельно проведя тонкую настройку и русификацию. Эти варианты Linux не подходят для новичков, но, если вы уже освоились в свободной ОС, возможно, они вас заинтересуют. Главное отличие между Slackware и Gentoo заключается в формате программ: если в Slackware программы хранятся в виде исполняемых файлов (они уже были скомпилированы разработчиком и могут быть немедленно запущены), то в Gentoo включены лишь исходные тексты (поэтому, после выбора устанавливаемых программ, необходимо будет провести их компиляцию). Gentoo требует больших усилий для своей установки и более высокой квалификации пользователя, но обеспечивает и более точную подгонку под особенности того компьютера, на который устанавливается (что выражается прежде всего в более высокой производительности).

  Наконец, Debian - дистрибутив, выделяющийся богатством программного обеспечения. Это несомненно самый полный и скорее всего самый популярный дистрибутив Linux из всех существующих. В стандартную его версию входят свыше двадцати тысяч регулярно обновляемых пакетов, поэтому, остановив свой выбор на Debian, вы избавите себя от головной боли, связанной с поиском и установкой нужных вам программ. К тому же Debian хорошо русифицирован и очень популярен среди русскоязычных пользователей. Если у вас возникнут какие-то вопросы по его использованию, вы всегда сможете рассчитывать на помощь земляков.