Как стать автором
Обновить
97
0

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

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

Легальный Clickjacking ВКонтакте

Время на прочтение1 мин
Количество просмотров116K
Поговорим о виджете для авторизации.

Нам говорят, что:
С помощью виджета для авторизации Вы можете максимально просто предоставить пользователям возможность авторизовываться на Вашем ресурсе.

Также, нам говорят, что:
В результате авторизации виджет возвращает следующие поля: uid, first_name, last_name, photo, photo_rec, hash.

Читать дальше →
Всего голосов 73: ↑67 и ↓6+61
Комментарии52

Как испортить безопасность паролей, следуя советам с Хабра

Время на прочтение3 мин
Количество просмотров94K
В недавней статье «Как надо хешировать пароли и как не надо» было озвучено предложение использовать некий локальный параметр (его еще называют перцем), как еще один рубеж защиты паролей. Несмотря на то, что это решение создает больше проблем, чем решает, большинство комментаторов поддержали эту идею, а несогласных, как водится, заминусовали. Мир в моей голове рухнул и я решил написать эту статью.

Суть


Перец — такая глобальная случайная строка, которая дописывается ко всем паролям (помимо соли). Она секретна (в отличии от соли). Таким образом, получив базу, узнать пароли становится невозможно. И все, казалось бы, хорошо…
Читать дальше →
Всего голосов 278: ↑229 и ↓49+180
Комментарии135

Dokku: самый маленький PaaS

Время на прочтение1 мин
Количество просмотров33K
Dokku — это мини-Heroku, сделанный на базе Docker и состоящий из менее чем 100 строк на Bash.

После установки Вы сможете публиковать свои приложения простым git push. Каждое приложение будет запущено в изолированном контейнере. В конечном итоге у Вас будет своя Heroku-подобная платформа.
Читать дальше →
Всего голосов 40: ↑33 и ↓7+26
Комментарии6

Github + Markdown = Viewdocs

Время на прочтение1 мин
Количество просмотров14K
Для ПО с открытым исходным кодом очень большое значение имеет документация. На своем опыте я убедился, что написание хорошей документации зачастую даже важнее написания тестов.

Когда я перерос README на Github, я рассматривал только 2 варианта для документации: Github Pages и Read the Docs. К сожалению, у меня возникли проблемы с обоими. Главным образом, Read the Docs заставляет меня использовать reStructured Text, а Github Pages подразумевает поддержку отдельной ветки и использование генератора статичных страниц.
Читать дальше →
Всего голосов 34: ↑26 и ↓8+18
Комментарии15

Статические члены класса. Не дай им загубить твой код

Время на прочтение11 мин
Количество просмотров82K
Давно хотел написать на эту тему. Первым толчком послужила статья Miško Hevery "Static Methods are Death to Testability". Я написал ответную статью, но так и не опубликовал ее. А вот недавно увидел нечто, что можно назвать «Классо-Ориентированное Программирование». Это освежило мой интерес к теме и вот результат.

«Классо-Ориентированое Программирование» — это когда используются классы, состоящие только из статических методов и свойств, а экземпляр класса никогда не создается. В этой статье я буду говорить о том, что:
  • это не дает никаких преимуществ по сравнению с процедурным программированием
  • не стоит отказываться от объектов
  • наличие статических членов класса != смерть тестам

Хотя эта статья про PHP, концепции применимы и к другим языкам.
Читать дальше →
Всего голосов 78: ↑65 и ↓13+52
Комментарии48

Продуктивная работа с MySQL в командной строке

Время на прочтение3 мин
Количество просмотров39K
Даже если Вы используете GUI-инструменты для работы с MySQL, однажды Вам предстоит столкнуться с командной строкой. Поэтому полезно знать некоторые трюки, которые облегчают работу.

Примечание: эти команды работают только для Unix/Linux.
Читать дальше →
Всего голосов 109: ↑103 и ↓6+97
Комментарии18

Twitter и подмена отправителя SMS

Время на прочтение1 мин
Количество просмотров8K
За последние два дня, было опубликовано несколько статей о потенциальной возможности писать в чужой Twitter, в котором активирована функция написания твитов через SMS. Было неверно заявлено, что пользователи находящиеся в США, также уязвимы к этой атаке.

Суть в том, что если у пользователя включена возможность писать твиты посредством SMS, злоумышленник, зная номер телефона пользователя, может писать от его имени.
Читать дальше →
Всего голосов 10: ↑7 и ↓3+4
Комментарии2

