Как стать автором
Обновить
31
0
Отправить сообщение

Symfony2 Routing. Что новенького?

Время на прочтение6 мин
Количество просмотров5.8K
Недавно вышла Symfony 2 Preview Release. Я хочу рассказать какие изменения претерпела система роутинга во второй ветке фреймворка.
Читать дальше →
Всего голосов 42: ↑34 и ↓8+26
Комментарии19

Кеширование обычными средствами

Время на прочтение2 мин
Количество просмотров6.6K
Сегодня решил сделать то, что собирался уже давно — поставить таки кеширование скриптов у себя на сайте. Все скрипты перед отдачей пользователю собираются в один файл и сжимаются GZIP'ом — все вроде по-уму, но есть проблемка… Браузер отчаянно не хотел кешировать этот выходной скрипт.

Опытным путем было установлено, что PHP устанавливает хидеры запрета кеширования при использовании функции session_start();
Читать дальше →
Всего голосов 41: ↑29 и ↓12+17
Комментарии41

Удаляем трояна, требующего отправку SMS с компьютера

Время на прочтение2 мин
Количество просмотров5.5K
Сегодня с утра на работе сотрудница словила троян, требующий отправки SMS на короткий номер.

Тут должна быть картинка с трояном, но что самое смешное, я не смог запустить его на виртуалке. Даже в автозагрузку его прописывал, ну не хочет работать и всё. В общем, если желающие сделают скриншот, то будет очень неплохо. Сам троян для опытов можно скачать отсюда. При этом я видел окно только мельком, но выглядело оно красиво :)Мне прислали картинку:.
Отправьте SMS

По поводу механизма заражения очень хорошо расписал Olegas, я, соответственно распишу про первую часть, про лечение. Кстати, первоначально было подозрение в том, что это дыра в IE8, на практике оказалось что скорее всего вирус проник через дыру в Java или Flash. Так что, в принципе, не защищён ни один из браузеров. Анализ логов показал, что сайты посещались достаточно безобидные, на каком из них завёлся iframe с дроппером, выяснить не удалось (не все же перебирать, в самом деле).

Читать дальше →
Всего голосов 134: ↑89 и ↓45+44
Комментарии150

Как я уносил домены от одного российского регистратора

Время на прочтение2 мин
Количество просмотров21K
UPD из 2019 года: Важно понимать, что с момента событий прошло 10 лет, за это время могло многое поменяться как в интернетах впринципе (домены RU/РФ, к примеру, носятся между регистраторами безбумажно по коду), так и у webnames (см комментарий представителя).

Всем доброго хабрабудня!
Это пост о том, как я еле унес ноги домены от webnames.
Всем было понятно, что с сентября этот регистратор, мягко говоря, катиться вниз: заявки на регистрацию висят целыми выходными, поддержка не отвечает (точнее отвечает) неделями. Из этого мне стало понятно, что с тонущего корабля надо прыгать на шлюпку или хотя бы за борт.
Я решил унести домены.
Всего голосов 98: ↑91 и ↓7+84
Комментарии77

Учим английский по-новому

Время на прочтение2 мин
Количество просмотров4.2K
Kimir.org

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

Читать дальше →
Всего голосов 97: ↑83 и ↓14+69
Комментарии67

Генератор иконок — Iconizer.net

Время на прочтение1 мин
Количество просмотров6.2K
Недавно я и Тимур Гаффоров запустили наш новый сервис для генерации иконок Iconizer.net.

image

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

Сервис немного похож на наш Preloaders.net, так как выполняет похожие функции. Но, самое главное, он перенял с него простоту дизайна и легкость использования.
Всего голосов 58: ↑48 и ↓10+38
Комментарии57

Склад бесплатных иконок

Время на прочтение1 мин
Количество просмотров164K
Прошелся по закладкам и образовалась такая толстенькая подборочка ресурсов с бесплатными и качественными иконками, с которой спешу поделиться с тобой %username%!

Iconfinder


image


