Электронные весы Arduino + HX711 + Python

Мало купить Arduino и написать для него десяток программ, которые мигают светодиодами, реагируют на нажатие кнопок, и измеряют температуру воздуха терморезистором.
Рано или поздно нужно сделать своё первое законченное устройство, от которого будет польза.
Для меня таким устройством стал аппаратно-программный комплекс для снятия данных с датчика силы.

Continue Reading


Преобразование значений полей PHP-форм во вложенные объекты JavaScript

Как известно, чтобы передать в PHP-скрипт данные из HTML-формы в виде массива, нужно использовать ключи вида “field[key]”, например:
[html] <form id=myform>
Пользователь 15:<br>
<input type=hidden name="User[15][id]" value="15"><br>
Имя:<input type=text name="User[15][name]" value="Вася"><br>
Телефон:<input type=text name="User[15][phone]" value="+79991234567"><br>
Пользователь 16:<br>
<input type=hidden name="User[16][id]" value="16"><br>
Имя:<input type=text name="User[16][name]" value="Петя"><br>
Телефон<input type=text name="User[16][phone]" value="+79824445551"><br>
</form>
[/html] Многие PHP-фреймворки при создании HTML-форм, дают имена их элементам подобным образом. Это и понятно, формировать их так – очень просто, при передаче такой формы в PHP-код она превратится в удобный массив вида:

array(
    "User" => array(
        15 => array(
            "name" => "Вася",
            "phone" => "+79991234567"
        ),
        16 => array(
            "name" => "Петя",
            "phone" => "+79824445551"
        ),        
    )
);

Но если вы передаёте его не путём обычной отправки формы, а с помощью Ajax, тут вас и подстерегает проблема.

Continue Reading


SSL-сертификат Let’s Encrypt на Nginx : UPD

Проект Let’sEncrypt вошёл в стадию публичной беты 3-го декабря 2015 года. Теперь его можно попробовать.

В чём суть проекта: он позволяет выпускать и продлевать SSL сертификаты бесплатно и автоматически.

На счёт “бесплатно” – здесь всё ясно. Можно бесплатно получить сертификат уровня Domain Validation.

А вот на счёт “автоматически” – чуть посложнее. Разберём процесс получения и установки сертификата.

UPD: Увеличена степень “автоматизма” получения сертификата, убраны однообразные ручные операции.

Continue Reading


Доступ к вашему домашнему ПК по ssh сквозь NAT

Если у вас дома стоит стационарный компьютер c Debian/GNU Linux или чем-то похожим, то у вас, вероятно, время от времени возникает потребность подключиться к нему по ssh находясь где-то совсем в другом месте. У меня, например, дома стоит системный блок без монитора и клавиатуры, работающий сервером резервного копирования. У вас это может быть рабочий ПК, или что угодно ещё, работающее под Linux.
Домашний ПК обычно входит в локальную сеть, как правило, организуемую с помощью некоего домашнего роутера. При этом доступ к нему из вне (из интернета) обычно невозможен.

Continue Reading


Ваш Fail2Ban вас же и забанил

Для Linux есть замечательная утилита Fail2Ban, которая позволяет банить IP-адреса за подозрительную активность, защищаться таким образом, например, от брутфорса паролей от ssh-аккаунтов, или простым способом бороться с DDOS’ом.

Если вы им ещё не пользуетесь, кратко:

1) Установить можно банально введя

apt-get install fail2ban

после чего вы “из коробки” получите разные виды фильтров для ssh, nginx, mysql, apache, asterisk, exim, postfix, squid и ещё кучи всего.
2) Документация здесь: http://www.fail2ban.org/wiki/index.php/Main_Page

Достаточно установить fail2ban и каждого кто 3 раза будет ошибаться с вводом логина/пароля в ssh будет банить на 10 минут. Такими темпами подобрать пароль быстро не получится, особенно, если он у вас имеет вид “ac5R3&pE_~0)”.

Конечно, вы знаете пароль, и всегда вводите его правильно, а точнее, ваш публичный ключ шифрования записан в ~/.ssh/authorized_keys, поэтому вы заходите на хост без пароля.

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

Continue Reading


Защита от взлома Skype и возврат аккаунта после взлома

“-Да ладно, кому нужен мой аккаунт в скайпе?”
“-Да ну, сколько лет пользуюсь, ни разу не взламывали”
“-Ну взломают, и что? Денег у меня на нём нет, брать нечего”

xxx: – Привет
yyy: – привет
xxx: – У меня к тебе просьба, я сразу к делу
yyy: – давай
xxx: – Я хотел у тебя взаймы до завтра попросить
yyy: – скока?
xxx: – 20 тыщ рублей нужно
yyy: – нифигасебе

Похожий диалог может начаться между вами и каждым человеком из вашего списка контактов в Skype, после того, как мошенник завладеет доступом к вашему аккаунту. Попробуйте представить себе, как вы потом будете решать проблему переведённых неизвестно кому денег от десятка-другого человек из вашего списка контактов (уверенных, что переводили деньги они вам), после чего, примите решение, стоит ли читать данную статью 🙂

Continue Reading


Анализ безопасности сайта на WordPress

После того, как один из сайтов моих знакомых, написанный на WordPress, был несколько раз взломан из-за того, что его совсем не обновляли, я решил что пора бы уже заняться изучением безопасностью сайтов на WordPress вплотную, тем более что мой собственный сайт сделан именно на нём.
После некоторых исследований я остановился на инструменте для анализа безопасности wpscan. Этот инструмент – разработка с открытым исходным кодом, позволяющий проводить проверку сайта на базе WordPress на имеющиеся иязвимости, включая известные уязвимости в темах и плагинах. Официальный сайт: http://wpscan.org/

Далее будет описано как установить wpscan на свою машину с Debian Jessie 8.0
Continue Reading


Генератор текстов / множитель статей на PHP

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

В интернете есть масса сервисов, позволяющих, введя синонимы для различных слов и выражений, сгенерировать случайный вариант текста. Примеры таких сервисов: http://www.linksfarm.ru/pages/226, http://www.seogenerator.ru/tools/.

Краткая суть в том, что указывая {разные|различные} {варианты|способы написания} в [вот|таком] виде, {можно|есть возможность} {получить|создать|сгенерировать} {различные|разнообразные} {варианты|версии} написания {одного и того же |}текста.

Да, в Интернете есть сервисы, позволяющие генерировать такие случайные тексты из таких вот шаблонов, но что если нужен свой собственный?
Continue Reading


Преобразование mp4 в mp3 в консоли Debian Jessie 8.0

Youtube, как известно, хранит в себе не только многочисленные видео с котами и видеоблоггерами, но и неплохие подборки музыки. Например, одно- и двух-часовые Drum’n’Bass миксы, которых великое множество.
Прослушивание музыки в youtube на компьютере или планшете устраивает до тех пор, пока не решишь послушать эту музыку в машине, для чего понадобится флешка с mp3-файлами.

Continue Reading


Закругление углов изображений с помощью ImageMagick

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

Как сделать у множества изображений закруглённые углы, причём сделать это “пачкой”, с использованием консоли Linux и минимумом сторонних утилит?

Continue Reading


Pages:12345