|
Июль | | | 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 |
|
|
| |
|
 |
Почему меня напрягает футбольный фанатизм?
Почему я считаю всех, кто ночью кричит "УРААААА!!! МЫ ПОБЕДИЛИ!!!!" тупыми и ущербными идиотами?
Наверное, потому что такие события не стоят тех эмоций, которые демонстрируют вышеупомянутые имбецилы. Это все равно, что кричать "УРААААА! Я СЕГОДНЯ ОФИГЕННО СХОДИЛ В ТУАЛЕТ!!!" и бесноваться по этому поводу. Ну забили там пару голов. И что? Сие событие заслуживает максимум "а, ну, молодцы" за разговором. Но уж никак не всеобщей истерии с размахиванием флагами.
|
|
|
Скажите мне ваши ИНН и номер карты ПБ и распрощайтесь со своими деньгами.
Ждем миграции работников отделов кадров в теплые страны на ПМЖ...
UPD: Картинка на закусочку (история операций, оплата в интернете суммы 41.85 USD).

|
|
|
Странное дело. Все это время я не мог с работы зайти на ХайБлоггер.
Сначала отвалились поддомены. dig ANY "*.hiblogger.net" говорил "понятия не имею". Первые дни с трудом читал по ссылкам вида hiblogger.net/styx. Потом отвалился и dig ANY hiblogger.net. Причем, только из внутренней сети. Дома все работало, но я прихожу домой уставший + дома жена с крошкой в животике :) в-общем, не до ХБ было.
Вчера все магическим образом заработало... мистика :)
|
|
|
Сегодня обнаружили очень неприятный баг в 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 и т.д. для улучшения персонализации.
|
|
|
Собственно, продаю. Состояние отличное. Возраст - пару месяцев. Карточка на гиг и наушники (ни разу не юзал) в комплекте, равно как и книжечки с дровами и шнурочками. Причина продажи - апгрейд до iPhone ;) Описание девайса можно найти тут Цена договорная.
|
|
|
Уф... С этой работой вообще выпал из жизни. Чуть позже все расскажу ;) А вот такую бесовскую книгу продают в одном из магазинов Киева :)
|
|
|
Вспомнился, почему-то, известный вопрос с БОРа:
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.
Но все же, кто прав? :)
|
|
|
Очень хорошо описано у Джоэла Спольского вот тут
Приходится частенько показывать начальству, благо оно (начальство) продвинутое и воспринимает правильно ;)
|
|
|
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 секунд, а на часы...
|
|
|
Начитался я всяких страхов, как в Приватбанке деньги воруют и т.д. на всяких блогах и форумах...
По мере ознакомления с душещипательными историями не раз проскакивала мысль "как хорошо, что у меня все хорошо"...
5 минут назад, во время перекура, решил зайти в П24. Так, без всяких определенных целей.
"Выписки"... оппа! На счету гривневой карты на 3000 меньше, чем было час-полтора назад. Обновил статистику (что, обычно, безрезультатно) - картина та же. Хм... деньги я не снимал, SMS-ки не было. Конечно, деньги могла снять жена по дополнительной карте, подключенной к тому же счету, но SMS-то не было...
Чем черт не шутит, зашел в историю... ага, полуторанедельной давности... понятно, проехали.
Звоню жене: "Да, снимала". От сердца отлегло, не надо меня вычеркивать из списков "мы-те-у-кого-с-приватом-все-ок" :)
Причины отсутствия SMS выясняются. Подозреваю, что как обычно "что-то глюкнуло, попробуйте еще раз" :)
|
|
|
Приветствую всех, кто будет сюда забредать ;)
Надеюсь, что отсутствие у меня литературного дара не отпугнет вас. Зато вы сможете почитать про нелегкую (а порой — забавную) жизнь программистов ;)
|
|
|
|