Как стать автором
Обновить
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

Информация

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