понедельник, 7 декабря 2009 г.

Городская книга жалоб

Очередная идея, лежащая на поверхности.

Суть проблемы - хочу пожаловаться на асфальт у себя во дворе, не кому
Хочу скооперироваться с жильцами дома, что бы решить эту проблему, нужно бегать ко всем, договариваться, нет простого инструмента для решения данной проблемы

И тому подобных проблем в нашей стране очень много

Основные задачи

1. Изложить проблему, показать ее общественности
2. Проголосовать, у видеть рейтинг проблем данного города
3. Скооперироваться для решение данной проблемы, сбор средств, волонтеров и т.д.

Отдача
1. Конечно же решение проблемы
2. Прямой интерес политиков, так как решение популярных проблем, это +1 к ихнему рейтингу
3. Объединение людей для решения проблемы

Городская книга жалоб помогло бы собрать проблемы города, и решить их. Потому что будет видно, что нужно решать, а что не очень срочно.

Для политики и меценаты могли бы проводить чудесные пиар акции с максимальной отдачей, в плане одобрения людей их действий.

пятница, 6 ноября 2009 г.

PHP с Oracle 10 на Ubuntu 9.10

Сегодня мне нужно было запустить сайт под убунтой, сайт был написан на PHP, и использовал базу данных Oracle.

Сразу же я скачал новый дистрибутив с убунту, и начал установку, установка убунты была быстрой и приятной) "Откиньтесь на спинку стула" ой, это по моему из другой оперы, но суть такая же.

Установил убунту, после пару минут гугления, я нашел как установить оракл

Очень радостный момент был в том, компания оракл, сделал ветку исходников для дебиана и убунту

Для начала нужно эту же ветку указать в соурс листе убунту

Для этого открываем этот файлик /etc/apt/sources.list и вставляем в конец вот эту строчку

deb http://oss.oracle.com/debian unstable main non-free


После этого открываем консоль

И вводим вот такую строчку

wget http://oss.oracle.com/el4/RPM-GPG-KEY-oracle -O- | sudo apt-key add -

Эта строчка добавляет оракловский gpg публичный ключ к нам в список apt-key

Потом выполняем несколько простых команд

sudo apt-get update
sudo aptitude install oracle-xe oracle-xe-client


И тут появилась у меня проблема, выскочила ошибка, сообщающая о том, что ораклу потребуется своп раздел линукса размером в 1 гигабайт.

После того как, я изменил увеличил размер свопа до 2 гб, я повторил команды заново.

После этого все уже было хорошо.

Дальше я вводил следующую цепочку команд

sudo /etc/init.d/oracle-xe configure

и все! Оракл установлен

Что бы перейти на страницу управления базой данных
Нужно перейти по ссылке http://127.0.0.1:8080/apex


Далее мне нужен был апач с пшп
Тут вообще все просто
Выполняем команду

sudo apt-get install php5 libapache2-mod-php5

Перезагружаем апач

sudo /etc/init.d/apache2 restart

После этого пробуем зайди на страницу http://localhost/, и убеждаемся что все работает

После этого единственное, что остается нам сделать это подключить OCI8 в пшп, это драйвер оракла для пшп, и это наверно самая трудная часть установки.

Первое что стоит сделать, скачать файлы с сайт Оракла, я скачал зип файлы, для 10 версии basic и sdk

После этого выполнил команды

sudo su
mkdir -p /opt/oracle/instantclient


Создал попочку, потом переместил туда 2 скачанных архива
И выполнил следующие команды

cd /opt/oracle/instantclient
unzip instantclient-basic.zip
unzip instantclient-sdk.zip
echo /opt/oracle/instantclient >> /etc/ld.so.conf
ldconfig

и

ln -s libclntsh.so.10.1 libclntsh.so
ln -s libocci.so.10.1 libocci.so


и

apt-get install php-pear
apt-get install php-pear php5-dev build-essential


и

mkdir -p /usr/local/src
cd /usr/local/src
pecl download oci8
tar xzf oci8-1.3.4.tgz
cd oci8-1.3.4
phpize
./configure --with-oci8=shared,instantclient,/opt/oracle/instantclient
make
make install


И все, мы подключили oci8 к пшп


После этого нужно в php.ini по адресам - /etc/php5/apache2/php.ini и /etc/php5/cli/php.ini, прописать 1 строчку  - extension=oci8.so

И конечно же перезапустить апач

sudo /etc/init.d/apache2 restart

И все, все работает

понедельник, 19 октября 2009 г.

Идея для стартапа - "Мой Вуз"

В идею заложено сайт-инструмент для абитуриентов. Социальная сеть которая помогает выбрать в жизни направление, избрать нужный путь, найти работу на старших курсах.

После введение внешнего тестирования, наша страна, как обычно, было не готова к этому, как обычно все делалось по своему, в каждом вузе. Абитуриенты не могли получать информацию о результате тестов из вузов онлайн, не могли сдать документы удаленно.

По мимо всего этого была проблема после сдачи тестирование в школе, сервера министерства образования просто были не доступны из за перегрузки.

А найти хороший сайт, где есть фильтр по вузам, факультетом, городам, ценам на это все, а так же необходимые для этого сданные предметы на внешнем тестировании, к сожалению не было возможным, из за его отсутствия.

Вот так и родилась идея