Анатомия атаки: Как я взломал StackOverflow

Время на прочтение4 мин
Количество просмотров85K
Почти два года назад я наткнулся на довольно значительную уязвимость в сети сайтов StackExchange. Я говорю «наткнулся» потому, что я не пытался взломать сайт. Обстоятельства приоткрыли мне дверь. Сама уязвимость является довольно интересной, и содержит урок для всех, кто создает и занимается поддержкой сайтов или серверной инфраструктуры. Итак, вот история о том, как я взломал StackOverflow
Читать дальше →
Всего голосов 143: ↑127 и ↓16+111
Комментарии52

Поведение INSERT… ON DUPLICATE KEY UPDATE в крайней ситуации

Время на прочтение5 мин
Количество просмотров145K
Несколько недель назад, я работал над проблемой клиента, который столкнулся с падением производительности БД и даже ее отказами, которые происходили приблизительно каждые 4 недели. Ничего особенного в окружении, в железе или запросах. В сущности, большей частью базы данных была одна таблица, в которой присутствовали, кроме прочего, INT AUTO_INCREMENT PRIMARY KEY и UNIQUE KEY.

Запросы, работающие с этой таблицей, почти все были типа INSERT ... ON DUPLICATE KEY UPDATE (далее — INSERT ODKU), где столбцы, перечисленные в INSERT, соответствовали столбцам с UNIQUE KEY. И выполнялись они с частотой, приблизительно 1500-2000 запросов в секунду, непрерывно 24 часа в сутки. Если вы хороши в математике, то наверное, уже догадались в чем дело.
Читать дальше →
Всего голосов 66: ↑65 и ↓1+64
Комментарии38

Ты правда хочешь продолжать заниматься этим, когда тебе исполнится 50 лет?

Время на прочтение2 мин
Количество просмотров80K
Когда я еще был профессиональным программистом, мой коллега однажды спросил меня: «Ты правда хочешь продолжать заниматься этим делом, когда тебе будет 50 лет?».

Я должен сказать, это заставило меня остановиться и подумать.
Читать дальше →
Всего голосов 173: ↑123 и ↓50+73
Комментарии321

Бэкдор в phpMyAdmin

Время на прочтение1 мин
Количество просмотров13K
25 сентября стало известно о компрометации одного из корейских зеркал SourceForge (cdnetworks-kr-1).

В архив phpMyAdmin-3.5.2.2-all-languages.zip, находящийся на этом зеркале был внедрен бэкдор.
Читать дальше →
Всего голосов 39: ↑36 и ↓3+33
Комментарии17

Почему я ненавижу фреймворки

Время на прочтение4 мин
Количество просмотров69K
Я собираюсь сделать Java-веб-приложение (да, это будет Java, по некоторым причинам, которые сейчас озвучивать не хочу). В процессе работы, я оцениваю кучу J2EE portlet-enabled JSR-compliant MVC role-based CMS web service application container фреймворков.

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

Давайте представим, что я решил сделать шкафчик для специй.
Читать дальше →
Всего голосов 363: ↑297 и ↓66+231
Комментарии239

The MicroPHP Manifesto

Время на прочтение5 мин
Количество просмотров1.9K
Распространенное мнение о появлении панка, состоит в том, что панк был реакцией на крайности современного рока, в частности прогрессивного рока того времени. Реальность, безусловно, намного сложнее, но я подозреваю, что доля правды в этом есть. Рок-н-ролл в поздние 60-е и 70-е, похоже, был областью “Золотых Богов”, недоступной простому смертному. Контраст между группами типа Rush и Black Flag был огромен.
Читать дальше →
Всего голосов 79: ↑65 и ↓14+51
Комментарии87

Автозагрузка в PHP: начали за здравие, а кончили за упокой

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

Предисловие переводчика


Данная статья является вольным переводом-пересказом поста The End of Autoloading
. Оригинальная статья не первой свежести, поэтому код приведенный в примерах может быть не актуален. В теме, которую затрагивает статья, самое главное — общий взгляд, а не конкретные примеры.

Предисловие


Автозагрузка в PHP отлично экономит время. Это позволяет писать скрипты не задумываясь о путях к библиотекам, которые вы используете. Но с приходом неймспейсов и под влиянием Java-стиля современных фреймворков ситуация изменилась. В ближайшем будущем автозагрузка будет повсеместно, но без единой выгоды старого ее стиля.
Читать дальше →
Всего голосов 55: ↑40 и ↓15+25
Комментарии116

Информация

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