Читать дальше →
Всего голосов 168: ↑151 и ↓17+134
Комментарии39

Доктор Хаус — онлайн и без рекламы

Время на прочтение1 мин
Количество просмотров978
Сделал небольшой и очень простой сайт с единственной целью — дать всем желающим смотреть Доктора Хауса в онлайне и в достойном качестве. Сайт не подразумевает оплаты, рекламы и тому подобного, т.к. изначально делал для себя.
Поток 1500 Кбит, у меня на ноуте в полноэкранном режиме качество не вызывает отторжения.

house.gushin.su
Читать дальше →
Всего голосов 289: ↑233 и ↓56+177
Комментарии158

Шпаргалка по API jQuery 1.4

Время на прочтение1 мин
Количество просмотров6.2K
jquery_1_4_cheat_sheet

Сегодня (14 января) — дата релиза новой версии популярного JavaScript-фреймворка jQuery. К этому событию мы подготовили свою шпаргалку по API новой версии (1.4), которой хотим со всеми поделиться.

Шпаргалка существует в двух вариантах:
  1. Online-вариант с ссылками на описание каждой функции на сайте новой документации
  2. PDF-вариант для распечатки

Читать дальше →
Всего голосов 92: ↑88 и ↓4+84
Комментарии42

Пишем свою реализацию сессий для обработки мертвой сессии перед зачисткой

Время на прочтение3 мин
Количество просмотров4.9K
Мой первый хабратопик, надеюсь, что не последний.

Представим ситуацию: есть корзина покупок на сайте, при добавлении в корзину мы ставим на товар т.н. lock, исключающий его из списка доступных для покупки товаров. Когда клиент удаляет товар из корзины — lock снимается. Но что делать, если пользователь просто закрыл браузер? В таком случае сессия будет удалена сборщиком мусора, а локи так и останутся.

Когда я столкнулся с такой ситуацией, первое что мне пришло в голову — хранить локи и дату доступа в БД и периодически дергать её кроном. Но костыльность этого решения очевидна. А вот ещё бред, с которым я столкнулся при решении сабжа: для сериализации и десереализации сессий используются функции и формат, отличные от функций serialize и unserialize. Приходится делать велосипеды для ансериализации сессии.

Ближе к телу: как решил проблему я…
Читать дальше →
Всего голосов 56: ↑35 и ↓21+14
Комментарии53

sms2twitter гейт за 5 минут

Время на прочтение6 мин
Количество просмотров1.8K
imageЦелью статьи является демонстрация возможностей Python for s60 для работы с смс сообщениями и базами данных. Чтобы было интересней, разберем на реальном примере, создадим приложение, которое будет читать новые сообщения смартфона, парсить их, сохранять в свою базу данных номера телефонов с логинами и паролями, и постить твиты, пришедшие с этих номеров.

Для чего это еще может пригодиться? В наше время смс сервисы используются достаточно широко. Способов их реализации достаточно много. У меня недавно возникла необходимость реализовать сервис, при котором клиенты могли бы посылать смс сообщением номер заказа и в ответ приходил бы его статус. Задача решилась так: за 500 руб., на барахолке был куплен старенький Nokia 7610 в разваливающемся состоянии, у которого не работала половина кнопок, были проблемы со звуком и т. д. Туда была вставлена сим карта от местного оператора с безлимитным смс пакетом. Теперь этот аппарат будет играть роль сервера, который будет работать в режиме 24/7, с бесперебойным источником питания (аккамулятор), и не будет знать проблем с охлаждением :)

Читать дальше →
Всего голосов 71: ↑61 и ↓10+51
Комментарии29

Загрузка браузером нескольких файлов

Время на прочтение5 мин
Количество просмотров30K
Если нужно дать пользователю возможность загрузки нескольких файлов, традиционное решение на данный момент — использовать для этой цели Flash (реже — Java applet или ActiveX). В случае, если соответствующий плагин недоступен, пользователю, как правило, показывают стандартный HTML-элемент для загрузки файла.