Сделать сообщество абитуриентов, где они могут:
      1. Выбрать вуз по фильтру(Специальность, Цена, Местоположение, Входные предметы)
      2. Удобное получение результатов внешнего тестирования
      3. Обзор профилей вузов(Описание, место положение, контакты)
      4. Списки абитуриентов данного вуз(общение с такими же абитуриентами)
      5. Возможность подать документы онлайн(если договорено с конкретным вузом)
      6. Трансляция итоговых результатов поступления в вуз
      7. Сообщество студентов вузов
      8. Поиск работы для студентов
      9. Тесты
            а) для выбора будущей профессии
            б) тесты по интересам

Интересный момент, у каждого из вас, мои дорогие читатели может появиться вопрос, ну абитуриенты это не долговременное явление, не более года, 11класс - до поступление вуз. Да, не могу с вами не согласиться, ведь это правда, но есть нюанс, после периода поступления в вузы, мы можем попросить наших бывших абитуриентов, указать куда они, все же поступили, а потом по этим данным подобрать возможных их них одногрупников и однокурсников, и вот результат, больше не нужно друг друга искать ВКонтакте, ведь уже на этом сайте друг друга добавили в друзья. Т.е. привлечение новой крови будет через абитуриентов, а удерживание популяции через связи которые будет автоматически подбираться.

Бизнес-модель:
1. Рекламная
       а) Контекстная или прямая реклама на страницах
       б) Рейтинг вузов
2. Сервис
      а) Покупка вузом своей страницы профиля вуза на сайте, для последующего самостоятельного редактирования
      б) Поиск работы, размещении вакансий, премиум аккаунты хед-хантеров

Идея для стартапа - SocialSync

!!!Русская версия ниже, сразу же после английской!!!

Social network - contacts synchronizer
code name: [SocialSync]

I want you to submit a problem, which led me to this idea.
Well, just to the cause!
I have many accounts in various social networks such as Facebook.
The same account on the popular service Gmail.
But I just have the phone! Which is also a lot of different contacts.

1. There are situations when you want to call a friend, to which there is only us through a social network.
Also, at work, I use Outlook, respectively, and there still working relationship.
Yes, you say it's helper methods can be synchronized via ActiveSync, just through the Exchange server of Google, yet somehow the place to tie it the social network, or use the mobile version of the site and everything will be wonderful, yes, it is possible but not very convenient.

2. It is like what it has always been with me, centrally, on my mobile, and of course the internet.
Just saddens me very expensive sms that I send from my mobile phone, can be found in many online services to send SMS is cheaper, such as Skype or site operator, molar relation, there is usually free of charge at all.

3. For me, as it is very important when sending sms, the recipient must receive sms from my phone number, but neither is anyone else, it is very important for the feedback!

4. Dear internal calls, calls to other countries, generally very expensive, it just is not good.

5. And sometimes, I really want to have access to the phonebook of your friends, colleagues, relatives, well at least to the part to which they allowed me to be.

6. Also, the main problem with which many often face, it is that your friend (colleague) has changed the number, and you did not know.

Even a lot of lot of things that I fed to the teeth and want to improve, but they are on.
I now address each problem, although there might be better to say one solution to all these problems, I have tentatively called it SocialSync (code name that was easier to navigate).


What is will be?

This will be a social network with a focus on the synchronization of contacts. And so it is browser-VoIP service, of course, all this functionality will be available on your mobile phone.
Then start, I will gradually explain and show the interface elements and their logic may not be immediately clear, but then all the grain in one meet.



Specification
Website

The home page will be profile
On top of the page navigation, it will be accessible from all pages of the site (horizontal, upper)


Menu Items:
1. Home
2. Add Contact
3. Synchronization
4. Search
5. Your account
6. Settings
7. Call / sms
8. Logout

About each menu item
1. Go to home page - User Profile

2. Add a new contact, the user can download the vCard cutaway or simply specify the number and fill out personal user data.
If the user has been registered previously, then change its data, if necessary.
Also, if the user is not registered on the site are invited to send an SMS invitation to him.
It should be noted that in the contact list may be added as users of you(unregistered users), and actually registered users.
The same process can see the their phone book, if a user is permitted.

3. Item synchronization is critical, when the process of synchronization of contacts between social networks, the different postal services (gmail, ms exchange server), as well as between mobile phone user.

4. Search users by name, phone, location

5. Item balance displays the current balance of the user, if I switch to it, will be shown options for its replenishment and tariff scale

6. The page the user preferences
      a. Privacy Setting
      b. Call redirecting
      c. Reminders about birthdays and other settings

7. Calls and sending SMS, not only to their contacts, and all the other phones as well.
In the context of the left will guide contacts, which itself represents a hierarchical structure, ie We will profile the top node in this structure, all of our contacts will be affiliated units, again all child contacts our contacts will be made available to us, in the form of a tree. It is very convenient to navigate, this is a very important point to look at it in the screenshot below.


As part of the content is displayed specifically selected profile.
It will be a description of the user, as in conventional social networks, but this description will be standardized in accordance expanded vCard (cutaway card file).

Below is the profile menu (or button)
      1. Get vCard contact
      2. Add/Remove user from the list of contacts
      3. Make contact share
      4. Chat with you (Send Message)
      5. Setting up the data on the contact (edit)

Briefly for each item:

1. Here everything is clear, the user clicks on the button and download vCard, for subsequent download to the phone, or any mail client, like Outlook.

