Как стать автором
Обновить
8
0
EcoDark @EcoDark

Пользователь

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

Текст любой ценой: PDF

Время на прочтение12 мин
Количество просмотров89K
Продолжаем разбирать текстовые форматы на предмет получения текста. Итак, обещанный ранее PDF.

С portable document format'ом не всё так просто, как DOCX или ODT, что мы рассматривали в прошлый раз, но всё же это всё ещё изначально текстовый, а не бинарный формат. Вы удивлены? Тогда давайте посмотрим на то, что там внутри. Дальше действительно много текста.

Читать дальше →
Всего голосов 77: ↑75 и ↓2+73
Комментарии20

Азбука WEB-разработчика

Время на прочтение4 мин
Количество просмотров13K
Небольшой список, самых, на мой взгляд, полезных сайтов для любого WEB-разработчика, интересующегося сферой веб дизайна, верстки и программирования. Думаю каждый среди этого списка найдет для себя сайты, которые надолго войдут в его ленту RSS.

AA List Apart




A List Apart содержит лучшие советы и мнения от лидирующих умов индустрии.
Читать дальше →
Всего голосов 140: ↑132 и ↓8+124
Комментарии47

Текст любой ценой: DOCX и ODT

Время на прочтение4 мин
Количество просмотров62K
Недавно возникла задача получения чистого текста из различных форматов документооборота — будь-то документы Microsoft Word или PDF. Задача была выполнена даже с чуть более широким списком возможных входных данных. Итак, этой статьёй я открываю список публикаций о чтении текста из следующих типов файлов: DOC, DOCX, RTF, ODT и PDF — с помощью PHP без использования сторонних утилит.

Читать дальше →
Всего голосов 113: ↑98 и ↓15+83
Комментарии60

Список полезных инструментов для php разработчика

Время на прочтение10 мин
Количество просмотров147K
PHP один из самых широко используемых языков для создания вебсайтов. PHP фреймворки, такие как Zend, CakePHP, CodeIgniter и т.д и open source классы и библиотеки упростили разработку.
Независимо от того, являетесь ли вы опытным разработчиком или новичком, инструменты, которые вы используете, имеют прямое влияние на вашу продуктивность. Здесь собран список действительно полезных утилит и расширений для PHP разработчиков, которые помогут ускорить разработку, и улучшит итоговое качество кода.
Читать дальше →
Всего голосов 214: ↑200 и ↓14+186
Комментарии131

Защищаемся от HTTP DDoS и прочих Хабраэффектов

Время на прочтение5 мин
Количество просмотров10K
Простой способ защиты от HTTP DDoS — включить syn-cookies и заблокировать подонков. Но что делать если атакует 5к-10к хостов да еще и с динамическими IP? Тут нам на помощь придет frontend-backend архитектура c промежуточным кэшированием! Почему с промежуточным кэшированием? А потому что в моем случае от шквала запросов от frontend'а backend умирал унося за собой систему.
Читать дальше →
Всего голосов 160: ↑152 и ↓8+144
Комментарии55

Сравнение Yii с CodeIgniter

Время на прочтение4 мин
Количество просмотров21K
Как-то я пообещал сравнить Yii с CodeIgniter.

Думаю, на данный момент я достаточно распробовал Yii, чтобы адекватно сравнить
два замечательных фреймворка.

Читать дальше →
Всего голосов 69: ↑64 и ↓5+59
Комментарии132

Недорогой способ защиты от HTTP-флуда

Время на прочтение3 мин
Количество просмотров16K
Случилась на днях, как всегда, не в самый подходящий момент, DDoS-атака на один из сайтов, размещенных на моем сервере. DDoS-атаки бывают разные, в этот раз злоумышленники запустили HTTP флуд.

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

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

Читать дальше →
Всего голосов 51: ↑49 и ↓2+47
Комментарии100

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

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

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

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

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

