Search
Write a publication
Pull to refresh
16
0
Антон Кузьмин @not_ice

User

Send message

Превентивная защита ваших и не ваших скриптов

Reading time1 min
Views30K
Наверное не ошибусь если скажу, что очень большая часть мегахакерских_взломов основаны на закачке PHP-скрипта в каталог, доступный для записи в него файлов скриптами (0777, например). Это каталоги для заливки фотографий товаров, аватарок и т.п.

Я еще несколько лет назад «допер» до способа предотвратить на корню подобные вещи. Закачать — может и закачают, а воспользоваться не смогут. Это казалось очевидным все это время, но мало кто это реализовывает. К примеру, только в последнем патче популярного форума SMF была добавлена подобная штука.
Поэтому, для тех, кто не задумывался…

Всё просто. Во все каталоги, доступные для записи, закачиваем (или добавляем строчки к существующему) .htaccess с содержимым:

php_flag engine 0
AddType "text/html" .php .cgi .pl .fcgi .fpl .phtml .shtml .php2 .php3 .php4 .php5 .asp .jsp

Этим самым мы отключаем PHP в данном каталоге и заставляем все скрипты отображаться как HTML.
Это можно сделать просто на всякий случай. Лишним уж точно не будет.
Разумеется, только для Apache. Если кто-то знает как подобное реализовать в IIS — напишите. :)

PHPUnit и его Database Extension. Беглый взгляд

Reading time7 min
Views7.3K

Пространное и многословное вступление


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

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

Читать дальше

Memcached — стратегия кеширования

Reading time6 min
Views18K
Хочу поприветствовать хабросообщество. Из приятных впечатлении при регистрации на Хабре — так это атмосфера сказочности, которая бывает только в старых добрых сказках из советского Кинофильма.
Итак, слезы умиления прошли, приступаем. Ниже топик, который привел к инвайту на Хабр.

Memcached применяется для кеширования данных. Это делается для того, чтобы избежать лишних обращений к базе данных, т.е. в Memcached сохраняют результаты запросов. Это ускоряет работу сайта и уменьшают время выдачи страниц.
Кеш кроме преимуществ имеет свои недостатки. Одна из проблем кеша — это его актуальность. В режиме работы «только чтение» трудностей не возникает. Если же мы имеем дело с данными, которые изменяются, или изменяются часто, то эффективность кеширования резко падает.
Читать дальше →

Иллюстрация — как она есть!

Reading time5 min
Views24K
Вы делаете сайт, годовой отчет, рекламные банеры или буклеты?! Во многих случаях вас выручит иллюстрация! Как ни странно, но услуги фотографа стоят намного дороже, чем заказать иллюстрацию на эту же тему! А значит мало того, что дешевле, но и быстрее вы получите готовый макет для дальнейшей с ним работы.

image
картинка для привлечения внимания
иллюстратор — Антон Бугаев

Читать дальше →

Техническая организация хостинга

Reading time4 min
Views16K
В прошлый раз я рассказал о том, как не нужно строить организационную часть хостинга. Сейчас я расскажу о том, как можно организовать техническую.

Есть шесть вещей, на которые опирается любой хостинг-провайдер: Сервер, Панель, Домены, Бухгалтерия, Поддержка, Юридическая организация. Сейчас я расскажу основные варианты выбора.
Читать дальше →

Cufón – используйте шрифты, какие душа пожелает

Reading time4 min
Views91K
Если стоит задача использовать в проекте нестандартный шрифт, то есть возможность пойти несколькими путями:
  1. Ъ-метод – не использовать нестандартные шрифты, достаточно в CSS сказать body {font-family: sans-serif;} и не морочить себе голову.
  2. Быдло-метод – нарезать из ЖПЕГов, картинок с заголовками, ужать посильнее, что б появилась размытость и вставлять вместо текста картинки. Достаточно популярный на наших просторах метод.
  3. W3C-метод – используем @font-family и наслаждаемся красивыми шрифтами без всяких заморочек. Пока этот метод не рассматривают, как рабочий, по причине слабой поддержи со стороны браузера.
  4. sIFR – клевая вещь, наиболее употребляемая на сегодняшний день, но как недостаток – требует наличия Flash-плагина. Хотя это трудно назвать недостатком, но если есть инструмент, позволяющий обойтись без плагинов, то это не может не радовать.
  5. Cufón – самое то. Относительно новый метод, который показывает превосходные результаты. Он и есть герой этой статьи.