2. This is the same basic function, or to add or delete a user in a network of contacts

3. This element of confidentiality. For example, I personally do not mind, what would my friends saw me in the phone book, but still not forget that there are cases that is not desirable to open the contact for general access through my profile.
For example, my lover contact, and I would very much like what my wife saw it, well, or is my contact a supplier of goods, just not desirable if it saw my competitor.

4. This is a common feature of sending messages, the difference is that it will be submitted to a chat, so kind of vivid story than just letters in the style of inbox / outbox, as is the case with e-mail.

5. This is again a very important point. I will begin with a situation that would have been easier to understand the problem, for example, I have a contact John Smith. But then suddenly my friend had the idea to change his name to MegaSuperMan, change avatars, and phone number.
Yes, it is to recognize the change in the phone is useful, but who MegaSuperMan, I do not know and do not want to know. Here on this, the settings can be flexibly specify what elements of user data, changing us to touch, and which will remain our without modification.
A clear case that the user is either not affected, he wants to be MegaSuperMan, well, please, but to us it will be recorded as John Smith.

These are the settings update contact data will be available
1. Change the data in accordance change of contact (ie your friend has become MegaSuperMan, and you have it now too MegaSuperMan)

2. Do not change the contact information at all (no matter what the user will change, you will only see data that was on the point of this paragraph)

3. Partial changes (ie you can specify the fields that the user can change, but who do not, respectively, all in a checkbox)
      a. Name
      b. Phone
      c. E-mail
      d. Location
      e. Date of Birth
      f. Web-Site
      g. Avatar




Mobile Client
      1. Synchronizing contacts
      2. Call and SMS
      3. Cheap calls and sms
      4. Additional features (location, etc.)

It should recognize that the call forwarding and call may be maintained only phones that support EDGE and above on the platforms Symbian, WinMo, Os X.
However, synchronization and cheap SMS will be available, of course everyone, even on a platform of J2ME, which is a basic functionality.

Business Model
Based business model made the sale of services such as VoIP and sending SMS, as well as banner and contextual advertising.
Attracting new users will be carried out
      1. When you add or synchronize contacts (for new users of the contact sheet will be invited to send an SMS or email with the invitation)
      2. Perhaps promotional campaigns every month to 5 free sms each user
      3. Sending SMS to users in the contact sheet will be cheaper than a normal SMS



Социальная сеть - синхронизатор контактов
code name: [SocialSync]
Хочу вам представить проблему, которая побудила меня к этой идеи.
Ну сразу к делу!
Я имею множество аккаунтов в разных социальных сетях, таких как Facebook.
Так же и учетная запись на популярном сервисе Gmail.
Но так же есть у меня и телефон! В котором тоже множество разных контактов.

1. Возникают ситуации когда хочется позвонить знакомому, с котором есть только связь через социальную сеть.
Так же, на работе, я использую Outlook соответственно и там еще рабочие контакты.
Да вы скажите это все можно синхронизировать подручными методами, через ActiveSync, так же через Exchange сервер Google, еще каким то местом прикрутит туда социальные сети, либо пользоваться мобильными версиями сайтов и все будет чудесно, да это возможно, но очень не удобно.

2. Очень хочется что бы это всегда было со мной, централизовано, на моем мобильном, ну и конечно же в интернет.
Так же меня очень огорчает дорогие смс, которые я отправляю с мобильного телефона, можно найти в интернет множество сервисов по отправки смс дешевле, таких как Skype или сайт оператора мольной связи, там обычно вообще бесплатно.

3. Для меня так же очень важно, при отправке смс, что получатель должен получить смс с моего номер, а ни с кого то другого, это очень важно для обратной связи!

4. Дорогие внутренние звонки, звонки в другие страны, вообще очень дорого, это так же не хорошо.

5. А еще иногда, мне очень хочется иметь доступ к телефонной книги своих друзей, коллег, родных, ну хотя бы к той части, к которой они сами мне разрешили бы.

6. Так же главная проблема, с которой многие очень часто сталкиваются, это того что ваш товарищ(коллега) изменил номер, и вас не поставил в известность.
Еще много много всего, что мне наболело и что хочется улучшить, но о них дальше.
А теперь решения каждой проблемы, хотя нет, наверно лучше сказать решение одно, для всех этих проблем, я предварительно его назвал SocialSync (кодовое имя, что было легче ориентироваться).

Что же это будет?!

Это будет социальная сеть с упором на синхронизацию контактов.
А так же это браузерный VoIP сервис, конечно же вся это функциональность будет доступна на мобильном телефоне.
Значит так преступим, я буду по степенно рассказывать и показывать элементы интерфейса и их логику, сразу может быть не все понятно, но потом крупицам все соберется во едино.



Спецификация
Веб-сайт

Главная страница
На главной странице будет профиль пользователя
Сверху страницы будет меню навигации, оно будет доступное со всех страниц сайт (горизонтальное, верхние)

Пункты меню:
      1. Главная
      2. Добавить контакт
      3. Синхронизация
      4. Поиск
      5. Ваш баланс
      6. Настройки
      7. Звонки/смс
      8. Выход

Коротко о каждом пункте меню
1. Переход на главную страницу – профиль пользователя

