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

      Простой способ защиты от HTTP DDoS — включить syn-cookies и заблокировать подонков. Но что делать если атакует 5к-10к хостов да еще и с динамическими IP? Тут нам на помощь придет frontend-backend архитектура c промежуточным кэшированием! Почему с промежуточным кэшированием? А потому что в моем случае от шквала запросов от frontend'а backend умирал унося за собой систему.
      Читать дальше →
    • Типограф в FCKEditor

        Пользуетесь FCKEditor и хотите чтоб ваш сайт выглядел хорошо с точки зрения типографики, но не хочется каждый раз куда-то лезть? тогда это для вас, Plugin для FCKEditor который позволяет оттипографить прямо в редакторе.

        За основу моего был взят плагин http://click1.ru/book/tipograf-plagin-k-redaktoru-fck, после того как он у меня сразу не захотел работать пришлось допилить его немного ручками, в результате чего получился мой вариант этого плагина.
        Читать дальше →
      • Ищу сервисы/платформы для нэйминга и/или мозгового штурма

          Здравствуйте.

          Так как я «начинающий стартапер», и чем больше мой проект обретает свои окончательные черты, тем насущнее дает о себе знать проблема наименования, т.е нейминга. Я бы хотел в этом посте собрать ссылки на онлайн-сервисы для нэйминга, ну или для мозгового штурма. Буду очень благодарен, если мне расскажут про то, чего я не знаю или не обратил еще внимания. Думаю, созданный таким образом каталог просто так не пропадет, а будет востребован (хотя бы для поиска идей или импульсов). Интересуют сервисы в зоне .ru, .de, .com, .org, .net, .info итд.

          Вот список, собранный на данный момент
        • RentACoder и карта Payoneer

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

            Читать дальше →
          • Встречер: опыт создания стартапа

              Привет!

              В этом посте я хочу рассказать про тот опыт и понимание, которые накопились за время развития собственного бизнеса за последние 1,5 года. А именно: это проект “Встречер”, бета-версия которого была выпущена в конце февраля-марте — 5 месяцев назад, а сейчас стабильно приносит нам деньги, чтобы содержать команду 5 человек+фрилансеры и дает возможности развиваться дальше.

              Если коротко описать хронологию событий, она выглядит так:

              Читать дальше →
            • Реализация паттерна декоратор на JS

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

                Безусловно, реализовать что-то похожее можно даже за счет только лишь того, что функции в JS являются объектами первого уровня, но мне бы хотелось поделиться реализацией весьма близкой к ГОСТу GoF'у.

                UPD: ссылка на рабочий пример, спасибо Barttos.

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

                Читать дальше →
              • Скругленные углы на чиcтом CSS без JS без картинок с анти-аллиасингом

                  Раз уже пошла такая пьянка бурное обсуждение, то предложу и свой метод скругления углов, с характеристиками, которые можно увидеть в названии топика.

                  Хочу заметить, что это не улучшение какого-то из существующих методов, а совершенно новый (по крайней мере, я нигде не смог найти — наверное, плохо искал ;) метод. В статье 38 статей о создании закругленных углов на сайтах данный метод также не был упомянут.

                  Итак, что же мы имеем: чистый CSS, без единой картинки, без JavaScript (хотя и с ним, для демонстрации, тоже сделаем), с анти-аллиасингом (то есть плавные переходы), прозрачные углы (то есть в фоне может быть что угодно), тянущийся по высоте и ширине и, конечно же, кроссбраузерный метод.

                  Не томи
                • OBOOBS.RU // Open B(.)(.)BS Project — небольшой проект про сиськи (женские)

                    OBOOBS.RU

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

                    Главной целью было сделать неотвратительный ресурс про обнажённых девушек — нам было очень странно от того, что на эту тему не нашлось ничего простого, минималистичного и без невозможного количества порнобаннеров. И мы решили заполнить этот пробел.

                    Сайт копирует модель коллективной фильтрации от bash.org.ru — состоит из двух разделов: Сигнал (отобранные и разбитые по категориям картинки) и Шум (огромное количество картинок, добавленных самими пользователями, выдаётся пользователям рандомно). Время от времени, самые популярные картинки из Шума уходят в Сигнал, «попадают на главную» (заодно и в RSS валятся). Вот и всё. Можно только добавить, что крутится всё на django (nginx, apache+mod_wsgi), postgresql и prototype.

                    Приходите к нам смотреть на красивые сиськи!
                  • Угон JSON

                    • Translation
                    imageВ статье рассматривается метод перехвата данных отдаваемых через JSON с использованием метода "__defineSetter__", Этой уязвимости подвержены сайты JSON с которых: содержит конфиденциальные данные (иначе не спортивно), является валидным JS объектом, отдается по GET запросу. Требования к жертве: браузер поддерживает JavaScript, он включен, поддерживается метод __defineSetter__.
                    Читать дальше →
                  • Делаем скриншоты сайтов

                      Бродя по просторам PHP документации случайно наткнулся на две функции: imagegrabwindow и imagegrabscreen. Они умеют делать скриншоты в Microsoft Windows.
                      Заинтересовало. Кончилось дело тем, что был написан скриптик генерирующий полный скриншот любого сайта.
                      Итак нам необходимы:

                      Читать дальше →
                    • Получение первичной информации о будущем проекте

                        Получение первичной информации о проекте


                        Получение первичной информации о проекте

                        Наверное, самым главным вопросом для клиента и исполнителя является вопрос стоимости проекта. При этом зачастую заказчик обращается сразу в несколько компаний, чтобы выяснить порядок цен и определится с подрядчиком, поэтому вопрос времени, которое он готов затратить на общение с одной студией, для него крайне важен.
                        Читать дальше →
                      • XSS вконтакте

                          Предыстория (можно не читать)


                          Прихожу я сегодня домой и вижу в личке вконтакта 9 сообщений. Т.к. я не особо люблю и не часто посещаю этот ресурс — сие событие было странным. В сообщениях пользователи писали что от меня вконтакте рассылается спам. Плохо, но да ладно, сменил пароль и все… Хотя задумался: старый пароль — 12 символьный цифробуквенный, сбрутить почти нераельно. Комп кристально чист и не заразен… Так в чем же дело?
                          Читать дальше →
                        • Превентивная защита ваших и не ваших скриптов

                            Наверное не ошибусь если скажу, что очень большая часть мегахакерских_взломов основаны на закачке 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 — напишите. :)
                          • Martin Fowler — GUI Architectures. Часть 1

                              Перевод материала Мартина Фаулера. В статье обсуждается общий подход к архитектуре UI и приводятся подробные описания таких шаблонов проектирования, как MVC, MVP, Presentation Model, Forms and Controls, Humble View, Passive View. Статья неплохо прочищает мозг. Для того, чтобы не упустить ни единого нюанса, решил заняться переводом.

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

                              Я не профессиональный переводчик и мог что-то неправильно понять (и даже кое-где сделал пометки в скобках), но вы в любом случае обладаете возможностью прочитать статью в оригинале. Надеюсь, что перевод такой интересной статьи поможет кому-то улучшить свои навыки и расширит кругозор.
                              Прочитать про архитектуру UI!
                            • Преимущества и стоимость внедрения системы Интерактивного Голосового Меню (IVR) (ознакомительная статья)

                                Что такое IVR?


                                Интерактивное Голосовое Меню (IVR) — это система предварительно записанных голосовых сообщений, выполняющая функцию маршрутизации звонков внутри call-центра, пользуясь информацией, вводимой клиентом с помощью тонального набора. Именно такое определение дано на русской википедии. Почему call центра? Да потому что модули речевого взаимодействия всегда немало стоили, и являлись составной частью больших АТС, чаще всего используемых в кол-центрах.
                                Читать дальше →
                              • Как открыть интернет-магазин с голой жопой

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

                                  Не буду растекаться по древу насчет «до 5-7 тыс. у.е. в месяц в качестве физлица вы никому в упор не интересны».

                                  Допустим без юрлица ну никак нельзя, да еще и на сайт с рекламой денег нет.  Что делать? 

                                  По шагам:
                                  1. Изучаете товары (Я.Маркет, запросы в Директ, ближайший рынок) на предмет «что бы такого не слишком приевшегося и конкурентного, но при этом простого в доставке, и чтобы геморроя с гарантиями/лицензиями поменьше.
                                  Хинт: сувениры, игрушки, коллекционеры всех мастей. Берете одну/несколько специфических ниш для отработки.
                                  Не надо брать строительство, окна, бытовую технику/электронику. Там, где кокурентов дофига.

                                  2. Идем на ближайший рынок, торговый комплекс, а лучше отраслевую выставку(там народ крупнее и плотнее).

                                  Читать дальше →
                                • Нюансы сериализации

                                    Думаю многим известны «магические» методы __sleep и __wakeup для управления сериализацией объектов.

                                    Казалось бы все просто:
                                    __sleep вызывается перед сериализацией чтоб можно было убрать ненужные связи (бд, мемкэш и тд).
                                    __wakeup вызывается после unserialize, чтоб можно было автоматом необходимые связи вернуть в зад.

                                    Но есть нюанс. Причем я сталкивался с ним раза 4 за последние 5 лет работы.
                                    Читать дальше →