Последнюю ситуацию можно улучшить, если использовать встроенную в браузеры возможность множественной загрузки файлов. Из всех браузеров сейчас данную возможность не поддерживает только Internet Explorer (впрочем, мы ещё не видели девятую версию, может там что-то изменится), остальные браузеры — Opera 9 и выше (а так же версии 3.5—6.05), Firefox 3.6+, Chrome 3.0.191.0+ и Safari 4.0.1+ такую возможность предоставляют.

Достаточно написать что-то вроде
Copy Source | Copy HTML
  1. <form enctype="multipart/form-data" method="post">
  2.    <input type="file" min="1" max="9999" name="file[]" multiple="true" />
  3.    <input type="submit" name="submit" />
  4. </form>
PHP оказался готов к такой конструкции (именно для него в параметре «name» стоят квадратные скобки), он просто разложит загружаемые файлы по элементам массива $_FILES, если только мы не используем «Оперу».

К сожалению, «Опера» (ещё с версии 3.5) отправляет, при использовании мультизагрузки, файлы в контейнере «multipart/mixed», который PHP не понимает.

Я попробовал исправить эту ситуацию.
Читать дальше →
Всего голосов 119: ↑107 и ↓12+95
Комментарии67

Как увеличить скорость работы jQuery скрипта

Время на прочтение4 мин
Количество просмотров9K
11 правил, следуя которым можно увеличить производительность скрипта, написанного с использованием jQuery.
Читать дальше →
Всего голосов 108: ↑88 и ↓20+68
Комментарии43

Как я подружил «memcache» и Propel в Symfony

Время на прочтение3 мин
Количество просмотров1.5K
Данная статья написана в продолжении поста «ORM – зло или Как я пытался кэшировать Propel в Symfony» по наводки пользователя remal.
Читать дальше →
Всего голосов 16: ↑14 и ↓2+12
Комментарии11

Делаем правильную платформу или Как повторить Google

Время на прочтение5 мин
Количество просмотров2.7K
Введение
Сегодня я расскажу о проектировании высоко-нагруженных отказоустойчивых систем. Акцент будет поставлен практическую разработку и жареные факты, а не на сухую теорию. После прочтения вы не испугаетесь разработки сервиса с миллиардом пользователей, если у вас будет достаточное количество серверов. Тема весьма обширна, но я постараюсь быть кратким и лаконичным.
Читать дальше →
Всего голосов 131: ↑76 и ↓55+21
Комментарии299

Вращение объектов в 3D

Время на прочтение2 мин
Количество просмотров5K
Приветствую тебя, %username.
image



Сегодня я хочу продемонстрировать возможности замечательного IMagick, и показать как с легкостью можно получить анимированное 3D gif изображение. Это может пригодиться, например в магазинах, которые продают мобильные телефоны, и хотят продемонстрировать покупателям телефон в 3D, без использования Flash.


Читать дальше →
Всего голосов 102: ↑79 и ↓23+56
Комментарии37

Подборка плагинов к jQuery

Время на прочтение2 мин
Количество просмотров5.8K
Вдогонку к этому посту, решил выложить еще одну неплохую и достаточно свежую подборку.

jReject — jQuery Browser Rejection

jReject

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

Еще плагины
Всего голосов 116: ↑98 и ↓18+80
Комментарии28

Как защитить сервер от посетителей из нежелаемых стран

Время на прочтение3 мин
Количество просмотров9.9K
Ко мне очень часто поступают довольно интересные и нестандартные задачи по настройке серверов.

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

В моем случае — надо было заблокировать CN полностью, на RU отдавать полный канал, а на остальные страны — в два раза меньше.

Разумеется, вбивать полностью все подсети руками неудобно, да и они часто меняются. Логичнее всего было сделать это с помощью geoip.
Решение на уровне ядра и на уровне приложения
Всего голосов 46: ↑41 и ↓5+36
Комментарии30

Информация

В рейтинге
Не участвует
Откуда
Россия
Зарегистрирован
Активность