2. Добавить новый контакт, пользователь может загрузив vCard визитку или просто указать номер и заполнить анкетные данные пользователя.
Если пользователь был зарегистрирован ранее, то изменить его данные, если в этом есть необходимость.
Так же если пользователь не зарегистрирован на сайте, предлагается выслать ему пригласительное СМС.
Стоит заметить, что в контакте листе могут быть, как пользователи добавленные вами(незарегистрированные), так и реально зарегистрированные пользователи.
Так же возможен процесс просмотра телефонной книги, если пользователь это разрешил.

3. Пункт синхронизации, это важный момент запуска процесса синхронизации контактов между социальными сетями, разными почтовыми сервисами(gmail, ms exchange server), а так же между мобильным телефоном пользователя.

4. Поиск пользователей по имени, телефону, локации

5. Пункт баланс отображает текущий баланс пользователя, при переходе на него, буду указаны варианты его пополнения и тарифная сетка

6. Страница настроек пользователя
      a. Настройка приватности
      b. Переадресация
      c. Напоминания о днях рождениях, и прочие настройки

7. Звонки и отправка смс, не только своим контактам, а на все остальные телефоны так же.
В контекстной части слева будет навигатор контактов, что с себя представляет иерархическую структуру, т.е. наш профиль будет верхним узлом в этой структуре, все наши контакты будут дочерними узлами, опять же все дочерние контакты наших контактов буду доступны нам, в виде дерева. Очень удобно для навигации, это очень важный момент, внимательно посмотрите на это на скриншоте, ниже.


В контекстной части справа будет отображаться конкретно выбранный профиль.
В нем будет описание пользователя, как в обычны социальных сетях, но это описание будет стандартизировано в соответствии расширенной vCard (файл визитной карточки).
Внизу профиля будет меню (или кнопочки)
      1. Получить vCard контакта
      2. Добавить/Удалить пользователя из списка своих контактов
      3. Сделать контакт общедоступным
      4. Чат с пользователем(Отправить сообщение)
      5. Настройка данных о контакте (редактирование)

Коротко по каждому пункту:
      1. Тут все предельно ясно, пользователь нажимает на кнопку и загружает файл vCard, для последующей загрузки в телефон или в любой почтовый клиент, типа Outlook.
      2. Это так же базовая функция, удалить или добавить пользователя в сеть своих контактов
      3. Это элемент конфиденциальности. К примеру, лично я не против, что бы мои друзья смотрели мне в телефонную книгу, но все же забывать не стоит, что бывают случаи, что нежелательно открывать контакт для общего доступа через мой профайл.
Ну например это контакт любовницы, и я бы очень не хотел, что бы моя жена видела его, ну или, это контакт моего поставщика товаров, так же не желательно что бы его видел мой конкурент.
      4. Это обычная функция отправки сообщения, с разницей в том что оно будет представлена виде чата, так наглядней вида история, нежели просто переписка в стиле inbox/outbox, как в случае с электронной почтой.
      5. Это опять очень важный момент. Начну с ситуации, что бы было проще понять проблему, например у меня есть контакт Вася Пупкин. Но тут вдруг моему другу пришла мысль, изменить свое имя на МегаСуперМен, поменять аватар, и телефон.

Да, стоит признать изменение телефона это полезно, но вот кто такой МегаСуперМен, я не знаю, и знать не хочу. Вот по этому, в настройках можно будет гибко указать какие элементы данных пользователя, при изменении нас коснуться, а какие останутся нашими, без изменения.
Ясное дело, что на пользователя, это ни как не отразиться, хочет он быть МегаСуперМеном, ну и пожалуйста, но у нас он будет записан как Вася Пупкин.
Вот такие настройки обновления данных контакта будут доступны
1. Изменять данные в соответствии изменения профиля контакт (т.е. ваш друг стал МегаСуперМен, и у вас он теперь тоже МегаСуперМен)

2. Не изменять данные о контакте вообще (Не важно, что пользователь будет изменять, у вас останутся только те данные которые были на момент выбора этого пункта)

3. Частичные изменения (т.е. можно будет указать поля, которые пользователь может менять, а которые нет, соответственно это все в виде чекбоксов)
      a. Имя, Фамилия
      b. Телефон
      c. Электронная почта
      d. Расположение
      e. Дата рождения
      f. Web-Site
      g. Аватар


Мобильный клиент
      1. Синхронизация контактов
      2. Переадресация вызовов и смс
      3. Дешевые звонки и смс
      4. Дополнительные функции (место расположение, и т.д.)

Стоит признать что переадресацию и вызовы возможно будут поддерживать только телефоны с поддержкой EDGE и выше, на платформах Symbian, WinMo, Os X.
Но синхронизация и дешевые смс будут доступны, конечно же всем, даже на платформе J2ME, так как это являться базовой функциональностью.

Бизнес-модель
В основу бизнес-модели положено продажа сервисов таких как VoIP и отправка смс, а так же баннерная и контекстная реклама.
Привлечение новых пользователей будет осуществляется
1. При добавление или синхронизации контактов (новым пользователям из контакт листа будет предложено отправить смс или email с приглашением)
2. Возможно поощрительные акции, каждый месяц по 5 бесплатных смс каждому пользователю
3. Отправка смс пользователям из контакт листа, будут дешевле чем просто обычная смс

четверг, 17 сентября 2009 г.

Пожар на Контрактовой возле МинФин

Вышел на обед, и первые что я увидел - огромный дым!



Смотрю горит где то в районе метро Контрактовая, ммммм....., там же МинФин

