Архив рубрики: Публикации

Подключаем 3G/4G-модем к роутеру Wi-Fi: совместимость устройств и пошаговая настройка + параметры для разных операторов

Интернетом USB-модема можно пользоваться сразу на нескольких устройствах — не только на одном компьютере. Для этого нужно подключить модем к роутеру, который поддерживает 3G или 4G (LTE). Как настроить такое соединение? Где искать настройки роутера?

Читать

Ошибка 651 при подключении к интернету «Ростелекома»: причины и способы устранения

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

Читать

Как посмотреть Wi-Fi пароль из командной строки в Ubuntu

Сегодня в статье рассмотрим команды при помощи которых можно увидеть пароль введённый для Wi-Fi сетей в Linux.




Настройки WiFi соединений сохраняются в конфигурационных файлах, хранящихся в директории /etc/NetworkManager/system-connections. В этих же файлах прописаны пароли от Wi-Fi соединений.




В терминале набираем следующую команду, чтобы найти сохраненные Wi-Fi пароли:




sudo grep psk= /etc/NetworkManager/system-connections/*




В результате получим одну или несколько строк для каждого сохраненного Wi-Fi соединения. В конце каждой строки будет запись вида psk=пароль




Просмотр Wi-Fi паролей из командной строки




Вы также можете найти пароль внутри конфигурационного файла соответствующей WiF-i сети. Пример файла с настройками Wi-Fi-соединения.




/etc/NetworkManager/system-connections/имя_Wi-Fi_сети



[endtxt]






2019-06-04T05:43:03
Wi-Fi

10 интересных особенностей Gutenberg, о которых вы можете не знать

В связи с тем, что различные платформы для ведения блогов, такие как Medium, Ghost и Squarespace, постоянно совершенствуются и растут, WordPress пришлось что-то делать для улучшения своего визуального редактора.

Но после введения редактора Gutenberg, WordPress сделал смелый шаг вперед. Это полностью изменило способ использования WordPress.

Хотя Gutenberg подвергся критике в связи с его развертыванием, не позволяйте этому пытаться сделать это. Это будущее WordPress.

Если вы все еще скептически относитесь к Gutenberg, этот пост для вас. Ниже мы покажем вам 10 интересных функций Gutenberg, которые заставят вас переключиться на Gutenberg прямо сейчас.

Откуда мы это знаем?

Ну, мы были на пороге использования Gutenberg, и, обнаружив эти удивительные скрытые функции, мы сделали переключение без колебаний.

Итак, давайте проверим эти функции сейчас.

 

Особенности Gutenberg, о которых вы можете не знать

Функции в этом посте не о том, как изменился макет редактора и что нового. Это больше о скрытых функциях, которые заставят вас сказать «это круто!».

И первый действительно меняет игру.

 

Функция № 1: копирование и вставка из Документов Google в WordPress

Для тех, кто не пишет напрямую в редакторе WordPress, эта функция заставит вас влюбиться в Gutenberg.

Редактор Gutenberg позволяет напрямую копировать и вставлять содержимое из Документов Google в WordPress. Да, включая изображения.

Это действительно большое дело, поскольку классический редактор не всегда вставляет все содержимое, скопированное из Документов Google.

Это также работает с Microsoft Word, Office 365 и Quip.

Вы можете скопировать свой контент напрямую без необходимости его форматирования.

 

Функция № 2: перетащите изображения из папки вашего компьютера

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

С помощью Gutenberg WordPress улучшил это, и теперь он позволяет напрямую перетаскивать изображения с компьютера в редактор.

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

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

 

Функция # 3: Команда слеш для добавления блоков

Как вы, наверное, знаете, редактор Gutenberg в основном вращается вокруг блоков. Если вы хотите добавить заголовок или изображение, вам нужно будет добавить блок для этого.

А чтобы помочь вам быстро добавлять блоки, Gutenberg позволяет вам использовать команду косой черты для добавления блока.

Вот как это работает:

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

Эта функция поможет вам быстро добавлять блоки без необходимости поиска блоков.

 

Функция № 4: Добавить ссылки, просто вставив их

Хотите быстро добавить ссылку?

Просто вставьте ее. В прямом смысле!

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

Нет необходимости нажимать на значок «Добавить ссылку», а затем вставлять его.

Gutenberg — это экономия вашего времени и беспроблемная работа.

 

Функция # 5: HTML-якорь для создания якорных ссылок

Используете ли вы оглавление или переходите по ссылкам в вашем контенте? Классический редактор не позволяет добавлять ссылки перехода или оглавление, поэтому вам придется полагаться на плагины, которые могут этого достичь.

Но с Gutenbergом это совсем другая история.

Вы можете добавить HTML-якорь в Gutenberg для создания якорных ссылок. Другими словами, вы можете добавить ссылки перехода непосредственно.

Вот как вы можете это сделать:

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

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

Следующим шагом является добавление ссылки, которая будет переходить к тексту привязки. Для этого добавьте ссылку с тем же именем, что и текст HTML-привязки.

Эта функция очень вам поможет и позволит вам добавлять переходные ссылки или даже создавать оглавление в ваших постах и ​​страницах.

 

Функция № 6: Верхняя панель инструментов, режим прожектора и полноэкранный режим

WordPress также позаботился о том, чтобы у вас был лучший опыт использования Gutenberg. Это видно по включению верхней панели инструментов, режима прожектора и полноэкранного режима.

Позвольте нам объяснить каждый из них:

 

Верхняя панель инструментов

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

Это может раздражать, и вам может понадобиться единая панель инструментов, которая не отображает панель инструментов форматирования для каждого блока.

Ну, вы можете сделать это в Gutenbergе. При включенной верхней панели инструментов панель инструментов больше не будет отображаться при наведении курсора на любой блок.

Вместо этого, чтобы получить доступ к панели инструментов, вам нужно нажать на блок, и панель инструментов будет видна сверху.

Режим прожектора

Хотите писать без отвлекающих факторов?

Вы можете получить свое творчество через крышу, включив режим прожектора. Если этот режим включен, редактор выделит серым цветом все блоки в редакторе, и только блок, который вы редактируете, будет виден правильно.

Это полезно, если вы хотите сосредоточиться и писать без отвлекающих факторов. Режим прожектора можно отключить, если вы больше не хотите его использовать.

 

Полноэкранный режим

Классический редактор также имеет полноэкранный режим. Так что, как вы можете себе представить, редактор Gutenberg также имеет эту функцию.

Вы можете включить полноэкранный режим, и он удалит меню администратора.

Полноэкранный режим также помогает вам сосредоточиться на контенте и избежать отвлекающих факторов.

 

Функция № 7: сделать редактор полной ширины

Эта функция отсутствовала в классическом редакторе и заставляет многих пользователей WordPress устанавливать плагины компоновщика страниц.

Но с Gutenbergом вы можете сделать редактор на всю ширину.

Некоторые темы WordPress позволяют растянуть некоторые блоки на полную ширину.

Эта функция помогает вам создавать привлекательные страницы с помощью Gutenberg.

 

Функция № 8: Структура документа

Нам очень понравилась эта функция, так как она помогает вам получить общее представление о структуре вашего контента.

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

Это безумно круто и действительно полезно для создания постов с правильными заголовками.

 

Особенность № 9: Многоразовые блоки

Если вы до сих пор любите эти потрясающие функции Gutenberg, то вам это тоже понравится.

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

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

Эта функция может пригодиться, если вы хотите добавить CTA, таблицу или другие подобные блоки.

 

Функция # 10: Расширение функциональности с помощью плагинов Gutenberg

Наконец, с появлением Gutenberg, это помогло разработчикам создавать новые плагины, которые расширяют функциональность редактора Gutenberg.

В репозитории WordPress уже имеется небольшое количество плагинов Gutenberg. Эти плагины имеют несколько действительно удивительных и уникальных блоков, которые еще не являются частью Gutenberg.

Например, Ultimate Blocks приносит некоторые действительно уникальные и новые блоки, которые вы можете использовать для создания еще лучших постов и страниц.

Самое приятное, что он может выполнять задачи нескольких плагинов в одиночку. И вы можете избавиться от некоторых плагинов для таких функций, как оглавление, Click to Tweet, переключение содержимого, содержимое с вкладками, окно уведомлений, отзывы, рейтинги звезд, обратный отсчет и т. д.

 

Заключение

Итак, это был список действительно классных функций Gutenberg, которые заставят вас отказаться от старого классического редактора и пообщаться с крутыми ребятами, которые используют Gutenberg.

Это большой отход от классического редактора, и к нему нужно привыкнуть, но Gutenberg представляет будущее того, куда движется WordPress.

И это делает многое возможным, чего не было раньше. Если вы еще не начали использовать Gutenberg, стоит попробовать.



2019-06-03T17:00:23
Лучшие учебники по Wodpress

Как убрать водяной знак «Активация Windows» в «десятке» навсегда

Не все в восторге от надписи «Активация Windows» в «десятке», которая может то появляться, то исчезать, взывая написать лицензионный ключ ОС в «Параметрах». Для многих она как бельмо на глазу — мешает читать информацию в правом углу экрана. Избавиться от неё можно — и без активации «Виндовс», о которой так просит водяной знак.

Читать

💉 Что такое SQL-инъекция и как ее предотвратить в PHP-приложениях

Если вы уже знаете, что такое SQL-инъекция, смело переходите ко второй половине статьи.

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

Что такое SQL-инъекция?

Ключ к пониманию SQL-инъекций находится в его названии: SQL + Injection.

Слово «инъекция» здесь не имеет каких-либо медицинских коннотаций, а скорее является использованием глагола «внедрить».

Вместе эти два слова воплощают идею внедрения SQL в веб-приложение.

Ввод SQL в веб-приложение. , , ммм , , Разве это не то, что мы делаем в любом случае?

Да, но мы не хотим, чтобы злоумышленник управлял нашей базой данных.

Давайте разберемся с этим на примере.

Допустим, вы создаете типичный веб-сайт PHP для местного магазина электронной коммерции, поэтому вы решили добавить контактную форму, например:

<form action="record_message.php" method="POST">

  <label>Your name</label>

  <input type="text" name="name">



  <label>Your message</label>

  <textarea name="message" rows="5"></textarea>



  <input type="submit" value="Send">

</form>

И давайте предположим, что файл send_message.php хранит все в базе данных, чтобы владельцы магазина могли читать пользовательские сообщения.

Например такой код:

<?php



$name = $_POST['name'];

$message = $_POST['message'];



// check if this user already has a message

mysqli_query($conn, "SELECT * from messages where name = $name");



// Other code here

Итак, вы сначала пытаетесь увидеть, есть ли у этого пользователя непрочитанное сообщение. Запрос SELECT * from messages where name = $name, кажется достаточно простым, верно?

НЕПРАВИЛЬНО!

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

Для этого злоумышленнику необходимо выполнить следующие условия:

  • Приложение работает на базе данных SQL (сегодня почти каждое приложение работает на SQL)
  • Текущее подключение к базе данных имеет разрешения «редактировать» и «удалять» в базе данных.
  • Названия важных таблиц можно угадать

Третий момент означает, что теперь, когда злоумышленник знает, что вы управляете магазином электронной коммерции, вы, скорее всего, сохраните данные заказа в таблице orders.

Вооружившись всем этим, все, что нужно сделать злоумышленнику, это указать имя:

Joe; truncate orders;

Давайте посмотрим, каким будет запрос, когда он будет выполнен скриптом PHP:

SELECT * FROM messages WHERE name = Joe; truncate orders;

Хорошо, в первой части запроса есть синтаксическая ошибка (без кавычек вокруг «Joe»), но точка с запятой вынуждает движок MySQL начать интерпретацию нового: truncate orders.

Просто так, одним махом, вся история заказов исчезла!

Теперь, когда вы знаете, как работает SQL-инъекция, пришло время посмотреть, как это остановить. Для успешного внедрения SQL необходимо выполнить два условия:

  1. Скрипт PHP должен иметь права на изменение / удаление базы данных. Я думаю, что это верно для всех приложений, и вы не сможете сделать ваши приложения доступными только для чтения. И подумайте, что, даже если мы удалим все привилегии на изменение, SQL-инъекция все еще может позволить кому-то запускать запросы SELECT и просматривать всю базу данных, включая конфиденциальные данные. Другими словами, снижение уровня доступа к базе данных не работает, ведь ваше приложение все равно нуждается в этом.
  2. Пользовательский ввод обрабатывается. Единственный способ внедрения SQL-кода – это когда вы принимаете данные от пользователей. Еще раз, не практично останавливать все входные данные для вашего приложения только потому, что вы беспокоитесь о внедрении SQL.

Предотвращение внедрения SQL инъекуции в PHP

Теперь, учитывая, что соединения с базой данных, запросы и пользовательские вводы являются частью жизни БД, то как мы можем предотвратить внедрение SQL?

К счастью, это довольно просто, и есть два способа сделать это:

1) очистить пользовательский ввод и 2) использовать подготовленные операторы.

Пользовательский ввод

Если вы используете более старую версию PHP (5.5 или ниже, и это часто случается на виртуальном хостинге), было бы целесообразно выполнить весь пользовательский ввод с помощью функции mysql_real_escape_string ().

В основном то, что он делает, это удаление всех специальных символов в строке, так что они теряют свое значение при использовании базой данных.

Например, если у вас есть строка, похожая на строку «I’m a strin», злоумышленник может использовать символ одинарной кавычки (‘) для манипулирования создаваемым запросом к базе данных и вызывать SQL-инъекцию.

Запуск его через mysql_real_escape_string () приводит к появлению строки, которая добавляет обратную косую черту к одиночной кавычке, избегая ее.

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

У этого подхода есть один недостаток: это действительно очень старая техника, которая согласуется со старыми формами доступа к базе данных в PHP.

Начиная с PHP 7, этой функции больше не существует, что подводит нас к следующему решению.

Используйте готовые операторы

Подготовленные операторы – это способ сделать запросы к базе данных более безопасными и надежными.

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

Это то, что мы подразумеваем под «подготовкой».

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

Это отнимает любую особую мощность, которую могут иметь входные данные, в результате чего они будут рассматриваться как простые переменные (или полезные нагрузки, если хотите) во всем процессе.

Вот как выглядят подготовленные операторы:

<?php

$servername = "localhost";

$username = "username";

$password = "password";

$dbname = "myDB";



// Create connection

$conn = new mysqli($servername, $username, $password, $dbname);



// Check connection

if ($conn->connect_error) {

    die("Connection failed: " . $conn->connect_error);

}



// prepare and bind

$stmt = $conn->prepare("INSERT INTO MyGuests (firstname, lastname, email) VALUES (?, ?, ?)");

$stmt->bind_param("sss", $firstname, $lastname, $email);



// set parameters and execute

$firstname = "John";

$lastname = "Doe";

$email = "john@example.com";

$stmt->execute();



$firstname = "Mary";

$lastname = "Moe";

$email = "mary@example.com";

$stmt->execute();



$firstname = "Julie";

$lastname = "Dooley";

$email = "julie@example.com";

$stmt->execute();



echo "New records created successfully";



$stmt->close();

$conn->close();

?>

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

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

Предупреждение: будьте осторожны при настройке PDO

Используя PDO для доступа к базе данных, мы можем впасть в ложное чувство безопасности. «Ах, хорошо, я использую PDO. Теперь мне не нужно думать ни о чем другом », – таково наше мышление.

Это правда, что PDO (или подготовленные MySQLi операторы) достаточно для предотвращения всевозможных SQL-атак, но вы должны быть осторожны при его настройке.

Обычно просто скопируйте и вставьте код из учебников или из ваших предыдущих проектов и двигайтесь дальше, но этот параметр может отменить все:

$dbConnection->setAttribute(PDO::ATTR_EMULATE_PREPARES, true);

Решение простое: убедитесь, что для этой эмуляции установлено значение false.

$dbConnection->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);

Теперь PHP-скрипт вынужден использовать подготовленные операторы на уровне базы данных, предотвращая всевозможные SQL-инъекции.

Предотвращение SQLi с использованием WAF

Знаете ли вы, что вы также можете защитить веб-приложения от внедрения SQL с помощью WAF (брандмауэр веб-приложений)?

И не только SQL-инъекция, но и многие другие уязвимости уровня 7, такие как межсайтовый скриптинг, неправильная аутентификация, межсайтовая подделка, раскрытие данных и т. д.

Вы можете использовать самодостаточный хостинг, такой как Mod Security, или облачный, как показано ниже.

Заключение

SQL-инъекция – очень неприятная атака на веб-приложение, но ее легко избежать.

Как мы увидели в этой статье, осторожность при обработке пользовательского ввода (кстати, SQL-инъекция – не единственная угроза, которую приносит обработка пользовательского ввода) и запрос базы данных – это все, что нужно сделать.

Тем не менее, мы не всегда работаем над безопасностью веб-фреймворка, поэтому лучше знать об этом типе атаки и не поддаваться ей.

Статьи по теме:

 



2019-06-03T11:42:45
Закрытие уязвимостей