Мало купить Arduino и написать для него десяток программ, которые мигают светодиодами, реагируют на нажатие кнопок, и измеряют температуру воздуха терморезистором.
Рано или поздно нужно сделать своё первое законченное устройство, от которого будет польза.
Для меня таким устройством стал аппаратно-программный комплекс для снятия данных с датчика силы.
Преобразование значений полей 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, тут вас и подстерегает проблема.
SSL-сертификат Let’s Encrypt на Nginx : UPD
Проект Let’sEncrypt вошёл в стадию публичной беты 3-го декабря 2015 года. Теперь его можно попробовать.
В чём суть проекта: он позволяет выпускать и продлевать SSL сертификаты бесплатно и автоматически.
На счёт “бесплатно” – здесь всё ясно. Можно бесплатно получить сертификат уровня Domain Validation.
А вот на счёт “автоматически” – чуть посложнее. Разберём процесс получения и установки сертификата.
UPD: Увеличена степень “автоматизма” получения сертификата, убраны однообразные ручные операции.
Доступ к вашему домашнему ПК по ssh сквозь NAT
Если у вас дома стоит стационарный компьютер c Debian/GNU Linux или чем-то похожим, то у вас, вероятно, время от времени возникает потребность подключиться к нему по ssh находясь где-то совсем в другом месте. У меня, например, дома стоит системный блок без монитора и клавиатуры, работающий сервером резервного копирования. У вас это может быть рабочий ПК, или что угодно ещё, работающее под Linux.
Домашний ПК обычно входит в локальную сеть, как правило, организуемую с помощью некоего домашнего роутера. При этом доступ к нему из вне (из интернета) обычно невозможен.
Ваш 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 в некоторых случаях может забанить
Защита от взлома Skype и возврат аккаунта после взлома
“-Да ладно, кому нужен мой аккаунт в скайпе?”
“-Да ну, сколько лет пользуюсь, ни разу не взламывали”
“-Ну взломают, и что? Денег у меня на нём нет, брать нечего”
xxx: – Привет
yyy: – привет
xxx: – У меня к тебе просьба, я сразу к делу
yyy: – давай
xxx: – Я хотел у тебя взаймы до завтра попросить
yyy: – скока?
xxx: – 20 тыщ рублей нужно
yyy: – нифигасебе
Похожий диалог может начаться между вами и каждым человеком из вашего списка контактов в Skype, после того, как мошенник завладеет доступом к вашему аккаунту. Попробуйте представить себе, как вы потом будете решать проблему переведённых неизвестно кому денег от десятка-другого человек из вашего списка контактов (уверенных, что переводили деньги они вам), после чего, примите решение, стоит ли читать данную статью 🙂
Анализ безопасности сайта на 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-файлами.
Закругление углов изображений с помощью ImageMagick
Время от времени многие сталкиваются с тем, что нужно закруглить углы некоей картинки, а лучше не одной, а сразу множества.
Например, это бывает нужно, если у вас задача загрузить в интернет-магазин множество товаров с фотографиями, но, как ни прискорбно, товары сфотографированы на белом фоне, а фон сайта – цветной. Немного закруглив углы, можно чуть-чуть улучшить внешний вид магазина (в случае, если закругление углов с помощью CSS на сайте по каким-то причинам делать нельзя).
Как сделать у множества изображений закруглённые углы, причём сделать это “пачкой”, с использованием консоли Linux и минимумом сторонних утилит?