Как стать автором
Обновить
5
0.2
Роман Давыдкин @Beholder

Java-разработчик

Отправить сообщение

Безопасная загрузка изображений на сервер. Часть первая

Время на прочтение10 мин
Количество просмотров137K
В данной статье демонстрируются основные уязвимости веб-приложений по загрузке файлов на сервер и способы их избежать. В статье приведены самые азы, в врят-ли она будет интересна профессионалам. Но тем неменее — это должен знать каждый PHP-разработчик.

Различные веб-приложения позволяют пользователям загружать файлы. Форумы позволяют пользователям загружать «аватары». Фотогалереи позволяют загружать фотографии. Социальные сети предоставляют возможности по загрузке изображений, видео, и т.д. Блоги позволяют загружать опять же аватарки и/или изображения.

Часто загрузка файлов без обеспечения надлежащего контроля безопасности приводит к образованию уязвимостей, которые, как показывает практика, стали настоящей проблемой в веб-приложениях на PHP.

Проводимые тесты показали, что многие веб-приложения имеют множество проблем с безопасностью. Эти «дыры» предоставляют злоумышленникам обширные возможности совершать несанкционированные действия, начиная с просмотра любого файла на сервере и закачивания выполнением произвольного кода. Эта статья рассказывает об основных «дырах» безопасности и способах их избежать.
Читать дальше →
Всего голосов 77: ↑69 и ↓8+61
Комментарии57

«Python 3 Patterns & Idioms». Новая книга Брюса Эккеля.

Время на прочтение1 мин
Количество просмотров3.6K
Брюс Эккель, автор бэст-сэллеров «Thinkin in Java» и «Thinking in C++», выпустил новую книгу «Python 3 Patterns & Idioms».
Книга доступна в форматах html и Windows Help.
Распространяется по лицензии Creative Commons Attribution-Share Alike 3.0.
Линк
Всего голосов 55: ↑49 и ↓6+43
Комментарии16

Дёшево и сердито блокируем 85% спама: greysmtpd

Время на прочтение3 мин
Количество просмотров3K
Пока я не стал фрилансером, я не знал, что такое спам. У меня хватало ума не светить свой email где попало, а для регистраций на сайтах использовать временные email. И я привык к тому, что вся почта у меня бегает очень быстро, письма никогда не теряются, и никто не жалуется что мой сервер отказался принимать его письмо. Став фрилансером, я оказался вынужден опубликовать свой email, причём на многих сайтах — ведь новые клиенты должны иметь возможность легко со мной связаться. И спам полился… сначала небольшим ручейком, но в последнее время он уже напоминает скорее полноводную реку, чем ручеёк.

Использование традиционных спам-фильтров (RBL, GMail, SpamAssassin, etc.) меня не устроило: все они время от времени ошибаются, и принимают за спам нормальные письма. И не важно, они их давят, возвращают отправителю, или складируют в отдельную папку чтобы я их периодически просматривал — в любом случае есть ненулевая вероятность потерять важное письмо.
Читать дальше →
Всего голосов 54: ↑50 и ↓4+46
Комментарии56

Про хостинг MTW.ru

Время на прочтение2 мин
Количество просмотров3.5K
Сервер Picamatic располагается на площадке этого хостинга. Сегодня утром этот чудо-хостинг нас отключил (сейчас сервер снова работает).

Узнать, почему
Всего голосов 75: ↑70 и ↓5+65
Комментарии250

Реализация Singleton в JAVA

Время на прочтение4 мин
Количество просмотров280K
В этой статье я хочу затронуть тему одного из наиболее распространенных паттернов объектно-ориентированного программирования – Singleton. Но в данном случае я не буду описывать преимущества/недостатки и области применения этого паттерна, а попытаюсь изложить свой взгляд на его имплементацию в JAVA.

Общие сведения
Паттерн Singleton гарантирует, что у класса есть только один экземпляр, и предоставляет к нему глобальную точку доступа.
Читать дальше →
Всего голосов 62: ↑53 и ↓9+44
Комментарии93

Работаем с массивами в JavaScript без велосипедов

Время на прочтение2 мин
Количество просмотров42K
Эту статью я хочу посвятить тонкостям работы с массивами в JavaScript.

Наверное, у каждого JavaScript-разработчика есть фунции (самописные или библиотечные) $ (выбор элемента по id) и $$ (выбор элементов по CSS-классу). Если мы выбираем несколько элементов по CSS-классу, то мы хотим произвести с ними определенные действия. Напрашивается цикл. А если нужна выборка среди них? Преобразования? Действия над нужными элементами? Непростой получается код.

