Регистрация  Забыли пароль?
logo   Блоги рядом:  djei, Прикольні..., Андре Тан

Ни о чем ;)

записки программиста

devblog-avatar2.jpg



Last FM


Содержание страницы

Календарь
Июль
ПнВтСрЧтПтСбВск
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31

Во как



Открыть

Фанатизм маст дай


Почему меня напрягает футбольный фанатизм?

Почему я считаю всех, кто ночью кричит "УРААААА!!! МЫ ПОБЕДИЛИ!!!!" тупыми и ущербными идиотами?

Наверное, потому что такие события не стоят тех эмоций, которые демонстрируют вышеупомянутые имбецилы. Это все равно, что кричать "УРААААА! Я СЕГОДНЯ ОФИГЕННО СХОДИЛ В ТУАЛЕТ!!!" и бесноваться по этому поводу. Ну забили там пару голов. И что? Сие событие заслуживает максимум "а, ну, молодцы" за разговором. Но уж никак не всеобщей истерии с размахиванием флагами.


Открыть | Отметились: 9

Маразм крепчал


Скажите мне ваши ИНН и номер карты ПБ и распрощайтесь со своими деньгами.

Ждем миграции работников отделов кадров в теплые страны на ПМЖ...

UPD: Картинка на закусочку (история операций, оплата в интернете суммы 41.85 USD).


Открыть | Отметились: 3

I'm back (часть вторая)


 Странное дело. Все это время я не мог с работы зайти на ХайБлоггер.

Сначала отвалились поддомены. dig ANY "*.hiblogger.net" говорил "понятия не имею". Первые дни с трудом читал по ссылкам вида hiblogger.net/styx. Потом отвалился и dig ANY hiblogger.net. Причем, только из внутренней сети. Дома все работало, но я прихожу домой уставший + дома жена с крошкой в животике :) в-общем, не до ХБ было.

Вчера все магическим образом заработало... мистика :)


Открыть | Отметились: 8

Баг в PHP с сессиями


 Сегодня обнаружили очень неприятный баг в PHP.

Коротко: при создании файла сессии PHP не проверяет на наличие уже существующего файла с таким именем :(

Длинно:

При открытии сессии PHP:

1. генерит "уникальное" имя сессии, например sess_01234567890abcdef и сохраняет файлик в папку сессий, указанных в php.ini, например в /tmp

2. пишет браузеру куку с именем PHPSESSID и значением "0123456789abcdef".

3. при приходе браузера с кукой PHPSESSID - из нее берется идентификатор сессии ("0123456789abcdef") и сопоставляется с файликом на сервере (sess_0123456789abcdef)

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

Так вот. Сегодня обнаружилось, что при создании сессии PHP совсем не задается вопросом "а есть ли уже сессия с таким идентификатором?". В итоге, PHP может создать сессию (и послать браузеру куку PHPSESSID) с уже имеющимся идентификатором. Немного непонятно, как так получается, по заверениям разработчиков генерируемый SESSID должен быть уникальным. Однако даже md5(microtime(true)) - всего лишь псевдоуникальность, обусловленная спецификой алгоритма хэширования...

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

Как решается эта проблема? На самом деле, очень просто:

Мы вообще отказываемся от механизма сессий в PHP, и используем свой. Генерируем SESSID путем хэширования (лучше sha1) некоторых данных пользователя (user_id вполне подойдет) и случайных данных (например, /dev/urandom). Хранить сессии можно в файлах (обязательно проверяем созданный SESSID на уникальность ;) ), а можно - в БД. Табличка с TYPE=MEMORY вполне сойдет. Попутно можно хранить некую специфическую информацию, связанную с сессией, например, User-agent, IP и т.д. для улучшения персонализации.


Открыть | Отметились: 9

Отдам HTC Touch в хорошие руки


 Собственно, продаю.

Состояние отличное. Возраст - пару месяцев. Карточка на гиг и наушники (ни разу не юзал) в комплекте, равно как и книжечки с дровами и шнурочками.

Причина продажи - апгрейд до iPhone ;)

Описание девайса можно найти тут 

Цена договорная.


Открыть

Back


 Уф... С этой работой вообще выпал из жизни.

Чуть позже все расскажу ;)

А вот такую бесовскую книгу продают в одном из магазинов Киева :)


Открыть | Отметились: 3

Кто прав?


Вспомнился, почему-то, известный вопрос с БОРа:

int i=5;

int x = ++i + ++i;

Чему равно x?

Долго не угорали споры, одни твердили "13", другие "14".

А все-таки?

C++: 14

PHP: 13

А давайте немножко перепишем.

int i=5;

int a=++i;

int b=++i;

int x = a + b;

В итоге, С++ даст 13, как и PHP.

Но все же, кто прав? :)


Открыть | Отметились: 4

Музыка : BloodHoundGang - I hope you die  

Человеческая многозадачность


Очень хорошо описано у Джоэла Спольского вот тут

Приходится частенько показывать начальству, благо оно (начальство) продвинутое и воспринимает правильно ;)


Открыть

Музыка : Dream Theater - Stream of Consciousness  

Что такое деньги?


Довольно известное видео, но, может, кто-то еще не видел.

http://styx.kiev.ua/dl/Money_as_Debt.avi (~363MB)


Открыть

И снова Привет, Приват ;)


siege http://www.privatbank.ua:8085/info/index1.stm

 

** SIEGE 2.66
** Preparing 15 concurrent users for battle.
The server is now under siege...

...


Lifting the server siege... done. Transactions: 65 hits
Availability: 100.00 %
Elapsed time: 32.52 secs
Data transferred: 4.83 MB
Response time: 6.21 secs
Transaction rate: 2.00 trans/sec
Throughput: 0.15 MB/sec
Concurrency: 12.42
Successful transactions: 65
Failed transactions: 0
Longest transaction: 11.18
Shortest transaction: 2.21

Не все еще гладко с этим у ПБ. А если запустить не 1, а 10, с разных серверов, и не на 30 секунд, а на часы...


Открыть

Музыка : Hoobastank - Out Of Control  

Привет, Приват :)


Начитался я всяких страхов, как в Приватбанке деньги воруют и т.д. на всяких блогах и форумах...

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

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

"Выписки"... оппа! На счету гривневой карты на 3000 меньше, чем было час-полтора назад. Обновил статистику (что, обычно, безрезультатно) - картина та же. Хм... деньги я не снимал, SMS-ки не было. Конечно, деньги могла снять жена по дополнительной карте, подключенной к тому же счету, но SMS-то не было...

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

Звоню жене: "Да, снимала". От сердца отлегло, не надо меня вычеркивать из списков "мы-те-у-кого-с-приватом-все-ок" :)

Причины отсутствия SMS выясняются. Подозреваю, что как обычно "что-то глюкнуло, попробуйте еще раз" :)


Открыть | Отметились: 4

Музыка : Hoobastank - Hello Again  

Mounting styx.hiblogger.net :)


Приветствую всех, кто будет сюда забредать ;)

Надеюсь, что отсутствие у меня литературного дара не отпугнет вас. Зато вы сможете почитать про нелегкую (а порой — забавную) жизнь программистов ;)


Открыть | Отметились: 25