Читать дальше →

calendarLite плагин

Reading time3 min
Views1.9K
В одном из моих проектов мне понадобился простой javascript календарь. Но из существующих jQuery плагинов, только один «почти» соответствовал мои требованиям. Решил написать свой плагин — проба пера calendarLite plugin.

Внешний вид calendarLite
Читать дальше

Курс молодого бойца cisco: защищаем периметр маршрутизатором

Reading time4 min
Views64K
Не претендуя на полноту изложения, попробую описать технологии, которыми можно воспользоваться для защиты периметра.

Рассматривать будем IOS с firewall feature set. Этот набор возможностей, как правило, есть во всех IOSах (в которых есть шифрование), кроме самого базового.

Итак, пусть на границе нашей сети стоит машрутизатор cisco, который и призван обеспечивать безопасность наших внутренних ресурсов.

Защищаем трафик.
Читать дальше →

10 рекомендаций по html-верстке электронных писем

Reading time4 min
Views107K
Рекомендация первая: забудьте про блочную верстку. Весь лэйаут должен быть на таблицах. При этом, без крайней необходимости — их тоже лучше не использовать. Также следует выкинуть из головы представления о семантике, сокращенных css-правилах, валидации, плавающих блоках — и прочее. Самый распространенный в РФ почтовый сервис на данный момент (mail.ru) вообще не понимает стили (css). Любые тэги/атрибуты style заменяются на xstyle и не работают. Вообще все.

Так что, фактически, при вёрстке html для почтовой рассылки надо мысленно переместиться в 90-ые годы прошлого века и смело использовать все распространенные приёмы того времени.

Для тех, кто с ними не знаком (как я был) — напомню:
Читать дальше →

Системный подход лидера в работе с командой. Не повторяем ошибок трижды

Reading time7 min
Views20K
Сначала повторяем чужие ошибки, потом делаем свои, потом свои же повторяем ) Итак...

Задачи менеджера проекта (лидера) в работе с командой сводятся к повышению эффективности и снижению себестоимости разработки. Эффективность команды во многом зависит от ее участников. Что мешает нам добиться синергетического эффекта? Пробуем разобраться.

В работе менеджера проектов одно из наиболее ценных качеств – это опыт. Именно опыт формирует интуицию, помогает принимать правильные решения и завершать проекты успехом. Чаще всего наш опыт основан во многом на стандартных ошибках, в стандартных ситуациях. При этом, в текучке проблем, мы придумываем нестандартный выход из них (так проще), и забываем воспользоваться устоявшимся опытом многих предшественников, сведенным в систему. Напрасно. Система «в сознании» позволяет принимать уверенные решения, думать на несколько шагов вперед, и не тратить время на эксперементы с людьми. Описанная ниже схема покажется очевидной многим из нас, но часто мы не берем ее во внимание и совершаем ошибки, которые стоят всем денег.
Читать дальше →

offsetHeight или нечаянный спуск лавины reflow

Reading time5 min
Views12K
В заметке Владимира Токмакова, утверждается:
HTML-элемент в документе может быть скрыт с помощью JavaScript или CSS-свойства display. Логику, заложенную в CSS, воспроизводить в JavaScript сложно и не нужно. Проще запросить offsetHeight объекта (если 0 = элемент скрыт).

Проще-то оно, конечно, проще, вот только какой ценой?

Читать дальше →

7 мощных каруселей изображений для Web-дизайнеров

Reading time2 min
Views85K
Эта статья является коллекцией некоторых мощных каруселей изображений и текстовых материалов, готовых к использованию в ваших Web-проектах. Она включает в себя Agile Carousel, YUI Carousel, JCarousel, iCarousel (jQuery + MooTools) и учебное пособие о том, как реализовать простую карусель наподобие карусели во Flickr, используя Prototype-UI.
Читать дальше →