Горит минфин, думаю да, черный дым, как будто горят химикаты, краска...... горят купюры



Ускорился, что бы может помочь кому то и узнать, что же, все же произошло, вокруг воют сирены, возникает небольшое чувство паники



Подошел ближе, обстановка прояснилось, на деле горело помещение какой то бывшей аптеки, если мне не изменяет память





Порадовали ребята из пожарки, было очень все оперативно, быстро приехали, и затушили огонь за пару минут, минут за 15.



Толи в нашей стране не все так плохо с гос службами, толи боялись, что загорится министерство финансов, которые находить за 20 метров, от сгоревшего здания.

понедельник, 6 июля 2009 г.

Фильтрующий прокси

Фильтрующий прокси

Варианты использования
1. Apache2(продакшен) + mod_securtity
2. Apache2 + mod_proxy + mod_securtity

Для защиты вашего сервера от то атак разного типа можно использовать 2 вариант подключения модуля mod_securtity
Один из них это прямая защита сайта, этим модулем, т.е. наш сервер должен быть доступен из вне.
Второй вариант, это дополнительное использование прокси сервера, что позволит оставить продакшен в интрасети и кэшировать, при желании, запросы.

Коротко о преимуществах mod_securtity
1. Бесплатный
2. Открытые исходные коды
3. Фильтрует как get запросы, так и post данные
4. Удобный язык для написания правил фильтрации, базированный на проверке по регулярным выражениям
5. Интеграция с прокси модулями апача, что позволяет оптимально ускорить работу веб-сервера (loadbalancing)
6. Графическая оболочка для написание правил безопасности (REMO)
Так же просмотреть презентацию можно по ссылке
http://www.modsecurity.org/documentation/ApacheCon_Europe_2008-Web_Intrusion_Detection_with_ModSecurity.pdf

Структурная схема работы mod_securtity


Установка mod_security
Установить модуль можно, из пакетов или собрать из исходников
Выбрать пакет для интересуемей вас ОС или исходники можно здесь
http://www.modsecurity.org/download/index.html
Так же там можно скачать базовый набор правил, что предотвращает 70%-80% всевозможных атак

Необходимые предварительно установленные модули Apache
1. mod_so
2. mod_unique_id
3. mod_proxy
4. mod_proxy_http
5. mod_proxy_balancer
Так же если мы хотим использовать mod_security с прокси сервером, нужно установить еще один экземпляр апача.
После этого приступаем к установке mod_security
Создаем папку .../apache2/modules/mod_security2 и копируем туда mod_security2.so и libxml2.dll

Добавте в httpd.conf:
LoadModule security2_module modules/mod_security2/mod_security2.so
LoadModule unique_id_module modules/mod_unique_id.so

Для того, что бы в основном конфигурационном файле не было мешанины, выносим настройки наших модулей в отдельные файл
Include ……/bin/Apache2_Proxy/conf/mod_security.conf
Include ……/bin/Apache2_Proxy/conf/mod_proxy.conf

В конфигурационном файле mod_proxy, настраиваем прокси
Базовая настройка прокси сервера, которая передает полностью все запросы, без кэширования
ProxyRequests On
ProxyVia On

ProxyPass / http://localhost/
ProxyPassReverse / http://localhost/

В файле mod_security.conf, мы должны указать правила безопасности
Для проверки работоспособности конфигурации, можно указать такие правила

SecRuleEngine On
SecDefaultAction log,auditlog,deny,status:403,phase:2,t:lowercase,t:replaceNulls,t:compressWhitespace

SecAuditEngine RelevantOnly
SecAuditLogType Serial
SecAuditLog logs/mod_security2.log

## -- General rules --------------------
SecRule ARGS "c:/" t:normalisePathWin
SecRule ARGS "\.\./" "t:normalisePathWin,id:99999,severity:4,msg:'Drive Access'"
SecRule ARGS "d:/" t:normalisePathWin

## -- phpBB attack --------------------
SecRule ARGS:highlight "(\x27|%27|\x2527|%2527)"

И сделать запрос
http://www.xxxxcom/?abc=../../

Вы должны получить на странице, сообщение о отказе доступа

Введение в язык правил доступа

Что доступно:
1. Указание правила
2. Доступ к серверным переменным
3. Доступ переменным из get и post
a. Загрузка файлов
4. Настройки аудита

Коротко по пунктам:
1. Используется ключевое слово SecRule для указания правил
Синтаксис SecRule VARIABLES OPERATOR [ACTIONS]
2. Доступ к серверным переменным осуществляется через ключевые слова, к примеру
REQUEST_LINE, REQUEST_PROTOCOL, REQUEST_METHOD и тд
3. Доступ к переменным из запроса, осуществляется через ключевые слова, к примеру
QUERY_STRING, а так же к массиву переменных ARGS.
ARGS:username или ARGS:password, получаем данные из поста, к примеру
Что бы установить ограничения на загрузку файлов, можно использовать
SecUploadDir /tmp/dir
SecTmpDir /tmp/dir
SecDataDir /tmp

Так же что бы указать максимальный размер загружаемого файла
SecRule FILES_SIZES "@gt 2097152" "phase:2,t:none,deny,log,auditlog,status:403,msg:'Uploaded file size too large',id:'960342',severity:'4'"