Скрипт для быстрого обзора информации о жёстких дисках

Время на прочтение1 мин
Количество просмотров3.8K
Решил поделится с хабрасообществом небольшим PHP скриптом, который немного экономит моё время.

Суть проблемы


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

Описание скрипта


Скрипт генерирует список всех жёстких дисков и их разделов. Для каждого раздела выделяется точка монтирования, свободное место на диске в процентах и общая ёмкость раздела. В последствии я добавил отображение текущей температуры жёсткого диска используя пакет hddtemp, как оказалось это очень помогает в определении эффективности охлаждения.

Читать дальше →
Всего голосов 75: ↑64 и ↓11+53
Комментарии58

XSS глазами злоумышленника

Время на прочтение4 мин
Количество просмотров265K
Что такое XSS и как от него защитится все уже давно знают, поэтому буду краток. XSS это возможность злоумышленника определенным образом (ссылку на возможные варианты смотрите в конце статьи) интегрировать в страницу сайта-жертвы скрипт, который будет выполнен при ее посещении.

Интересно, что в большинстве случаев, где описывается данная уязвимость, нас пугают следующим кодом:

http://www.site.com/page.php?var=<script>alert('xss');</script>


Как-то не очень страшно :) Чем же действительно может быть опасной данная уязвимость?
Читать дальше →
Всего голосов 93: ↑87 и ↓6+81
Комментарии41

Краткий обзор движков таблиц MySQL

Время на прочтение3 мин
Количество просмотров77K
Цель этой статьи — дать краткий, очень сжатый обзор движков, для того, чтобы статьей можно было пользоваться при выборе движка на этапе проектирования \ создания \ оптимизации таблицы. Предполагается, что читатель знает суть вопроса по крайней мере поверхностно и способен сам отыскать всю дополнительную информацию (вопросы в комментах можно задавать всегда :) )
Читать дальше →
Всего голосов 123: ↑108 и ↓15+93
Комментарии73

Подсчёт общего количества строк выборке в mySQL при использовании LIMIT

Время на прочтение5 мин
Количество просмотров64K
Один хороший человек хочет попасть на хабр. Для подтверждения своих благих намерений он написал статью, которую я привожу вам.

Наверняка многие знают о существовании в mySQL функции FOUND_ROWS(). Её чаще всего используют для подсчета общего числа строк в таблице, удовлетворяющих заданным условиям. Используют её обычно совместно с директивой SQL_CALC_FOUND_ROWS следующим образом:

Mysql> SELECT SQL_CALC_FOUND_ROWS * FROM table WHERE column > 1 LIMIT 0, 50;
Mysql> SELECT FOUND_ROWS();

Результатом второго запроса будет общее количество строк в таблице «table», удовлетворяющих условию «column > 1» (а не только тех, что были возвращены первым запросом).
Следует учитывать некоторые особенности этой функции, когда используете её без директивы SQL_CALC_FOUND_ROWS, о чём добросовестно предупреждает документация mySQL: в этом случае она вернёт общее количество обработанных строк (не возвращённых!). Например:

Mysql> SELECT * FROM table LIMIT 0, 50;
Mysql> SELECT FOUND_ROWS();

Результатом, как и ожидается, будет «50». Но следующие запросы вернут не слишком ожидаемый результат:

Mysql> SELECT * FROM table WHERE column > 1 LIMIT 50, 50;
Mysql> SELECT FOUND_ROWS();

Несмотря на то, что первый запрос вернёт 50 строк, результатом будет «100», т.к. mySQL пришлось просмотреть именно 100 строк.
Читать дальше →
Всего голосов 67: ↑55 и ↓12+43
Комментарии79

Несколько удобных инструментов для тестирования сайта

Время на прочтение3 мин
Количество просмотров32K
Представляю вашему вниманию обзор нескольких полезных инструментов для всестороннего тестирования сайтов.

Читать дальше →
Всего голосов 95: ↑90 и ↓5+85
Комментарии44