JavaScript не стоит на месте, Mozilla неустанно улучшает JavaSript в своем движке Gecko и грех не пользоваться этими нововведениями. В JavaScript 1.6 добавлены новые полезные методы для упрощения кода, необходимого в вышеописанных ситуациях.
Читать дальше →
Всего голосов 49: ↑44 и ↓5+39
Комментарии57

Исходники Sim City открыты под GNU GPL

Время на прочтение1 мин
Количество просмотров2.3K
Открыты исходники самой первой Sim City под лицензией GNU GPL, причём не под известным всем нам названием (Sim City), а под кодовым Micropolis.

Ссылка на скачивание: www.donhopkins.com/home/micropolis/micropolis-activity-source.tgz

Пока сижу, ковыряюсь. Windows-пользователям на заметку: в архиве есть файл с именем «aux», который, естественно, не распаковывается.

Ссылка на официальную заметку в блоге: link

Версия OLPC SimCity, основанная на этом же коде, после всех согласований с Electronic Arts, будет распространяться бесплатно вместе с ноутбуками OLPC.
Всего голосов 31: ↑26 и ↓5+21
Комментарии17

CSS Sprites: все, что вы знали, но боялись спросить

Время на прочтение1 мин
Количество просмотров6K
Сейчас уже много где написано и упомянуто про технику CSS sprites (aka CSS Image Maps). Я не буду открывать Америку и рассказывать о ней дотошно еще раз, а просто хочу привести несколько примеров и полезных ссылок. И пару советов из собственной практики.

Сама техника заключается в том, что мы создаем комбинированное изображение, из которого затем «вырезаем» с помощью свойств background-position нужный нам в данном случае кусок. На текущем уровне поддержки браузерами (я полагаю, что 99,9%) оно является просто must-have для любого уважающего себя интернет-ресурса (ибо позволяет сократить число запросов к серверу, отделить поведение от представления, возложить труд по анимации на CSS-движок браузера, а не на JS-движок, т.е. это будет работать даже с выключенными скриптами, и много-много прочих «вкусностей»). Но обо всем по порядку. Поехали.

читать дальше на webo.in →
Всего голосов 95: ↑92 и ↓3+89
Комментарии57

Какой-такой «ОпенСурс»?

Время на прочтение1 мин
Количество просмотров1.1K
А вот, кстати, интересная тема проверок лицензий и OpenSource. Может кто-нибудь поделиться практическим опытом взаимодействия, когда к вам с проверкой приходили товарищи из определенного отдела?…
Читать дальше →
Всего голосов 40: ↑40 и ↓0+40
Комментарии100

1С на The Pirate Bay, Активисты просят помощи

Время на прочтение2 мин
Количество просмотров2.6K
Мы знаем человека вошедшего в историю как первого человека, осуждённого в России за использование BitTorrent, нарушая copyright. Сергей Аврамом был в суде в Ростове на Дону, по обвинению в нелегальном распространение пиратского программного обеспечения. Несмотря на того, что его действия совершались абсолютно без личной выгоды, он был признан виновным и получил приговор в 12 месяцев заключения.

Аврамов был обвинён в использовании uTorrent за нелегальное распространение части дорогостоящего программного обеспечения 1C, которое позволяет автоматизировать рутинные бизнес операции. Вполне вероятно Аврамов расстроил не того бизнесмена, выбрав эту необычную программу.

Сейчас некие люди из России, подписывающиеся ‘anti-copyright activists’ ищут тех, кто хотел бы присоединиться к ним, что бы продемонстрировать свой протест против приговора Аврамову. *.torrent файл работающего программного обеспечения 1C сейчас доступен на The Pirate Bay, с подписью
Читать дальше →
Всего голосов 37: ↑32 и ↓5+27
Комментарии155

Why Perl sucks?

Время на прочтение7 мин
Количество просмотров4.8K
Возможно, «sucks» это слишком грубое слово, но по аналогии с
«Why C sucks»
и
«Why C++ sucks»
это, вероятно, подходящий заголовок.

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

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

Итак, вот мой список проблем в Perl:
Читать дальше →
Всего голосов 41: ↑38 и ↓3+35
Комментарии78

Как превратить Firefox в Widefox?

Время на прочтение4 мин
Количество просмотров2.3K


Чего мы хотим добиться — 1680x1050 98 кб

от автора:
Не скажу чтобы широкоформатники имели огромное распространение, но у некоторых на работе, а у некоторых счастливцев и дома есть такие мониторы. У меня например начальство расщедрилось на Apple Cinema 20"
Конечно же разница была прочувствована немедленно, однако в современном web-дизайне очень многие сайты рассчитаны под 1280 точек максимум. Эта статья призвана помочь оптимизировать рабочее пространство популярного браузера и
сделать работу еще приятнее
Всего голосов 23: ↑19 и ↓4+15
Комментарии20