И если не обходимо указать проверяющий скрипт(антивирус)
#SecRule FILES_TMPNAMES "@inspectFile /opt/apache/bin/inspect_script.pl" \ "t:none"

Для настройки аудита, можно использовать такие директивы
#For logging
SecAuditEngine RelevantOnly
SecAuditLogType Serial
SecAuditLog logs/mod_security2.log

# Debug log
SecDebugLog logs/modsec_debug.log
SecDebugLogLevel 0

Самый лучший пример, что демонстрирует возможности описания правил

SecDefaultAction "log,deny,t:lowercase"
SecRule REQUEST_METHOD !POST
SecRule ARGS:destination " URL" "t:urlDecode"
SecRule ARGS:flags "[0-9]{1,2}"
SecRule ARGS:username "[0-9a-zA-Z].{256,}"
SecRule ARGS:password ".{256,}"
SecRule ARGS:SubmitCreds "!Log.On"
SecRule ARGS:trusted "!(0|4)"


Более подробно, по правилам можно прочитать по ссылке
http://www.modsecurity.org/documentation/ModSecurity2_Rule_Language.pdf

суббота, 23 мая 2009 г.

Удаленный офис или как управлять персоналом из далека

Задача: Управление персоналом из далека

При решение такой задачи хотелось бы в первую очередь работать с такими продуктами которые красиво друг другом взаимодействовали и чудесно расширялись, а так же о безопасности не стоит забывать.

Я не хочу углубляться в среду фирм программирования, так что род деятельности у нашей фирмы будет что то абстрактное, пусть будет например, продажа морковки.

Типичные проблемы:

1. Общие сетевые ресурсы
2. Распределение заданий
3. Протекание процесса
4. Взаимодействие с клиентами
5. Управление поставками
6. Митинги, конференции, переговоры
7. Плотное взаимодействие с сотрудниками
8. Банкинг
9. Мобильный доступ
10. Безопасность

Для решение данной задачи, я постараюсь использовать в основном продукты Майкрософт, потому что их покрываемость самая большая по текущим задачам.

Что нам может понадобиться

Платформа
1. Windows Server 2008 R2
2. Windows 7
3. Office 2007

Бизнес процессы
4. Dynamics CRM 4
5. Dynamics NAV 5.0
6. Dynamics AX 4

Коммуникации
7. SharePoint 2007
8. Office Communications Server 2007 R2
9. Office Live Meeting service
10. Exchange Server

Безопасность
11. Forefront

Платформа
Теперь коротко о главном, что же я подразумеваю о понятие платформа, платформа это набор необходимого серверного и клиентского ПО.

Наш главный сервер будет работать под управлением Windows Server 2008 R2, отличная систем, много разного функционала

Что из этого функционала может нам пригодиться:
1. DirectAccess - Это удаленный доступ к ресурсом рабочей интрасети, минуя сложный этап установки VPN-подключени. У клиента должна быть Windows 7.
2. Active Directory - это было давно винСерверах, эта будет наша аутентификация и авторизация. В 2008 сервере есть новые возможности настройки политик.
3. Удаленные столы и RemoteApp, теперь можно работать с приложением запущенными на сервере из своего рабочего стола
4. Виртуализация, если кому надо поднять несколько ОС на 1 машине
5. Повышение эффективности удаленного администрирования, включая использование удаленно устанавливаемого диспетчера серверов
Об этом всем можно почитать вот здесь - http://www.microsoft.com/windowsserver2008/ru/ru/R2-top-reasons.aspx

На клинские компьютеры, лучше всего конечно же ставить Windows 7, легкий, красивый, безопасный, а так же родная интеграция с нужными сервисами.

Офис, ну без него ни как! О нем можно многое говорить, но всё все, в принципе, и так знают.
Но стоит добавить, все же, о аутлук, аутлук в данной связке играет самую важную коммуникационную роль, об этом чуть дальше.
Еще стоит не забывать о Microsoft Office Project
Чудесная программа, для управления проектами
Microsoft Project создан, чтобы помочь менеджеру проекта в разработке планов, распределении ресурсов по задачам, отслеживании прогресса и анализе объёмов работ.

Бизнес процессы
Об этом можно много говорить и дискутировать.
CRM — гибкое и доступное решение для управления взаимоотношениями с клиентами, объединяющее инструменты для сотрудников отделов продаж, маркетинга и обслуживания клиентов. Система позволяет сократить цикл продажи, сделать его более предсказуемым и увеличить количество успешно закрытых сделок.
Подробно тут http://www.microsoft.com/Rus/dynamics/CRM/overview.mspx

Dynamics NAV — интегрированная комплексная система управления предприятием. Она объединяет возможности финансового управления, анализа состояния бизнеса, управления производством, дистрибуцией, электронной коммерцией и взаимоотношениями с клиентами. Легкое в использовании, это решение помогает вам повысить эффективность деятельности вашей компании, уровень обслуживания и степень удовлетворенности ваших клиентов.
Подробно тут http://www.microsoft.com/Rus/dynamics/nav/overview.mspx

Dynamics AX – многофункциональная система управления ресурсами предприятия (ERP II) для средних и крупных компаний. Она охватывает все области менеджмента: производство и дистрибуцию, цепочки поставок и проекты, финансы и средства бизнес-анализа, взаимоотношения с клиентами и персоналом.
Подробно тут http://www.microsoft.com/Rus/dynamics/ax/overview.mspx