Мощный лазер своими руками за один вечер

Время на прочтение3 мин
Количество просмотров975K
image

Кратко.


Здравствуйте дамы и господа. Сегодня я открываю серию статей, посвященных мощным лазерам, ибо хабрапоиск говорит, что люди ищут подобные статьи. Хочу рассказать, как можно в домашних условиях сделать довольно мощный лазер, а также научить вас использовать эту мощь не просто ради «посветить на облака».

Предупреждение!


В статье описано изготовление мощного лазера (300мВт ~ мощность 500 китайских указок), который может нанести вред вашему здоровью и здоровью окружающих! Будьте предельно осторожны! Используйте специальные защитные очки и не направляйте луч лазера на людей и животных!
Читать дальше →
Всего голосов 499: ↑481 и ↓18+463
Комментарии486

PHP 5.3: обзор

Время на прочтение3 мин
Количество просмотров8.8K
Дни идут чередой, погода улучшается, а между тем PHP 5.3 всё ближе и ближе — надо быть во всеоружии.
Недавно вышел RC2, затем будет RC3, а затем Stable (примерно через месяц).
Читать дальше →
Всего голосов 99: ↑90 и ↓9+81
Комментарии329

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

Время на прочтение3 мин
Количество просмотров6.1K
CakePHP поставляется с кучей полезных хелперов и компонентов, которые обеспечивают удобные инструменты для обработки и манипулирования данными. Эти хелперы значимы не только для пользователя фреймворка, но и могут оказать большую помощь кому-нибудь кто пишет PHP приложения не используя CakePHP.
далее...
Всего голосов 19: ↑14 и ↓5+9
Комментарии22

текст под произвольным углом без флеш и js

Время на прочтение3 мин
Количество просмотров30K
Ранее здесь была представлена статья о том как сделать вертикальный текст картинками, генерируемыми php.

Теперь я хочу вам рассказать о том как сделать поставленную задачу без картинок, флеш и js, только средствами html и css. К тому же стало возможно сделать текст под произвольным углом. В конце статьи есть готовый пример.

вертикальный текст и текст под углом
Читать дальше →
Всего голосов 181: ↑170 и ↓11+159
Комментарии115

Личный тайм-менеджмент

Время на прочтение9 мин
Количество просмотров93K
Почитав недавний топик про лягушек я понял, что Хабрасообщество не очень хорошо ориентируется в вопросах тайм-менеджмента и многие никогда не занимались построением своей тайм-системы.

Поэтому я попробую исправить этот недочёт.

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

Welcome!

Читать дальше →
Всего голосов 194: ↑177 и ↓17+160
Комментарии155

Простое сравнение изображений с помощью php

Время на прочтение3 мин
Количество просмотров27K
Алгоритм возможно не новый, и не является идеалом, но, на удивление, работает. Никаких графов и корелляции.

Для начала, стоит отметить, что сравнение очень приблизительно (по крайней мере, на данном этапе), временами две совершенно разные фотографии оказываются похожими процентов на 60%, так же не учитываются жесткие модификации (повороты, инверсия, обрезка) – для этого нужно доводить и доводить. Лично для меня самым главным оказались два параметра: скорость, независимость от разрешения изображения и возможность сравнивать «изображения» прямо в базе данных.
Читать дальше →
Всего голосов 161: ↑153 и ↓8+145
Комментарии64

Жизнь во фрилансе глазами программиста

Время на прочтение3 мин
Количество просмотров57K
Вот уже два с половиной месяца как я занимаюсь фрилансом, за это время накопился опыт, которым хочу поделиться с общественностью.

Вход


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

Трудности


Читать дальше →
Всего голосов 163: ↑138 и ↓25+113
Комментарии155

Информация

В рейтинге
Не участвует
Откуда
Москва и Московская обл., Россия
Дата рождения
Зарегистрирован
Активность