<?xml version="1.0" encoding="utf-8" ?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:tt="http://teletype.in/" xmlns:opensearch="http://a9.com/-/spec/opensearch/1.1/"><title>Bogdan</title><subtitle>В первую очередь программист.</subtitle><author><name>Bogdan</name></author><id>https://teletype.in/atom/kleindberg</id><link rel="self" type="application/atom+xml" href="https://teletype.in/atom/kleindberg?offset=0"></link><link rel="alternate" type="text/html" href="https://teletype.in/@kleindberg?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=kleindberg"></link><link rel="next" type="application/rss+xml" href="https://teletype.in/atom/kleindberg?offset=10"></link><link rel="search" type="application/opensearchdescription+xml" title="Teletype" href="https://teletype.in/opensearch.xml"></link><updated>2026-04-28T09:22:08.808Z</updated><entry><id>kleindberg:laravel-11</id><link rel="alternate" type="text/html" href="https://teletype.in/@kleindberg/laravel-11?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=kleindberg"></link><title>Создание проекта на Laravel 11</title><published>2023-02-20T13:30:03.093Z</published><updated>2024-08-13T17:28:40.298Z</updated><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://img4.teletype.in/files/39/bd/39bd55e5-9543-4c84-b7d4-ea81d2196624.png"></media:thumbnail><category term="devs" label="Разработка"></category><summary type="html">&lt;img src=&quot;https://img2.teletype.in/files/9e/f5/9ef5cb1c-1c32-4023-9cfc-9121e9e1fce2.png&quot;&gt;Далее проверяем, чтобы в PATH были указаны пути к PHP, Composer и NodeJS. Если следовать указаниям установщиков, то это всё сделается автоматически. Возможно, понадобится перезагрузка компьютера.</summary><content type="html">
  &lt;h3 id=&quot;DQDD&quot;&gt;Краткая инструкция, как создать новый пустой проект на Laravel 11 под Windows.&lt;/h3&gt;
  &lt;h3 id=&quot;kpNC&quot;&gt;&lt;/h3&gt;
  &lt;h3 id=&quot;zePx&quot;&gt;Шаг 1. Настройка ПО:&lt;/h3&gt;
  &lt;ol id=&quot;tryP&quot;&gt;
    &lt;li id=&quot;r3d3&quot;&gt;Установить и настроить сервер &lt;a href=&quot;https://biblprog.org.ua/ua/open_server/&quot; target=&quot;_blank&quot;&gt;OSPanel&lt;/a&gt; или &lt;a href=&quot;https://laragon.org/&quot; target=&quot;_blank&quot;&gt;Laragon&lt;/a&gt; (рекомендую).&lt;/li&gt;
    &lt;li id=&quot;1svq&quot;&gt;Установить &lt;a href=&quot;https://getcomposer.org/download/&quot; target=&quot;_blank&quot;&gt;Composer&lt;/a&gt; указав путь к PHP (есть в папке с сервером).&lt;/li&gt;
    &lt;li id=&quot;XypG&quot;&gt;Установить &lt;a href=&quot;https://nodejs.org/en/download/current/&quot; target=&quot;_blank&quot;&gt;NodeJS&lt;/a&gt;.&lt;/li&gt;
    &lt;li id=&quot;KZR7&quot;&gt;Установить улучшенный терминал &lt;a href=&quot;https://learn.microsoft.com/ru-ru/powershell/scripting/install/installing-powershell-on-windows?view=powershell-7.3#msi&quot; target=&quot;_blank&quot;&gt;PowerShell 7&lt;/a&gt;.&lt;/li&gt;
    &lt;li id=&quot;gWYI&quot;&gt;Установить IDE для разработки - &lt;a href=&quot;https://www.jetbrains.com/ru-ru/phpstorm/download/&quot; target=&quot;_blank&quot;&gt;PHPStorm&lt;/a&gt; (рекомендую) или &lt;a href=&quot;https://code.visualstudio.com/&quot; target=&quot;_blank&quot;&gt;VS Code&lt;/a&gt;.&lt;/li&gt;
  &lt;/ol&gt;
  &lt;blockquote id=&quot;ReKs&quot;&gt;Далее проверяем, чтобы в PATH были указаны пути к PHP, Composer и NodeJS. Если следовать указаниям установщиков, то это всё сделается автоматически. Возможно, понадобится перезагрузка компьютера.&lt;/blockquote&gt;
  &lt;figure id=&quot;yDFT&quot; class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://img2.teletype.in/files/9e/f5/9ef5cb1c-1c32-4023-9cfc-9121e9e1fce2.png&quot; width=&quot;1115&quot; /&gt;
    &lt;figcaption&gt;Чтобы убедиться, что всё сделали правильно вводим в Терминале команды php -v, node -v и composer -v.&lt;/figcaption&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;TNz7&quot;&gt;&lt;/p&gt;
  &lt;h3 id=&quot;9zki&quot;&gt;Шаг 2. Создание нового проекта&lt;/h3&gt;
  &lt;p id=&quot;HUZf&quot;&gt;Имея установленный Composer выполняем в Терминале следующую команду:&lt;/p&gt;
  &lt;pre id=&quot;xo2q&quot; data-lang=&quot;shell&quot;&gt;composer create-project laravel/laravel mysite.com
cd mysite.com&lt;/pre&gt;
  &lt;p id=&quot;SiUt&quot;&gt;Добавляем возможность регистрации и авторизации на основе &lt;strong&gt;Bootstrap 5&lt;/strong&gt;:&lt;/p&gt;
  &lt;pre id=&quot;4fc3&quot; data-lang=&quot;shell&quot;&gt;composer require laravel/ui --dev
php artisan ui bootstrap --auth&lt;/pre&gt;
  &lt;p id=&quot;dUpq&quot;&gt;Выполняем установку необходимых плагинов:&lt;/p&gt;
  &lt;pre id=&quot;2h0w&quot; data-lang=&quot;shell&quot;&gt;npm install
npm run dev&lt;/pre&gt;
  &lt;p id=&quot;Pu1v&quot;&gt;Заполняем свои данные для подключения к БД в фале &lt;strong&gt;.env&lt;/strong&gt;&lt;/p&gt;
  &lt;pre id=&quot;5xQC&quot; data-lang=&quot;shell&quot;&gt;DB_CONNECTION=mysql