Тут каждый выбирает по потребностям, кому что нужно, выгодней.

Коммуникации
Главный момент удаленных офисов и филиалов - связь между людьми. Тут у Майкрософта целый ряд платформ, что в принципе логично и очевидно.

Что будет нам доступно
1. Электронная почта
2. IM, с функциями группового чата
3. VoIP с возможностью видеоконференции
4. Office Live Meeting service
5. Календари
6. "Социальная сеть"

Это все между собой можно крутить как угодно, и в любых комбинациях. Говорить в чате, видеть собеседника, показывать ему документ свой exel документ, смотря на его и свой календарь.

Тут отличная видео презентация - http://www.microsoft.com/uc/demo.mspx

Так же на SharePoint можно сделать, что то на подобие социальной сети, с профилями сотрудников, переписка между сотрудниками, расшаривание общих документов, так же можно подключить календари, и еще кучу всего.

Безопасность
Microsoft Forefront — это всеобъемлющий набор продуктов для обеспечения безопасности бизнеса, повышающий безопасность и контроль благодаря интеграции с существующей ИТ-инфраструктурой и упрощению развертывания, управления и анализа. Продукты Forefront помогают защищать клиентские и серверные операционные системы, серверы приложений и периметр сети. Ну здесь стоит добавить, что защита чудесным образом интегрируется с выше упомянутыми сервисами.
Вот тут подробнее - http://en.wikipedia.org/wiki/Microsoft_Forefront

Мобильность
Используя телефон на базе винМо, можно просто синхронизировать свои контакты, задачи, календари, заметы, а может и еще че то. Все это происходит оффлайн через ActiveSync, который синхронизирует винМо с аутлуком, а так же возможна синхронизация с Exchange Server по интернету.

OpenSource и бесплатные решения
Сначала чуть о бесплатных решениях, ну бесплатный сыр только в мышеловки. Так что почти все бесплатные решение и их бесплатное использование, ровно до того пока их не используешь в коммерческих целях.
OpenSource тут наверно немного все радужней, но стоит уточнить тот факт, что бесплатно только солнце по утрам встает, и если нет бизнеса - нет развития, т.е. качество так сказать сносное. Хотя могут быть и исключение если они финансируются какими то большими организациями, например как Гугл, IBM, ну или каким то государством. Я не могу больше ниче добавить, потому что не исследовал в этом направлении.

Итог
Все выше описанные МС сервисы отлично друг с другом взаимодействуют, и отлично масштабируются, хотя конечно иногда могут бы и не стыковки.
А если у вас какие то не стандартные проблемы, то функциональность можно всегда просто изменять и расширить используя Visual Studio и конечно же услугами .Net программиста.

вторник, 12 мая 2009 г.

Utel - будущие здесь!)

Прекрасный весенний вечер, шел дождь за окном.
Я сидел углубленный в свой новый проект, разбираясь шаг за шагом.

И тут от куда не возьмись появились не преодолимые препятствия, что очень мне начало мешать работать.

Во всем микрорайоне вырубился свет, явно что то случилось, что то перегорело, потому что были мерцания.

Неделю до этого я приобрел стартовый пакет 3G связи Utel.

На удивление приемлемые тарифы на связь и на интернет вообще. По мимо всего прочего, мне дали 3 стартовых пакета, один как бы главный, и два дочерних.

Инновация состояла в том что денежный баланс главного стартового пакета можно открыть для двух дочерних пактов, можно так же указать денежную сумму которую они могут от туда снять, или даже процент.

К сожалению, конечно же у них нет возможности это сделать самому, из веб сайта или из голосового сервисного меню. По этому нужно звонить оператору, и обязательно сказать ему пароль, который ты сам указываешь при подписании контракта на обслуживание. Почему я так заострил на этом внимание, а потому что я его забыл, и пришлось указывать паспортные данные.

После не длительной беседы с оператором, все же баланс начинает быть доступен дочерним пакетам, тут все круто, за исключением одного но, со следующего календарного месяца, так что советую сразу подключать номера, при подписании контракта.

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

Расскажу кратко о тарифах

Звонки между 3 этими номерами абсолютно бесплатно, даже нет платы за соединение.

СМС - 30 коп., интернет по 10 коп. за мегабайт, видеозвонки - 25 коп., звоники на стационарные номера по всей Украине - 25 коп., звоник на другие номера Utel - 15 коп.

Абонплата 50 грн. в месяц, при этом все до копейки тебе зачисляется на счет, плюс ко всему еще каждый месяц бонусных 50 грн.

С тарифами все чудесно, душа радуется, это прелесть просто, если брать в расчет, что я в месяц на своем Киевстаре трачу больше 100 грн.

Интересный факт, пополнять счет можно через любой банкомат ПриватБанка, никакой комиссии и почти мгновенно. Тут тоже все чудесно, но опять же за исключением одного но, средства приходят на главный номер, не важно на какой номер ты пополняешь. И я был очень удивлен узнав, этот факт, хорошо, что решил это протестировать сначала, и пополнил всего на 1 грн. Конечно все ок, если у вас отрыт баланс для дочерних номеров, но у меня он был закрыт.

По поводу покрытия, как сказано во всех рекламных лозунгах, во всех областных центрах.

Испытывал только в Киеве и в Житомире, покрытие удовлетворительно.
Если покрытия нет, то обслуживается в сети Билайна, ясное дело о никаком 3G речи быть и не может, но EDGE работает на ура, не медленнее, чем Киевстар XXL.

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