обновился Prototype до версии 1.5.1

Время на прочтение1 мин
Количество просмотров1.1K
Первого мая обновился Prototype до версии 1.5.1
краткий список изменений:
  • полная поддержка CSS3
  • поддержка encode/decode функций в JSON
  • исправлены ошибки версии 1.5

Полный список новшеств и изменений тут

Home</а> | скачать | Документация
Всего голосов 21: ↑20 и ↓1+19
Комментарии13

Java + Struts + AJAX (библиотеки)

Время на прочтение4 мин
Количество просмотров6.1K
искал библиотеки для внедрения ajax-enabled функционаьлности в проект на java и пытался составить сравнительную характеристику. может, кому-нибудь будет интересно. Основной упор делался на то, что проект изначально был написан с использованием Struts.
Читать дальше →
Рейтинг0
Комментарии21

Yahoo вводит синтаксис nocontent для CSS

Время на прочтение1 мин
Количество просмотров1K
Похоже, что у создателей поисковой машины Yahoo сейчас трудное время — различать участки с контентом от навигационных зон на веб-страницах становится всё сложнее. Однако, различение может быть полезным в улучшении качества ранжирования, а также отображении в поисковых результатах более релевантных участков. Yahoo ввела специальный CSS-класс под названием robots-nocontent. Его можно использовать в таких элементах, как <div> или <p>, для извещения поисковому роботу Yahoo, что эта часть страницы не имеет отношения к основному контенту. В соответствующем разделе своего справочника, Yahoo советует использовать этот синтаксис в заголовках, в подвалах, навигационных секциях сайта…

Я, конечно, понимаю заинтересованность команды Yahoo во введении подобного элемента — это действительно может улучшить выдачу результатов. Но мне кажется, что большинство веб-мастеров проигнорируют это нововведение, как раньше произошло с гугловским параметром nofollow. Да и наверняка будут веб-мастера, которые проигнорируют новинку из-за боязни снижения позиции своего сайта в выдаче результатов.
Всего голосов 14: ↑13 и ↓1+12
Комментарии43

Врага надо знать в лицо. Немного общей информации о спаме.

Время на прочтение19 мин
Количество просмотров5K
Спам – нежелательная (не заказанная) корреспонденция, чаще всего рекламного характера, получаемая миллионами пользователей электронной почты ежедневно. В современном мире сложно найти человека, знающего, что такое e-mail и ни разу не столкнувшегося со спамом. Электронная почта и спам стали неотделимыми друг от друга понятиями.
Читать дальше →
Всего голосов 24: ↑19 и ↓5+14
Комментарии161

Об управлении проектами — правила Ашманова (Часть 2)

Время на прочтение1 мин
Количество просмотров4.7K
Правила Ашманова - часть 2
В данной статье Игорь коснется человеческих проблем, возникающих при управлении относительно небольшим проектом, где применять всю мощь науки просто некогда или незачем (нерентабельно).

Как известно, знание немногих принципов часто заменяет знание многих фактов. Вот выработанные Игорем самые общие принципы управления проектами:

А. Кадры решают всё.

Б. Ключ к успеху проекта — передача ответственности участникам проекта.

В. Ключевой момент переключения ответственности — принятие решения.

За подробностями — к оригиналу:
http://www.ashmanov.com/pap/ashrul2/

P.S. Автор рисунка — Артем Попов.
Всего голосов 37: ↑29 и ↓8+21
Комментарии14

Firefox и с чем его едят.

Время на прочтение3 мин
Количество просмотров1.8K
Так получилось, что с самого начала я пользовался mozilla-линейкой интернет-броузеров. Первой моей операционкой, коя обладала графическим интерфейсом, была FreeBSD, под которую иных графических броузеров, кроме netscape communicator я и не знал. Потом были Opera 6, Mozilla 0.9, Mozilla 1.0, Seamonkey 1, Firefox 1, Opera 8, Firefox 1.5, Opera 9, Firefox 2 и Firefox 3 (a1,a2,a3,a5). Довольно богатый опыт, полагаю.

Текущий броузер Firefox 2.0.0.3 вполне устраивает, заметно проигрывая в скорости интерфейса опере, с лихвой отыгрывая оное функционалом.

Собственно, о функционале. Судя по страничке http://firefox.niksite.ru/firefox-config.html , в данный момент активировано около 30и расширений, наиболее интересные из коих я обнаружил из блогов счастливых пользователей. Зачем же нарушать цепочку — опишу, пожалуй, их и я.
Читать дальше →
Всего голосов 32: ↑27 и ↓5+22
Комментарии48

Информация

В рейтинге
2 384-й
Откуда
Тульская обл., Россия
Дата рождения
Зарегистрирован
Активность

Специализация

Fullstack Developer