DB_HOST=kghost.mysql.tools
DB_PORT=3306
DB_DATABASE=my_database
DB_USERNAME=my_admin
DB_PASSWORD=sUper&amp;amp;PassWord&lt;/pre&gt;
  &lt;p id=&quot;ub97&quot;&gt;...и запускаем миграции:&lt;/p&gt;
  &lt;pre id=&quot;bntS&quot; data-lang=&quot;shell&quot;&gt;php artisan migrate&lt;/pre&gt;
  &lt;p id=&quot;EXm2&quot;&gt;Готово, теперь открываем папку mysite.com в IDE и начинаем редактирование кода.&lt;/p&gt;
  &lt;p id=&quot;e1UI&quot;&gt;&lt;/p&gt;
  &lt;h3 id=&quot;SxI5&quot;&gt;Шаг 3. Исправление ошибок&lt;/h3&gt;
  &lt;p id=&quot;1Ufy&quot;&gt;На некоторых хостингах может возникнуть вот такая ошибка во время работы с базой данных:&lt;/p&gt;
  &lt;blockquote id=&quot;t0pA&quot;&gt;Ошибка SQLSTATE[42000]: Syntax error or access violation: 1231 Variable &amp;#x27;sql_mode&amp;#x27; can&amp;#x27;t be set to the value of &amp;#x27;NO_AUTO_CREATE_USER&amp;#x27;...&lt;/blockquote&gt;
  &lt;p id=&quot;X6KH&quot;&gt;Нужно в файл &lt;strong&gt;config/database.php&lt;/strong&gt; добавить &amp;#x27;modes&amp;#x27;:&lt;/p&gt;
  &lt;pre id=&quot;4MRn&quot; data-lang=&quot;php&quot;&gt;&amp;#x27;mysql&amp;#x27; =&amp;gt; [
            &amp;#x27;driver&amp;#x27; =&amp;gt; &amp;#x27;mysql&amp;#x27;,
            &amp;#x27;url&amp;#x27; =&amp;gt; env(&amp;#x27;DATABASE_URL&amp;#x27;),
            &amp;#x27;host&amp;#x27; =&amp;gt; env(&amp;#x27;DB_HOST&amp;#x27;, &amp;#x27;127.0.0.1&amp;#x27;),
            &amp;#x27;port&amp;#x27; =&amp;gt; env(&amp;#x27;DB_PORT&amp;#x27;, &amp;#x27;3306&amp;#x27;),
            &amp;#x27;database&amp;#x27; =&amp;gt; env(&amp;#x27;DB_DATABASE&amp;#x27;, &amp;#x27;forge&amp;#x27;),
            &amp;#x27;username&amp;#x27; =&amp;gt; env(&amp;#x27;DB_USERNAME&amp;#x27;, &amp;#x27;forge&amp;#x27;),
            &amp;#x27;password&amp;#x27; =&amp;gt; env(&amp;#x27;DB_PASSWORD&amp;#x27;, &amp;#x27;&amp;#x27;),
            &amp;#x27;unix_socket&amp;#x27; =&amp;gt; env(&amp;#x27;DB_SOCKET&amp;#x27;, &amp;#x27;&amp;#x27;),
            &amp;#x27;charset&amp;#x27; =&amp;gt; &amp;#x27;utf8mb4&amp;#x27;,
            &amp;#x27;collation&amp;#x27; =&amp;gt; &amp;#x27;utf8mb4_unicode_ci&amp;#x27;,
            &amp;#x27;prefix&amp;#x27; =&amp;gt; &amp;#x27;&amp;#x27;,
            &amp;#x27;prefix_indexes&amp;#x27; =&amp;gt; true,
            &amp;#x27;strict&amp;#x27; =&amp;gt; true,
            &amp;#x27;engine&amp;#x27; =&amp;gt; &amp;#x27;InnoDb&amp;#x27;,
            &amp;#x27;modes&amp;#x27;  =&amp;gt; [
                &amp;#x27;ONLY_FULL_GROUP_BY&amp;#x27;,
                &amp;#x27;STRICT_TRANS_TABLES&amp;#x27;,
                &amp;#x27;NO_ZERO_IN_DATE&amp;#x27;,
                &amp;#x27;NO_ZERO_DATE&amp;#x27;,
                &amp;#x27;ERROR_FOR_DIVISION_BY_ZERO&amp;#x27;,
                &amp;#x27;NO_ENGINE_SUBSTITUTION&amp;#x27;,
            ],
            &amp;#x27;options&amp;#x27; =&amp;gt; extension_loaded(&amp;#x27;pdo_mysql&amp;#x27;) ? array_filter([
                PDO::MYSQL_ATTR_SSL_CA =&amp;gt; env(&amp;#x27;MYSQL_ATTR_SSL_CA&amp;#x27;),
            ]) : [],
        ],&lt;/pre&gt;
  &lt;section style=&quot;background-color:hsl(hsl(0, 0%, var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;p id=&quot;e01P&quot;&gt;Обязательно укажите &lt;code&gt;&amp;#x27;engine&amp;#x27; =&amp;gt; &amp;#x27;InnoDb&amp;#x27;,&lt;/code&gt; чтобы в будущем не возникало ошибок (по умолчанию, эта опция не указана).&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;ZaP7&quot;&gt;Далее может возникнуть ошибка&lt;/p&gt;
  &lt;blockquote id=&quot;YPGO&quot;&gt;SQLSTATE[42000]: Syntax error or access violation: 1071 Specified key was too long; max key length is 1000 bytes...&lt;/blockquote&gt;
  &lt;p id=&quot;ww0R&quot;&gt;Для этого в файл &lt;strong&gt;app/Providers/AppServiceProvider.php&lt;/strong&gt; добавляем код:&lt;/p&gt;
  &lt;pre id=&quot;vwmK&quot; data-lang=&quot;php&quot;&gt;use Illuminate\Support\Facades\Schema;

public function boot(): void {
    Schema::defaultStringLength(191);
}&lt;/pre&gt;
  &lt;p id=&quot;Y4gc&quot;&gt;Готово!&lt;/p&gt;

</content></entry><entry><id>kleindberg:protect-wordpress-with-cloudflare</id><link rel="alternate" type="text/html" href="https://teletype.in/@kleindberg/protect-wordpress-with-cloudflare?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=kleindberg"></link><title>Как защитить WordPress с помощью CloudFlare?</title><published>2022-03-07T19:40:21.234Z</published><updated>2022-03-07T19:40:21.234Z</updated><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://img3.teletype.in/files/a7/ec/a7ec287a-c134-401f-8da4-5b04d4793ab2.png"></media:thumbnail><category term="devs" label="Разработка"></category><summary type="html">&lt;img src=&quot;https://img3.teletype.in/files/60/e2/60e24382-ef1e-4c04-8528-1ea7207329f8.jpeg&quot;&gt;Несколько полезных правил для файервола которые помогут отбить атаку ботов и спамеров на ваш сайт под управлением WordPress.</summary><content type="html">
  &lt;p id=&quot;zPsN&quot; data-align=&quot;center&quot;&gt;Несколько полезных правил для файервола которые помогут отбить атаку ботов и спамеров на ваш сайт под управлением WordPress.&lt;/p&gt;
  &lt;figure id=&quot;ILBh&quot; class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://img3.teletype.in/files/60/e2/60e24382-ef1e-4c04-8528-1ea7207329f8.jpeg&quot; width=&quot;3840&quot; /&gt;
  &lt;/figure&gt;
  &lt;section style=&quot;background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;p id=&quot;UGSP&quot;&gt;Содержание:&lt;/p&gt;
    &lt;nav&gt;
      &lt;ul&gt;
        &lt;li class=&quot;m_level_1&quot;&gt;&lt;a href=&quot;#pXin&quot;&gt;1. Уменьшаем количество спама в комметариях&lt;/a&gt;&lt;/li&gt;
        &lt;li class=&quot;m_level_1&quot;&gt;&lt;a href=&quot;#Ibnd&quot;&gt;2. Запрещаем прямой доступ к плагинам&lt;/a&gt;&lt;/li&gt;
        &lt;li class=&quot;m_level_1&quot;&gt;&lt;a href=&quot;#tiHK&quot;&gt;3. Блокируем доступ к форме авторизации&lt;/a&gt;&lt;/li&gt;
        &lt;li class=&quot;m_level_1&quot;&gt;&lt;a href=&quot;#OXso&quot;&gt;4. Блокируем доступ к xmlrpc.php&lt;/a&gt;&lt;/li&gt;
        &lt;li class=&quot;m_level_1&quot;&gt;&lt;a href=&quot;#7rnM&quot;&gt;5. Блокируем доступ к админпанели wp-admin&lt;/a&gt;&lt;/li&gt;
        &lt;li class=&quot;m_level_1&quot;&gt;&lt;a href=&quot;#jjLb&quot;&gt;Решения в виде плагинов&lt;/a&gt;&lt;/li&gt;
      &lt;/ul&gt;
    &lt;/nav&gt;
  &lt;/section&gt;
  &lt;p id=&quot;817n&quot;&gt;Для активации этих правил ваш сайт должен быть подключён к CloudFlare. Заходим в меню &lt;strong&gt;Firewall -&amp;gt; Firewall Rules&lt;/strong&gt; и создаём следующие записи (в бесплатном тарифе нам доступны только 5 правил).&lt;/p&gt;
  &lt;section style=&quot;background-color:hsl(hsl(34,  84%, var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;p id=&quot;NP6g&quot;&gt;&lt;strong&gt;Важно:&lt;/strong&gt; site.com в примерах заменяем на ваш домен.&lt;/p&gt;
  &lt;/section&gt;
  &lt;hr /&gt;
  &lt;h3 id=&quot;pXin&quot;&gt;1. Уменьшаем количество спама в комметариях&lt;/h3&gt;
  &lt;p id=&quot;BgQ6&quot;&gt;Лучшим решением будет активация плагина Akismet Anti-Spam, но помимо него мы можем запретить POST запросы к файлу wp-comments-post.php за пределами нашего сайта. Для этого создаём следующее правило:&lt;/p&gt;
  &lt;figure id=&quot;lKJq&quot; class=&quot;m_retina&quot;&gt;
    &lt;img src=&quot;https://img4.teletype.in/files/f2/63/f26347a1-ef8e-4392-825a-b32190e0d214.png&quot; width=&quot;1054&quot; /&gt;
    &lt;figcaption&gt;Блокируем доступ к файлу wp-comments-post.php.&lt;/figcaption&gt;
  &lt;/figure&gt;
  &lt;section style=&quot;background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;p id=&quot;Pt5z&quot;&gt;(http.request.uri.path eq &amp;quot;/wp-comments-post.php&amp;quot; and http.request.method eq &amp;quot;POST&amp;quot; and not http.referer contains &amp;quot;site.com&amp;quot;)&lt;/p&gt;
  &lt;/section&gt;
  &lt;h3 id=&quot;Ibnd&quot;&gt;2. Запрещаем прямой доступ к плагинам&lt;/h3&gt;
  &lt;p id=&quot;EzAe&quot;&gt;Большинство взломов происходит из-за наличия уязвимостей в популярных плагинах, которые позволяют хакерам находить лазейки и получать доступ к вашему сайту (загружать и изменять файлы, удалённо запускать скрипты). &lt;/p&gt;
  &lt;p id=&quot;LCY2&quot;&gt;Данный способ поможет защититься даже если в плагине присутствует вирус, который активируется извне. Создаём следующее правило:&lt;/p&gt;
  &lt;figure id=&quot;Gtle&quot; class=&quot;m_retina&quot;&gt;
    &lt;img src=&quot;https://img2.teletype.in/files/10/ef/10ef477a-8dfd-4aa9-928b-fd4690d2ef2c.png&quot; width=&quot;1052&quot; /&gt;
    &lt;figcaption&gt;Блокируем доступ к плагинам в папке wp-content.&lt;/figcaption&gt;
  &lt;/figure&gt;
  &lt;section style=&quot;background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;p id=&quot;CZhz&quot;&gt;(http.request.uri.path contains &amp;quot;/wp-content/plugins/&amp;quot; and not http.referer contains &amp;quot;yoursite.com&amp;quot; and not cf.client.bot)&lt;/p&gt;
  &lt;/section&gt;
  &lt;hr /&gt;
  &lt;section style=&quot;background-color:hsl(hsl(34,  84%, var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;p id=&quot;xKDG&quot;&gt;Правила описанные ниже будут блокировать всех подряд, поэтому их нужно использовать только с предварительно настроеным белым списком IP адресов.&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;LFy9&quot;&gt;Чтобы добавить свой IP в список разрешенных зайдите в меню &lt;strong&gt;Firewall -&amp;gt; Tools&lt;/strong&gt; и создайте такую запись:&lt;/p&gt;
  &lt;figure id=&quot;Rjnk&quot; class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://img1.teletype.in/files/8b/af/8baff13c-947f-4483-a75a-c989d4e3cccb.png&quot; width=&quot;2092&quot; /&gt;
    &lt;figcaption&gt;Добавление IP адреса в белый список&lt;/figcaption&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;dQBU&quot;&gt;Вы также можете указать несколько IP адресов (например, интернет в офисе, мобильный, домашний), диапазон или целую страну, но в таком случае доступ будут иметь большее число людей.&lt;/p&gt;
  &lt;p id=&quot;wzLV&quot;&gt;После создания белого списка мы можем настроить следующие правила не потеряв при этом доступ к сайту.&lt;/p&gt;
  &lt;hr /&gt;
  &lt;h3 id=&quot;tiHK&quot;&gt;3. Блокируем доступ к форме авторизации&lt;/h3&gt;
  &lt;p id=&quot;j4Qk&quot;&gt;В логах сервера можно увидеть, сколько разных IP пытались получить доступ к файлу &lt;strong&gt;wp-login.php&lt;/strong&gt;. Это может быть и перебор паролей (брутфорс) и просто чей-то интерес, убедиться, что сайт создан на WordPress.&lt;/p&gt;
  &lt;p id=&quot;yoCb&quot;&gt;Существует плагин, который позволяет скрыть файл wp-login.php и ссылку вида site.com/admin заменив её на другую. Если вы не хотите его использовать, то можно защитить админку создав следующее правило:&lt;/p&gt;
  &lt;figure id=&quot;FDYh&quot; class=&quot;m_retina&quot;&gt;
    &lt;img src=&quot;https://img1.teletype.in/files/88/34/8834f942-c07b-4b62-b817-ac21ee6420f8.png&quot; width=&quot;1047&quot; /&gt;
    &lt;figcaption&gt;Блокируем запросы к wp-login.php.&lt;/figcaption&gt;
  &lt;/figure&gt;
  &lt;section style=&quot;background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;p id=&quot;CSxq&quot;&gt;(http.request.uri.path contains &amp;quot;/wp-login.php&amp;quot;)&lt;/p&gt;
  &lt;/section&gt;
  &lt;h3 id=&quot;OXso&quot;&gt;4. Блокируем доступ к xmlrpc.php&lt;/h3&gt;
  &lt;p id=&quot;9YIT&quot;&gt;Для блокировки доступа к файлу &lt;strong&gt;xmlrpc.php&lt;/strong&gt; (отвечает за добавление записей с телефона или через систему мультисайтов) также существуют плагины. Но, мы можем обойтись следующим правилом:&lt;/p&gt;
  &lt;figure id=&quot;Vofu&quot; class=&quot;m_retina&quot;&gt;
    &lt;img src=&quot;https://img3.teletype.in/files/2c/cf/2ccfe657-df22-4b2e-bc40-df6d20e6cd4a.png&quot; width=&quot;1050&quot; /&gt;
    &lt;figcaption&gt;Блокируем запросы к xmlrpc.php.&lt;/figcaption&gt;
  &lt;/figure&gt;
  &lt;section style=&quot;background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;p id=&quot;Cbz8&quot;&gt;(http.request.uri.path contains &amp;quot;/xmlrpc.php&amp;quot;)&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;3Tm6&quot;&gt;Оба правила можно активировать и на стороне сервера. Например, хостинг &lt;a href=&quot;https://www.ukraine.com.ua/?page=131227&quot; target=&quot;_blank&quot;&gt;Ukraine.com.ua&lt;/a&gt; предоставляет такую возможность в меню Защита от ботов:&lt;/p&gt;
  &lt;figure id=&quot;JNfL&quot; class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://img4.teletype.in/files/b8/2b/b82b75a8-11b2-4462-8aeb-330533a35733.png&quot; width=&quot;1648&quot; /&gt;
    &lt;figcaption&gt;Защита от ботов на хостинге.&lt;/figcaption&gt;
  &lt;/figure&gt;
  &lt;h3 id=&quot;7rnM&quot;&gt;5. Блокируем доступ к админпанели wp-admin&lt;/h3&gt;
  &lt;p id=&quot;NAjg&quot;&gt;Мы не можем полностью запретить доступ к папке &lt;code&gt;/wp-admin&lt;/code&gt; потому, что CMS использует такие адреса как &lt;code&gt;/wp-admin/admin-ajax.php&lt;/code&gt; или &lt;code&gt;/wp-admin/theme-editor.php&lt;/code&gt;. Поэтому здесь правило будет сложнее:&lt;/p&gt;
  &lt;figure id=&quot;AJmS&quot; class=&quot;m_retina&quot;&gt;
    &lt;img src=&quot;https://img4.teletype.in/files/ff/7f/ff7f28fa-edac-4d5a-883c-4ce62424ab34.png&quot; width=&quot;1050&quot; /&gt;
    &lt;figcaption&gt;Блокируем доступ к wp-admin.&lt;/figcaption&gt;
  &lt;/figure&gt;
  &lt;section style=&quot;background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;p id=&quot;b3Oe&quot;&gt;(http.request.uri.path contains &amp;quot;/wp-admin/&amp;quot; and not http.request.uri.path contains &amp;quot;/wp-admin/admin-ajax.php&amp;quot; and not http.request.uri.path contains &amp;quot;/wp-admin/theme-editor.php&amp;quot;)&lt;/p&gt;
  &lt;/section&gt;
  &lt;hr /&gt;
  &lt;h3 id=&quot;jjLb&quot;&gt;Решения в виде плагинов&lt;/h3&gt;
  &lt;p id=&quot;uSfF&quot;&gt;Не лишним будет и защита на самом сервере. Для этого лучше всего использовать проверенные плагины, о которых уже упоминалось в статье:&lt;/p&gt;
  &lt;ol id=&quot;WQpI&quot;&gt;
    &lt;li id=&quot;FRwx&quot;&gt;&lt;strong&gt;&lt;a href=&quot;https://prowebber.ru/wordpress-cat/wp-modules/22675-wordfence-security-premium-totalnaya-zaschita-dlya-wordpress.html&quot; target=&quot;_blank&quot;&gt;Wordfence Security Premium&lt;/a&gt;&lt;/strong&gt; - плагин для полной защиты сайта. Помимо возможности отбивать подозрительные запросы к сайту плагин может сканировать сайт на наличие вирусов (изменённых файлов, тем и плагинов).&lt;/li&gt;
    &lt;li id=&quot;Vn13&quot;&gt;&lt;strong&gt;&lt;a href=&quot;https://uk.wordpress.org/plugins/akismet/&quot; target=&quot;_blank&quot;&gt;Akismet Spam Protection&lt;/a&gt;&lt;/strong&gt; - плагин для фильтрафии спама в комментариях. Автоматически удаляет подозрительные плагины, проверяет рейтинг пользователей.&lt;/li&gt;
    &lt;li id=&quot;Zdy5&quot;&gt;&lt;a href=&quot;https://clearfy.pro/&quot; target=&quot;_blank&quot;&gt;&lt;strong&gt;Clearfy&lt;/strong&gt;&lt;/a&gt; - плагин всё в одном для оптимизации и защиты сайта. Очень много настроек, половина из которых может не пригодиться, если вы используете WP-Rocket или Autoptimize. Из уникальных функций - возможность изменить адрес панели управления и всех системных папок (например, вместо wp-content сделать uploads тем самым запутав хакеров).&lt;/li&gt;
  &lt;/ol&gt;
  &lt;figure id=&quot;s9sj&quot; class=&quot;m_column&quot;&gt;
    &lt;iframe src=&quot;https://www.youtube.com/embed/cDy8Fohp1IQ?autoplay=0&amp;loop=0&amp;mute=0&quot;&gt;&lt;/iframe&gt;
    &lt;figcaption&gt;Сравнение бесплатного Clearfy и платного Clearfy Pro от разных разработчиков&lt;/figcaption&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;X0kC&quot;&gt;Если у вас есть свои варианты защиты сайта WordPress - пишите о них в комментариях.&lt;/p&gt;

</content></entry><entry><id>kleindberg:no-russia</id><link rel="alternate" type="text/html" href="https://teletype.in/@kleindberg/no-russia?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=kleindberg"></link><title>Как защитить сайт от нежелательного трафика?</title><published>2022-03-07T18:13:17.939Z</published><updated>2022-03-07T19:45:51.745Z</updated><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://img3.teletype.in/files/ae/49/ae4928be-b92b-4749-ba0d-68697908a16e.png"></media:thumbnail><category term="devs" label="Разработка"></category><summary type="html">&lt;img src=&quot;https://img1.teletype.in/files/4a/a1/4aa1312c-44fa-4967-9c6a-b7b82db93dd3.jpeg&quot;&gt;Подробная инструкция о том, как ограничить доступ к сайту пользователям из России, Беларуси и других стран.</summary><content type="html">
  &lt;p id=&quot;QtP6&quot; data-align=&quot;center&quot;&gt;Подробная инструкция о том, &lt;strong&gt;как ограничить доступ к сайту пользователям из России, Беларуси&lt;/strong&gt; и других стран.&lt;/p&gt;
  &lt;figure id=&quot;iD8N&quot; class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://img1.teletype.in/files/4a/a1/4aa1312c-44fa-4967-9c6a-b7b82db93dd3.jpeg&quot; width=&quot;3840&quot; /&gt;
  &lt;/figure&gt;
  &lt;section style=&quot;background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;p id=&quot;u48A&quot;&gt;Содержание&lt;/p&gt;
    &lt;nav&gt;
      &lt;ul&gt;
        &lt;li class=&quot;m_level_1&quot;&gt;&lt;a href=&quot;#mEaT&quot;&gt;Что такое CloudFlare и зачем он нужен?&lt;/a&gt;&lt;/li&gt;
        &lt;li class=&quot;m_level_1&quot;&gt;&lt;a href=&quot;#tY26&quot;&gt;Как защитить сайт с помощью CloudFlare?&lt;/a&gt;&lt;/li&gt;
      &lt;/ul&gt;
    &lt;/nav&gt;
  &lt;/section&gt;
  &lt;p id=&quot;nr4r&quot;&gt;В связи с последними событиями в мире, большинство веб-разработчиков интересуются, как ограничить опасный трафик с нежелательных стран. Начнём с элементарного.&lt;/p&gt;
  &lt;hr /&gt;
  &lt;h2 id=&quot;mEaT&quot;&gt;Что такое CloudFlare и зачем он нужен?&lt;/h2&gt;
  &lt;p id=&quot;dCFy&quot;&gt;Раньше я считал, что если мой сайт ориентирован на одну страну (например, местный интернет-магазин), то мне не нужны всякие CDN сервисы для ускорения. Размещаешь сайт в своей стране и всё быстро летает. Но, не следует забывать, что...&lt;/p&gt;
  &lt;section style=&quot;background-color:hsl(hsl(34,  84%, var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;p id=&quot;ZaYS&quot;&gt;&lt;strong&gt;CloudFlare - &lt;/strong&gt;это не только бесплатный CDN, а и мощное средство для защиты сайта от нежелательного трафика и DDoS аттак.&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;jXxl&quot;&gt;Помимо ускорения, сервис CloudFlare бесплатно предоставляет:&lt;/p&gt;
  &lt;ol id=&quot;e2f9&quot;&gt;
    &lt;li id=&quot;vokI&quot;&gt;&lt;strong&gt;E-mail роутинг.&lt;/strong&gt; Вы можете создавать любые почтовые адреса на своём домене (даже отлавливать письма на несуществующие ящики) и пересылать их на привычные вам Gmail или другие email.&lt;/li&gt;
    &lt;li id=&quot;uuue&quot;&gt;&lt;strong&gt;SSL сертификат.&lt;/strong&gt; Вы можете настроить безопасное HTTPS соединение со своим сайтом получив бесплатный сертификат на 15 лет который признают все браузеры.&lt;/li&gt;
    &lt;li id=&quot;ksdw&quot;&gt;&lt;strong&gt;Ускорение и оптимизации.&lt;/strong&gt; Помимо обычного CDN вы можете настроить оптимизацию картинок на лету, конвертацию в формат WebP, выполнять минификацию кода, подключить современные протоколы для более быстрой загрузки сайта, и конечно же настроить кэширование.&lt;/li&gt;
    &lt;li id=&quot;cv6F&quot;&gt;&lt;strong&gt;Защита. &lt;/strong&gt;С помощью CloudFlare можно собирать подробную статистику посещений и фильтровать трафик, защитить админ-панель или корзину от взлома, отбить DDoS аттаки, фильтровать ботов и даже настроить доступ к внутренней инфраструктуре без использования VPN.&lt;/li&gt;
    &lt;li id=&quot;nfiZ&quot;&gt;Приложения, правила и прочие оптимизации на стороне. Вы можете настраивать редиректы в зависимости от события, запускать различные скрипты и даже добавлять на сайт приложения по типу поиска или чатов.&lt;/li&gt;
  &lt;/ol&gt;
  &lt;p id=&quot;ltDq&quot;&gt;Помимо всего CloudFlare является регистратором доменов по себестоимости. К примеру, вы можете купить домен com за 8 долларов - такой цены вы нигде не найдёте. А также настроить стриминг, обрабатывать изображения, использовать их средства защиты.&lt;/p&gt;
  &lt;p id=&quot;qGfr&quot;&gt;Собственно, из всего выше перечисленного, нас, в первую очередь, интересует защита сайта.&lt;/p&gt;
  &lt;section style=&quot;background-color:hsl(hsl(34,  84%, var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;p id=&quot;HvMe&quot;&gt;CloudFlare можно использовать на любых сайтах и приложениях не зависимо от системы управления сайтом или хостинга.&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;rge9&quot;&gt;Чтобы продолжить действовать по инструкции, ваш сайт должен использовать NS сервера от CloudFlare. О том, &lt;a href=&quot;https://eternalhost.net/base/web-hosting/chto-takoe-cloudflare&quot; target=&quot;_blank&quot;&gt;как подключить CloudFlare&lt;/a&gt; написано много статей и видео, поэтому этот вопрос я опущу.&lt;/p&gt;
  &lt;figure id=&quot;rZwC&quot; class=&quot;m_column&quot;&gt;
    &lt;iframe src=&quot;https://www.youtube.com/embed/Q7RPeZdCeBo?autoplay=0&amp;loop=0&amp;mute=0&quot;&gt;&lt;/iframe&gt;
    &lt;figcaption&gt;Как подключить сайт к CloudFlare&lt;/figcaption&gt;
  &lt;/figure&gt;
  &lt;hr /&gt;
  &lt;h2 id=&quot;tY26&quot;&gt;Как защитить сайт с помощью CloudFlare?&lt;/h2&gt;
  &lt;p id=&quot;6hva&quot;&gt;Чтобы настроить &lt;strong&gt;фильтрацию трафика по странам&lt;/strong&gt;, нужно:&lt;/p&gt;
  &lt;ol id=&quot;02VY&quot;&gt;
    &lt;li id=&quot;Fy1g&quot;&gt;Зайти в меню Firewall -&amp;gt; Firewall Rules и нажать кнопку &lt;strong&gt;Create a Firewall rule&lt;/strong&gt;.&lt;/li&gt;
  &lt;/ol&gt;
  &lt;figure id=&quot;mqMn&quot; class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://awesomescreenshot.s3.amazonaws.com/image/973936/23613575-bb2cc5b360d6e6e80b1726d71a1dcc21.png?X-Amz-Algorithm=AWS4-HMAC-SHA256&amp;X-Amz-Credential=AKIAJSCJQ2NM3XLFPVKA%2F20220307%2Fus-east-1%2Fs3%2Faws4_request&amp;X-Amz-Date=20220307T175448Z&amp;X-Amz-Expires=28800&amp;X-Amz-SignedHeaders=host&amp;X-Amz-Signature=3547973230385ccf0d854f6a3fbfe902dcd8c24144d41ffde517266ba13029ba&quot; width=&quot;2238&quot; /&gt;
    &lt;figcaption&gt;Создаём новое правило для блокировки трафика.&lt;/figcaption&gt;
  &lt;/figure&gt;
  &lt;ol id=&quot;MvF9&quot;&gt;
    &lt;li id=&quot;zn60&quot;&gt;Создайте новое правило. Укажите название (можно на русском), условие (Country is in Russian Federation, Belarus) и действие (Block) и нажмите кнопку &lt;strong&gt;Deploy&lt;/strong&gt;.&lt;/li&gt;
  &lt;/ol&gt;
  &lt;figure id=&quot;alTL&quot; class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://awesomescreenshot.s3.amazonaws.com/image/973936/23613810-153fa977ab9190d56e72b12fa69c2f07.png?X-Amz-Algorithm=AWS4-HMAC-SHA256&amp;X-Amz-Credential=AKIAJSCJQ2NM3XLFPVKA%2F20220307%2Fus-east-1%2Fs3%2Faws4_request&amp;X-Amz-Date=20220307T175830Z&amp;X-Amz-Expires=28800&amp;X-Amz-SignedHeaders=host&amp;X-Amz-Signature=5f0409ca3d3e82882f65a1163a99b7b9201e9385514e744356c4093ec681e85f&quot; width=&quot;2238&quot; /&gt;
    &lt;figcaption&gt;Блокируем доступ к сайту для жителей Российской Федерации и Беларуси.&lt;/figcaption&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;cXoh&quot;&gt;Как вы уже догадались, с помощью правил для файервола мы можем не только блокировать страны, а фильтровать по файлам куки, IP адресам, типам устройств, URL адресам, ботам и так далее.&lt;/p&gt;
  &lt;figure id=&quot;BxD4&quot; class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://img3.teletype.in/files/62/84/6284b089-fb52-4f58-ae91-0491da17f77e.png&quot; width=&quot;2090&quot; /&gt;
    &lt;figcaption&gt;Вот такое сообщение увидит пользователь из заблокированной страны&lt;/figcaption&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;6lsm&quot;&gt;Если на ваш сайт идут атаки с какой-то определённой страны, то данное решение поможет снизить нагрузку на хостинг и ограничить доступ к вашему сайту. Дополнительно можно включить режим DDos, когда атака идёт с разных IP.&lt;/p&gt;
  &lt;p id=&quot;Sxsj&quot;&gt;Единственный минус, что такое решение может ограничить доступ поисковым ботам по типу Яндекса и вам начнут приходить письма, что ваш сайт недоступен. Мы когда-то ограничили доступ жителям США и чуть не выпали из Google.&lt;/p&gt;
  &lt;p id=&quot;mE5v&quot;&gt;Кстати, у меня есть статья о том, &lt;a href=&quot;https://teletype.in/@kleindberg/protect-wordpress-with-cloudflare&quot; target=&quot;_blank&quot;&gt;как защитить сайт на WordPress с помощью правил CloudFlare&lt;/a&gt;. Если разобраться, то эти правила можно применять к любым CMS и приложениям просто заменив URL.&lt;/p&gt;

</content></entry><entry><id>kleindberg:church-with-blackjack</id><link rel="alternate" type="text/html" href="https://teletype.in/@kleindberg/church-with-blackjack?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=kleindberg"></link><title>В чужой монастырь со своим уставом</title><published>2020-12-07T10:22:14.560Z</published><updated>2020-12-07T10:22:14.560Z</updated><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://teletype.in/files/45/59/4559e3e6-d50f-4506-be2f-8e78143202ae.png"></media:thumbnail><category term="letstalk" label="Мысли"></category><summary type="html">&lt;img src=&quot;https://bogdans.org/wp-content/uploads/2020/02/barsik.jpg&quot;&gt;Этим постом, я начинаю свой микроблог. Краткие заметки я пишу еще со студенческих времен, но не всегда получалось их публиковать.</summary><content type="html">
  &lt;p&gt;Этим постом, я начинаю свой микроблог. Краткие заметки я пишу еще со студенческих времен, но не всегда получалось их публиковать.&lt;/p&gt;
  &lt;figure class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://bogdans.org/wp-content/uploads/2020/02/barsik.jpg&quot; width=&quot;790&quot; /&gt;
  &lt;/figure&gt;
  &lt;h3&gt;БАРСИК И ЕГО КОМПАНИЯ&lt;/h3&gt;
  &lt;p&gt;Казалось бы, взрослый человек со сформировавшимися ценностями менее склонен к влиянию окружающих. В отличии от пубертатных школьников, он не ищет себе лидера для подражания. Но, на практике выходит всё иначе.&lt;/p&gt;
  &lt;p&gt;Мой знакомый, будучи по натуре омега-самцом, связался с “плохой компанией” альфачей. Считая их успешными, он начал подражать им, следовать их тупым советам. Вот только вышла одна неурядица. Альфа-самцы эти ничего из себя не представляют – они, как и их новый поклонник, работают в одном подвале и даже больше – все получают минималку.&lt;/p&gt;
  &lt;p&gt;Здесь вспоминается случай, когда какой-то теоретик-идеолист именуемый в народе бизнес-коучем пытается учить жизни матёрого предпринимателя, который на своей шкуре прошел все семь кругов ада.&lt;/p&gt;
  &lt;p&gt;Никогда никого не слушайте, ибо любое индивидуальное решение, которые примите &lt;strong&gt;вы&lt;/strong&gt; будет правильным.&lt;/p&gt;
  &lt;figure class=&quot;m_retina&quot;&gt;
    &lt;img src=&quot;https://bogdans.org/wp-content/uploads/2020/02/scar-the-lion-king-2019-scaled.jpg&quot; width=&quot;1280&quot; /&gt;
  &lt;/figure&gt;
  &lt;h3&gt;КРУГОМ ОДНИ ИДИОТЫ&lt;/h3&gt;
  &lt;p&gt;Взвешиваю печенье в Сильпо. В этот супермаркет я хожу уже несколько лет и за это время там ничего не поменялось, кроме работников. Поэтому, взвешивать товары я умею лучше всех.&lt;/p&gt;
  &lt;p&gt;В отличие от обычных юзеров, я не ищу товар в списке из миллиона позиций, а просто вбиваю в поисковую строку его ключевое слово. Например, для товара с названием “Пряник “Деліція” Ворзельский с декором” ключевое слово будет “Ворзельский”, потому что пряников, как и товаров от ТМ Делиция бывает много видов. Мыслить ключевыми словами меня научила моя профессия.&lt;/p&gt;
  &lt;p&gt;А теперь представьте картину. Я, программист, взвешиваю свои пряники. Ко мне подошла какая-то новая работница, выхватила у меня из рук товар и начала учить, как правильно его взвешивать. С пятой попытки она таки нашла его в списке товаров и таки взвесила.&lt;/p&gt;
  &lt;p&gt;У меня в тот день не было настроения скандалить, поэтому я просто молча посмотрел на её неудачные попытки и забрал своё печенье. Бесят такие люди, которые готовы проконсультировать по любому вопросу, абы всунуть своё рыло хоть куда-то.&lt;/p&gt;
  &lt;figure class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://normpost.ru/uploads/images/00/00/08/2018/03/11/0u45b713f4-475bf6f6-55e538a7.jpg&quot; width=&quot;595&quot; /&gt;
  &lt;/figure&gt;

</content></entry><entry><id>kleindberg:independency</id><link rel="alternate" type="text/html" href="https://teletype.in/@kleindberg/independency?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=kleindberg"></link><title>Слишком независимые</title><published>2020-12-07T10:20:36.523Z</published><updated>2020-12-07T10:20:36.523Z</updated><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://teletype.in/files/82/6c/826c2060-b97b-4cc1-9d67-ffdaf8adda53.png"></media:thumbnail><category term="letstalk" label="Мысли"></category><summary type="html">&lt;img src=&quot;https://teletype.in/files/4d/fe/4dfe48b6-36f0-43e7-8ef9-28c0df73bbdc.png&quot;&gt;Мои попытки разобраться в современных отношениях привели к интересным умозаключениям.</summary><content type="html">
  &lt;p&gt;Мои попытки разобраться в современных отношениях привели к интересным умозаключениям.&lt;/p&gt;
  &lt;h5&gt;ПРОБЛЕМА 21 ВЕКА&lt;/h5&gt;
  &lt;p&gt;Последнее время все чаще можно заметить одиноких людей, которым «уже давно за 30». Своё одиночество они объясняют по-разному, но если обобщить их ответы получается одно – много работы, нет свободного времени. Но, виновата ли работа?&lt;/p&gt;
  &lt;figure class=&quot;m_retina&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/4d/fe/4dfe48b6-36f0-43e7-8ef9-28c0df73bbdc.png&quot; width=&quot;960&quot; /&gt;
  &lt;/figure&gt;
  &lt;p&gt;&lt;strong&gt;Много работы&lt;/strong&gt;&lt;/p&gt;
  &lt;p&gt;Современные интеллектуалы действительно работают много, порой даже больше нормированных 8 часов. Не редки случаи, когда он и она получают достаточно много, чтобы обеспечить себя любимого (но, не семью).&lt;/p&gt;
  &lt;p&gt;Будучи хорошо обеспеченным, у человека включается гордость. Мне попадались девушки, которые в свои 20 уже имели собственную машину и зарплату в 1000 долларов. Скажите, чем может удивить такую леди среднестатистический холостяк, работающий каким-то консультантом за минималку?&lt;/p&gt;
  &lt;p&gt;&lt;strong&gt;Образ жизни&lt;/strong&gt;&lt;/p&gt;
  &lt;p&gt;Многих моих знакомых устраивают не регулярные заработки и фривольный образ жизни. Есть деньги – гуляем, нет – сидим дома. У них нет никаких целей, кроме гедонических.&lt;/p&gt;

</content></entry><entry><id>kleindberg:not-flying</id><link rel="alternate" type="text/html" href="https://teletype.in/@kleindberg/not-flying?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=kleindberg"></link><title>Мысли вслух</title><published>2020-11-28T08:28:35.479Z</published><updated>2020-11-28T08:33:57.969Z</updated><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://teletype.in/files/88/6b/886b9628-bf81-40cc-8b77-7c1473cfed81.png"></media:thumbnail><category term="letstalk" label="Мысли"></category><summary type="html">&lt;img src=&quot;https://teletype.in/files/1d/3d/1d3ddbaf-53f7-453a-b156-ddec83c95809.jpeg&quot;&gt;Все чаще стал замечать геодискриминацию в популярных приложениях доставки еды. Хочешь заказать пиццу на дом, а тебе пишет &quot;извините, но мы сюда не летаем&quot;.</summary><content type="html">
  &lt;h3&gt;Ущербные&lt;/h3&gt;
  &lt;p&gt;Все чаще стал замечать геодискриминацию в популярных приложениях доставки еды. Хочешь заказать пиццу на дом, а тебе пишет &amp;quot;извините, но мы сюда не летаем&amp;quot;.&lt;/p&gt;
  &lt;p&gt;И тут возникла мысль: &lt;em&gt;что если посмотреть на ситуацию с обратной стороны? &lt;/em&gt;Представить, что службы доставки нужны только для несчастных жителей центра задыхающихся от выхлопных газов и бесконечного потока автомобилей, для офисного планктона сидящего на минималку и зарабатывающего геморрой, сколиоз и прочие нервные расстройства, для маргинальных холостяков, чей ужин состоит из меню ближайшего фастфуда...&lt;/p&gt;
  &lt;figure class=&quot;m_retina&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/1d/3d/1d3ddbaf-53f7-453a-b156-ddec83c95809.jpeg&quot; width=&quot;832&quot; /&gt;
    &lt;figcaption&gt;Типичные клиенты служб доставки еды&lt;/figcaption&gt;
  &lt;/figure&gt;
  &lt;p&gt;И тут я действительно задумался, &lt;em&gt;кто же более ущербный&lt;/em&gt; - житель загородной виллы, который на своём Range Rover везёт себе кусочек пиццы или житель центра, которому пиццу привёз потный курьер на велосипеде?&lt;/p&gt;
  &lt;p&gt;В нашем гипертрофированном обществе существует мнение, что жить в центре города - это блажь и удел элиты. Но, почему-то весь западный мир живёт в &amp;quot;одноэтажной Америке&amp;quot; далеко за пределами мегаполисов, а не в многоэтажках с видом на соседний скворечник и задыхающийся город.&lt;/p&gt;
  &lt;figure class=&quot;m_retina&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/70/8f/708fbe40-ec3b-4ef4-8172-fd6b459c72fc.png&quot; width=&quot;750&quot; /&gt;
    &lt;figcaption&gt;Ущербная окраина&lt;/figcaption&gt;
  &lt;/figure&gt;
  &lt;h3&gt;Спасибо Боже&lt;/h3&gt;
  &lt;p&gt;Кто из нас не разочаровывался в людях?&lt;/p&gt;
  &lt;p&gt;Влюбился ты в какую-нибудь девушку, души в ней не чаешь, пытаешься ухаживать, а в ответ тишина. Безответные чувства угасают и ты остываешь.&lt;/p&gt;
  &lt;p&gt;Потом, через пару лет, случайно встречаешь свой объект пристрастия под дискаунтером и радуешься, что Бог отвёл тебя: худая маргинальная дама с коляской и залётным ребёнком. Возможно, дома её ждёт очередной алкоголик, запивающий свои лучшие годы либо начатая анкета на сайте знакомств. А ты лишь невольно задаёшься вопросом, как мог влюбиться в такое чмо и тихонько злорадствуешь вспоминая Карму. А ведь всё могло бы сложиться иначе и на месте того маргинала мог быть ты...&lt;/p&gt;
  &lt;figure class=&quot;m_retina&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/31/d3/31d32c06-c66e-4bfa-9b8f-a351441eb950.jpeg&quot; width=&quot;960&quot; /&gt;
  &lt;/figure&gt;

</content></entry><entry><id>kleindberg:selecting-cms</id><link rel="alternate" type="text/html" href="https://teletype.in/@kleindberg/selecting-cms?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=kleindberg"></link><title>Как лодку назовёшь?</title><published>2020-09-16T17:47:08.885Z</published><updated>2020-09-16T18:14:12.533Z</updated><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://teletype.in/files/f9/14/f91451e2-80a9-4af9-b0ab-7a4bdf289cd6.jpeg"></media:thumbnail><summary type="html">&lt;img src=&quot;https://teletype.in/files/f9/14/f91451e2-80a9-4af9-b0ab-7a4bdf289cd6.jpeg&quot;&gt;От выбора системы управления сайтом (CMS) зависит 90% будущего проекта. Как не допустить фатальной ошибки в самом начале и что будет, если это сделать - читайте в этой статье.</summary><content type="html">
  &lt;p&gt;От выбора системы управления сайтом (CMS) зависит 90% будущего проекта. Как не допустить фатальной ошибки в самом начале и что будет, если это сделать - читайте в этой статье.&lt;/p&gt;
  &lt;h3&gt;Лучший сайт - это сайт написанный с нуля!&lt;/h3&gt;
  &lt;p&gt;Любой программист будет уверять вас, что лучший сайт - это сайт написанный с нуля на каком-нибудь популярном фреймворке (не путать с системой управления сайтом).&lt;/p&gt;
  &lt;p&gt;Я имел дело с клиентом, у которого был &lt;strong&gt;интернет-магазин на Laravel&lt;/strong&gt;. Ничего не имею против этого замечательного фреймворка, просто скажу, что заказчик несколько лет искал специалиста, который взялся бы за обслуживание сайта. &lt;/p&gt;
  &lt;figure class=&quot;m_column&quot; data-caption-align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/f9/14/f91451e2-80a9-4af9-b0ab-7a4bdf289cd6.jpeg&quot; width=&quot;2400&quot; /&gt;
    &lt;figcaption&gt;Приблизительно так выглядит обслуживание сайта на Laravel&lt;/figcaption&gt;
  &lt;/figure&gt;
  &lt;p&gt;Поэтому, если вы не программист и у вас в штате нет желающих каждый день что-то кодить и дебажить - это решение однозначно отпадает.&lt;/p&gt;
  &lt;p&gt;При этом, отрицать силу «чистого кода» не стоит. Например, &lt;strong&gt;сайт знакомств&lt;/strong&gt; или &lt;strong&gt;доску объявлений&lt;/strong&gt; разумнее построить на специализированном скрипте, чем городить это на одной из популярных CMS по типу WordPress.&lt;/p&gt;
  &lt;p&gt;Если вам нужна какая-нибудь временная заглушка, лендинг или сайт-визитка, который не будет обновляться, то &lt;strong&gt;чистый HTML&lt;/strong&gt; вообще идеальный вариант.&lt;/p&gt;
  &lt;figure class=&quot;m_column&quot; data-caption-align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/79/4d/794d925d-2ca0-4e84-a5ab-09f3208e2239.png&quot; width=&quot;3801&quot; /&gt;
    &lt;figcaption&gt;Написать подобный сайт можно на чистом HTML и он будет летать!&lt;/figcaption&gt;
  &lt;/figure&gt;
  &lt;h3&gt;OpenCart - для магазинов, Joomla - для корпоративных сайтов&lt;/h3&gt;
  &lt;p&gt;Многие доморощенные специалисты до сих пор твёрдо уверенны, что OpenCart - это единственный движок для написания интернет-магазина. К их счастью, они не знакомы с другими решениями.&lt;/p&gt;
  &lt;p&gt;&lt;strong&gt;&lt;a href=&quot;https://site-builders.ru/cms-opencart&quot; target=&quot;_blank&quot;&gt;OpenCart &lt;/a&gt;&lt;/strong&gt;- это действительно хороший скрипт для онлайн торговли. На нём, к слову, написана половина отечественных интернет-магазинов (другая половина на Bitrix). &lt;/p&gt;
  &lt;p&gt;Я видел реальный пример, когда база данных сайта на OpenCart с 1000 товарами весила 6 мегабайт. К сожалению, на этом плюсы данной системы заканчиваются. &lt;/p&gt;
  &lt;p&gt;Чтобы изменить что-то в OpenCart нужно лезть в системный код, который после обновления может слететь. Действительно годные решения под OpenCart стоят хороших денег, а бесплатные советы на форумах - не более, чем костыли.&lt;/p&gt;
  &lt;figure class=&quot;m_column&quot; data-caption-align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/23/1c/231c70f8-0a9c-4a84-b431-c48c2752e622.png&quot; width=&quot;1350&quot; /&gt;
    &lt;figcaption&gt;OpenCart - отличное решение если в штате есть программист и вы готовы каждый раз платить&lt;/figcaption&gt;
  &lt;/figure&gt;
  &lt;p&gt;В этом плане &lt;strong&gt;Joomla ушла не далеко&lt;/strong&gt;: разобраться с адмнинкой без ста грамм вряд ли получится, а установка модулей и тем может не увенчаться успехом из-за разных версий. Спасает наличие готовых сборок, но они не всегда будут соответствовать вашим ожиданиям и требованиям. К тому же, Joomla - ужасно медленная и прожорливая система.&lt;/p&gt;
  &lt;figure class=&quot;m_column&quot; data-caption-align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/25/4a/254ad250-e0e3-4f97-88e0-26012b37ce0a.png&quot; width=&quot;700&quot; /&gt;
    &lt;figcaption&gt;Панель управления Joomla - миллион вкладок на все случаи жизни&lt;/figcaption&gt;
  &lt;/figure&gt;
  &lt;p&gt;Относительно других систем по типу PrestaShop, ShopCMS, Drupal, ModX - это экзотика, под которую какие-то энтузиасты пишут решения, но они не всегда работают.&lt;/p&gt;
  &lt;h3&gt;WordPress на все случаи жизни?&lt;/h3&gt;
  &lt;p&gt;Первая версия WordPress вышла &lt;strong&gt;27 мая 2003 года&lt;/strong&gt; и предназначалась исключительно для ведения блогов. С того времени прошло 17 лет и система радикально изменилась.&lt;/p&gt;
  &lt;p&gt;На сегодня это &lt;strong&gt;самая популярная CMS&lt;/strong&gt; на все случаи жизни - от блога или сайта-визитки до корпоративного сайта, интернет-магазина или целого портала. &lt;/p&gt;
  &lt;p&gt;По данным лаборатории W3Techs в марте 2020 на WordPress были &lt;strong&gt;созданы 36% сайтов мира&lt;/strong&gt; (доля рынка CMS составляет 63%).&lt;/p&gt;
  &lt;figure class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/5b/18/5b1875bf-0eff-4646-9e73-bb32ad32ad8a.png&quot; width=&quot;1426&quot; /&gt;
  &lt;/figure&gt;
  &lt;p&gt;&lt;strong&gt;Успех WordPress&lt;/strong&gt; объясняется легко: система полностью бесплатная (open-source), существует более 15 лет, имеет огромное сообщество (а значит и хорошую поддержку, множество специалистов), лёгкая в управлении.&lt;/p&gt;
  &lt;p&gt;Под WordPress существует огромное количество действительно качественных тем и плагинов, что позволяет создавать красивые и функциональные сайты в считанные дни.&lt;/p&gt;
  &lt;p&gt;Не составляет труда и написание &lt;strong&gt;индивидуальных решений&lt;/strong&gt;. Например, мы используем API WooCommerce для обработки заказов и рассылки СМС, а если заморочиться, то можно даже написать мобильное приложение под Android или iOS. В этом плане WordPress чуть ли не единственная CMS имеющая API из коробки.&lt;/p&gt;
  &lt;p&gt;&lt;strong&gt;Из минусов&lt;/strong&gt; такой популярности можно назвать обилие вирусов (распространяются вместе с пиратскими nulled плагинами и темами) и ботнет-сетей, которые активно спамят в комментариях. К счастью, существует множество решений для защиты WordPress сайтов.&lt;/p&gt;
  &lt;h3&gt;Выводы в двух словах&lt;/h3&gt;
  &lt;p&gt;Если вы программист, а сайт нужен вам для тренировки, а не заработка - можете собрать его самостоятельно на каком-нибудь фреймворке или движке, а остаток жизни посвятить его доработке.&lt;/p&gt;
  &lt;p&gt;Сайт-одностраничник или заглушку однозначно нужно делать на чистом коде - это быстро и Google явно оценит.&lt;/p&gt;
  &lt;p&gt;Серьёзный интернет-магазин или корпоративный сайт придётся делать на одной из популярных CMS. Если в вашем штате есть программисты, а у вас неограниченный бюджет - Opencart и Joomla ваш выбор.&lt;/p&gt;
  &lt;p&gt;Рациональные люди выбирают WordPress. Он не идеален, но стремится к этому - 63% не могут ошибаться. Благодаря огромному количеству тем и плагинов собрать полноценный сайт на WordPress можно за один вечер, а обслуживать его сможет даже школьник. Главное, чтобы он не занес вам вирусы.&lt;/p&gt;

</content></entry></feed>