Хелперы. Полезные манипуляции со строками

Reading time3 min
Views6.7K
CakePHP поставляется с кучей полезных хелперов и компонентов, которые обеспечивают удобные инструменты для обработки и манипулирования данными. Эти хелперы значимы не только для пользователя фреймворка, но и могут оказать большую помощь кому-нибудь кто пишет PHP приложения не используя CakePHP.
далее...

Ещё один способ победить Internet Explorer

Reading time2 min
Views7.8K
Рано или поздно все web-разработчики сталкиваются с ситуацией, когда Internet Explorer становится проблемой, тормозящей разработку проекта. Сайт свёрстан валидно, по стандартам. Нормально отображается в Mozilla, Opera, Safari и других нормальных браузерах. Но. Открываем его в IE. И видим. Как то, что мы подгоняли по пикселям, строго придерживаясь стандартов, размазано по странице. Ладно ещё в IE7 можно более-менее просто подогнать вёрстку (конечно зависит от дизайна), но от IE6 иногда волосы встают дыбом. К счастью, существуют способы, которые позволяют повлиять на ситуацию. Кто-то использует хаки, кто-то — conditional comments. Где-то можно пойти на компромис и упростить задумку дизайнеров, поддерживая пользователей недобраузеров.
Читать дальше →

«CMS Magazine» изучил российский рынок веб-разработок

Reading time2 min
Views1.4K
Аналитический портал «CMS Magazine» подвел итоги первого ежеквартального опроса среди профессиональных участников рынка веб-разработок (http://research.cmsmagazine.ru).

image

В первом опросе приняло участие 227 веб-студий, т. е. около 16% от общего числа компаний, зарегистрированных на проекте «CMS Magazine». Топ-менеджерам веб-студий было задано 12 вопросов. Формат ответов давал возможность рассказать о ситуации в 2008-м году, в 1-м квартале 2009-го и сделать прогноз на 2-й квартал этого года.

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

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

Результаты исследования сопровождаются публичными комментариями представителей веб-студий.

Среди принявших участие в опросе и оставивших комментарии, такие компании, как: «Actis Systems», «Articul Media», «DEFA Interaktiv», «Dot», «X-Project», «Grape», «Аист», «Атилект», «Бизнес Реклама» и многие другие компании.

Комментарии экспертов:

Анна Свердлова, Управляющий директор Actis Wunderman

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

Петр Диденко, Эксперт по Интернет-проектам Microsoft

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

Реализация отправки sms-уведомлений

Reading time3 min
Views16K
В виду достаточно большого парка серверов/свитчей/модемов и иного активного оборудования в конторе, была установленная система мониторинга zabbix и успешно использовалась продолжительное время. Zabbix имеет замечательную возможность отправки уведомлений о возникших проблемах.
Для этого был написан скрипт отправки sms сообщений через шлюз email-to-sms оператора связи, ограничение по количеству смс с одного адреса в сутки было обойдено путем ротации исходящих адресов, работало более или мение сносно, но в последнее время смс сообщения через данный шлюз начали доходить с задержкой порядка 10-15 минут, что уже не очень нравилось.
Итак, было решено организовать отправку уведомлений через собственный GSM-терминал, порывшись в прайсах поставщиков и не обнаружив там подходящих по цене и характеристикам GSM модемов весьма огорчился.
И тут вспомнилось что дома валяется старый Siemens CX65 да еще и data-кабель к нему, после подключения телефона и курения доков по отправке sms сообщений пришел к не очень радостному выводу, оказывается siemens не поддерживает отправку sms в текстовом режиме, команда AT+CMGF=1 возвращает error.
Отправка сообщений в данных аппаратах возможна только в режиме PDU, ради спортивного интереса и для размятия мозгов было решено реализовать эту систему, был написан скрипт для перекодировки в PDU формат сообщений и отправки через телефон.
Читать дальше →

Information

Rating
Does not participate
Location
Новосибирск, Новосибирская обл., Россия
Date of birth
Registered
Activity