А вот при том, что я решил использовать этот интернет, так как интернет Воли был не доступен из за выключености модема и наверно еще десятка роутеров на пути к моей квартире.

Я быстренько подключил свою трубку, и еще целых два часа просидел в интернете, просматривая роли с YouTube. Между прочим ролики грузиться без задержек, и на самом деле еще даже буферезируються опережая просмотр. Ролики быстро мне надоели, и я вот решил написать свои впечатления в блог.

Рецензия: тарифы - сказка, покрытие - удовлетворительное, буду ли я пользоваться - да!

Единственно что меня настораживает, что это государственная монополия. Люди не меняются, и монополии тоже, особенно государственные.

Но впечатление хорошее, я бы полностью отказался от Киевстара, но номера жалко, уже столько лет его использую.

Utel - будущие здесь!)

вторник, 17 марта 2009 г.

Крипто защита строк (шифрование) для Windows Mobile

Наверно у каждого из нас возникает проблема с большом количестве конфиденциальных данных таких как пароли, пин коды к кредитным и платежным картам.

Но эта информация важна, и её очень часто нужно носить с собой, как вариант ее можно запомнить и не забывать. Но в разных критических моментах, можно просто забыть и не вспомнить. Вот к примеру, у меня вечная проблема, я не помню пин кода к своим кредиткам, но если я подойду к банкомату, то могу его набрать без проблем, но если начинаю думать и пытаться вспомнить пин, то все, он как будто вылетает с головы.

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

Но все же я решил написать свою программу, с 1 простой функцией шифрование строк по паролю, и решил сделать её с отрытым кодом, что бы любой кто хочет ее использовать был спокоен в том, что автор программы не хочет украсть какие то конфиденциальные данные.

Вот что получилось

MobileStorage 0.1 бетта Английская версия

Главное окно



Окно добавления и редактирования данных



Ввод пароля при открытии файла



Программа требует Windows Mobile 5 и выше, установленный .NetCF 3.5

Сама же программа запускается без установки

Скачать ее можно тут

Скачать исходники можно тут

понедельник, 9 февраля 2009 г.

Оптимизация Windows Mobile 6.1

Несколько настроек реестра, для того что бы заставить ваш КПК работать быстрее
Этот набор настроек для Windows Mobile 6.1, но возможно он так же будет актуален и для других Windows Mobile устройств.

Увеличения кэша графического слоя
HKEY_LOCAL_MACHINE\System\GDI\GLYPHCACHE\

Измените значение ‘limit’ с 8192 на 16384


Увеличение кэша для шрифтов
HKEY_LOCAL_MACHINE\System\GDI\SYSFNT\CS=16384


Включение файлового кэша
HKEY_LOCAL_MACHINE\System\StorageManager\FATFS\

CacheSize=0×1000(4096)

HKEY_LOCAL_MACHINE\System\StorageManager\FATFS\

EnableCache=0×1(1)

HKEY_LOCAL_MACHINE\System\StorageManager\Filters\fsreplxfilt\

ReplStoreCacheSize=0×1000(4096)


Ускорение чтение SD карты

HKEY_LOCAL_MACHINE\Drivers\SDCARD\ClientDrivers\Class\

MMC_CLASS

HKEY_LOCAL_MACHINE\Drivers\SDCARD\ClientDrivers\Class\

SDMEMORY_CLASS

HKEY_LOCAL_MACHINE\Drivers\SDCARD\ClientDrivers\Class\

SDMEMORY_CLASS\High_Capacity

Измените ‘BlockTransferSize’ с 64 на 16. Это заставит реагировать с SD в 4 раза быстрее!


Отчет о доставки СМС

Messaging -> Text Messages -> Menu -> Tools -> Options -> * Text Messages -> и выберите “Request delivery notifications.

Оригинальный текст статьи

четверг, 22 января 2009 г.

Установка Google Android на HTC Diamond

Для того что бы установить Google Android на ваш HTC Diamond

Требуются следующие действия:
1. Скачайте дистрибутив Google Android 1.0 и распакуйте его
Скачать дистрибутив Google Android для HTC Diamond и на файл Haret.exe, он тоже вам понадобиться

2. После этого создайте папку tmp у вас на SD карте(Основная память)

3. И скопируйте в эту папку все файлы из дистрибутива

4. Потом уже из телефона, зайдите в эту папку, её содержимое, должно выглядит так


5. Потом запустите программу HARET.EXE и нажмите кнопочку Run


6. После нажатия кнопки Run телефон перезагрузиться и появиться консоль Linux


7. В ней введите "/init.android" (без кавычек) и нажмите Enter

8. После этого загрузиться Google Android



Вот он Google Android



Что я получил, хорошего:
1. Очень милый интерфейс
2. Очень быстро работает
Плохого:
1. Дистрибутив еще сырой и по этому не все работает
а) У меня не определялась GSM сеть,
2. Очень высокое разрешение экрана HTC Diamond, дело все надписи очень мелкими
3. Клавиатура сверху экрана, жутко мешает

Пока что все печально, но я надеюсь все же в будущем он будет более стабилен, и даже возможно выпущен релиз самим HTC, для телефона Diamond, и других ихних Windows Mobile телефонов.

Ссылка на оригинальную статью