Як заробити на знанні PHP? Що таке Memcache

Сьогодні я представлю вам невеликий фрагмент коду, який навчить вас взаємодіяти з Memcache. Для того щоб встановити Mediatemple на хостингу вам потрібні дані для SSH.

Хто використовує Memcache?

Компанія Memcache була розроблена Danga Interactive для того, щоб збільшити швидкість роботи порталу LiveJournal.com. Memcache зводить час завантаження з бази даних до нуля, від чого зростає швидкість завантаження сторінки для користувачів, прискорене управління ресурсами і т.д. На даний момент FaceBook є найбільшим користувачем сервісу Memcache. Враховуючи кількість людей, що прибувають на FaceBook щодня, він мало не завалив цей сервіс - і для них виділили окреме місце.

Що таке Memcache?

Що цікаво стало? Memcache є універсальною системою розподілу кешованих елементів. Якщо в кеші нічого немає, робиться запит до бази і результати записуються в Memcache:

Memcache надає 5 функцій:

  • get() - отримує значення за ключем
  • set() - встановлює значення
  • add() - додає кеш, якщо його не існує
  • replace() - замінює кеш
  • flush() - видаляє всі закешовані дані

Код

Якщо ви встановили у себе Memcache, ви можете почати ним користуватися. Існує думка, що багато кешу погано. Я з цим абсолютно не згоден! Чим швидше вантажиться ваш сайт – тим краще!

  • Перші два рядки здійснюють підключення до Memcache.
  • Далі слідує скрипт підключення до бази даних.
  • Потім створюємо ключ. Коли ми хочемо помістити дані в Memcache, нам необхідно передати 3 елементи для вставки: ключ, значення і час життя кеша. Ключ потрібен для отримання доступу до даних. У цьому прикладі ви можете побачити, що я використовую як ключ MD5 хеш запиту.
  • Далі ми перевіряємо чи існує кеш. Перевірка поверне нам true чи false. Якщо вона є, отримуємо до неї доступ.
  • Якщо кешу немає, то ми підключаємося до бази та дістаємо значення. Для створення кешу використовуємо такий вираз: $ memcache-> set ($ key, $ row, TRUE, 20); $row зберігає масив те, що ми дістали з бази. 20 - це час життя в кеша в секундах.

$ Memcache = New Memcache; $memcache->connect("127.0.0.1", 11211) or die ("Could not connect"); include("includes/connect.php"); //створити ключ, потім перевірити кеш $key = md5("SELECT * FROM memcached_test where name="ashley""); $get_result = $memcache>get($key); if ($get_result) ( echo $get_result["name"]; echo $get_result["username"]; echo "Data Pulled From Cache"; ) else ( // Отримати дані з бази та створити кеш $query="SELECT * FROM memcached_test where name="ashley";"; $result = mysql_query($query); $row = mysql_fetch_array($result); print_r($row); $memcache>set($key, $row, TRUE, 20) // Зберігати результат 20 секунд echo "Data Pulled from the Database";

Це найпростіший приклад використання memcache, але я сподіваюся, що це був хороший старт для вас.

Будь-який пошук вразливостей на веб-ресурсах починається з розвідки та збору інформації.
Розвідка може бути як активною – брутфорс файлів та директорій сайту, запуск сканерів уразливостей, ручний перегляд сайту, так і пасивною – пошук інформації в різних пошукових системах. Іноді буває так, що вразливість стає відомою ще до відкриття першої сторінки сайту.

Як таке можливо?
Пошукові роботи, які безперервно блукають по просторах інтернету, крім інформації, корисної звичайному користувачеві, часто фіксують те, що може бути використане зловмисниками при атаці на веб-ресурс. Наприклад, помилки скриптів та файли з чутливою інформацією (починаючи від конфігураційних файлів та логів, закінчуючи файлами з автентифікаційними даними та бекапами баз даних).
З погляду пошукового робота повідомлення про помилку виконання SQL-запиту - це звичайний текст, невіддільний, наприклад, від опису товарів на сторінці. Якщо раптом пошуковий робот натрапив на файл з розширенням.sql, який чомусь опинився в робочій папці сайту, то він буде сприйнятий як частина вмісту сайту і так само буде проіндексований (включаючи, можливо, вказані паролі).

Подібну інформацію можна знайти, знаючи стійкі, часто унікальні ключові слова, які допомагають відокремити «вразливі сторінки» від сторінок, що не містять вразливості.
Величезна база спеціальних запитів із використанням ключових слів (так званих дорків) існує на exploit-db.com і відома під назвою Google Hack Database.

Чому google?
Дорки орієнтовані в першу чергу на Google з двох причин:
− найбільш гнучкий синтаксис ключових слів (наведений у Таблиці 1) та спеціальних символів (наведений у Таблиці 2);
− індекс google все ж таки більш повний ніж у інших пошукових систем;

Таблиця 1 – Основні ключові слова google

Ключове слово
Сенс
Приклад
site
Пошук лише на вказаному сайті. Враховує лише url
site:somesite.ru - знайде всі сторінки по даному домену та піддоменам
inurl
Пошук за словами, присутнім у URI. На відміну від кл. слова “site”, шукає збіги після імені сайту
inurl:news - знайде всі сторінки, де в uri зустрінеться це слово
intext
Пошук у тілі сторінки
intext:"пробки" - повністю аналогічно звичайному запиту "пробки"
intitle
Пошук у заголовку сторінки. Текст, укладений між тегами <br></td> <td width="214">intitle:"index of" - знайде всі сторінки з лістингом директорії <br></td> </tr><tr><td width="214">ext <br></td> <td width="214">Пошук сторінок із зазначеним розширенням <br></td> <td width="214">ext:pdf - знайде всі PDF-файли <br></td> </tr><tr><td width="214">filetype <br></td> <td width="214">В даний час повністю аналогічно кл. слову "ext" <br></td> <td width="214">filetype:pdf - аналогічно <br></td> </tr><tr><td width="214">related <br></td> <td width="214">Пошук сайтів зі схожою тематикою <br></td> <td width="214">related:google.ru - покаже свої аналоги <br></td> </tr><tr><td width="214">link <br></td> <td width="214">Пошук сайтів, що посилаються на цей <br></td> <td width="214">link:somesite.ru - знайде всі сайти, на яких є посилання на даний <br></td> </tr><tr><td width="214">define <br></td> <td width="214">Показати визначення слова <br></td> <td width="214">define:0day - визначення терміна <br></td> </tr><tr><td width="214">cache <br></td> <td width="214">Показати вміст сторінки в кеші (якщо є) <br></td> <td width="214">cache:google.com - відкриє сторінку з кешу <br></td> </tr></tbody></table><p>Таблиця 2 – Спеціальні символи запитів Google <br></p><table><tbody><tr><td width="214"><b>Символ</b><br></td> <td width="214"><b>Сенс</b><br></td> <td width="214"><b>Приклад</b><br></td> </tr><tr><td width="214">“<br></td> <td width="214">Точна фраза <br></td> <td width="214">intitle:«RouterOS router configuration page» - пошук роутерів <br></td> </tr><tr><td width="214">*<br></td> <td width="214">Будь-який текст <br></td> <td width="214">inurl:«bitrix*mcart» - пошук сайтів на bitrix з вразливим модулем mcart <br></td> </tr><tr><td width="214">.<br></td> <td width="214">Будь-який символ <br></td> <td width="214">Index.of - аналогічно до запиту index of <br></td> </tr><tr><td width="214">-<br></td> <td width="214">Виключити слово <br></td> <td width="214">error -warning - показати всі сторінки, де є error, але ні warning <br></td> </tr><tr><td width="214">..<br></td> <td width="214">Діапазон <br></td> <td width="214">cve 2006..2016 - показати вразливості за роками починаючи з 2006 <br></td> </tr><tr><td width="214">|<br></td> <td width="214">Логічне «або» <br></td> <td width="214">linux | windows - показати сторінки, де зустрічається або перше або друге слово <br></td> </tr></tbody></table><br>Варто розуміти, що будь-який запит до пошукової системи – це пошук лише за словами. <br>Марно шукати на сторінці мета-символи (лапки, дужки, знаки пунктуації тощо). Навіть пошук за точною фразою, вказаною в лапках, - це пошук за словами, з подальшим пошуком точного збігу вже в результатах. <p>Усі доріжки Google Hack Database розділені логічно на 14 категорій та представлені в таблиці 3. <br>Таблиця 3 – Категорії Google Hack Database <br></p><table><tbody><tr><td width="168"><b>Категорія</b><br></td> <td width="190"><b>Що дозволяє знайти</b><br></td> <td width="284"><b>Приклад</b><br></td> </tr><tr><td width="168">Footholds <br></td> <td width="190">Веб-шелли, публічні файлові менеджери <br></td> <td width="284">Знайти всі зламані сайти, де залиті перераховані вебшелли: <br>(intitle:«phpshell» OR intitle:«c99shell» OR intitle:«r57shell» OR intitle:«PHP Shell » OR intitle:«phpRemoteView») `rwx` "uname" <br></td> </tr><tr><td width="168">Files containing usernames <br></td> <td width="190">Файли реєстру, файли конфігурації, логи, файли, що містять історію введених команд <br></td> <td width="284">Знайти всі файли реєстру, які містять інформацію про облікові записи: <br><i>filetype:reg reg +intext:«internet account manager»</i><br></td> </tr><tr><td width="168">Sensitive Directories <br></td> <td width="190">Каталоги з різною інформацією (особисті документи, конфіги vpn, приховані репозиторії та ін.) <br></td> <td width="284">Знайти всі лістинги директорій, що містять файли, що відносяться до vpn: <br><i>"Config" intitle:"Index of" intext:vpn</i><br>Сайти, що містять git-репозиторії: <br><i>(intext: "index of /.git") ("parent directory")</i><br></td> </tr><tr><td width="168">Web Server Detection <br></td> <td width="190">Версію та іншу інформацію про веб-сервер <br></td> <td width="284">Знайти адміністративні консолі сервера JBoss: <br><i>inurl:"/web-console/" intitle:«Administration Console»</i><br></td> </tr><tr><td width="168">Vulnerable Files <br></td> <td width="190">Скрипти, що містять відомі вразливості <br></td> <td width="284">Знайти сайти, які використовують скрипт, що дозволяє вивантажити довільний файл із сервера: <br><i>allinurl:forcedownload.php?file=</i><br></td> </tr><tr><td width="168">Vulnerable Servers <br></td> <td width="190">Інсталяційні скрипти, веб-шелли, відкриті адміністративні консолі тощо <br></td> <td width="284">Знайти відкриті PHPMyAdmin консолі, запущені від root: <br><i>intitle:phpMyAdmin "Welcome to phpMyAdmin ***" "running on * as root@*"</i><br></td> </tr><tr><td width="168">Error Messages <br></td> <td width="190">Різні помилки та попередження, що часто розкривають важливу інформацію - починаючи від версії CMS до паролів <br></td> <td width="284">Сайти, що мають помилки у виконанні SQL-запитів до бази: <br><i>"Warning: mysql_query()" "invalid query"</i><br></td> </tr><tr><td width="168">Files containing juicy info <br></td> <td width="190">Сертифікати, бекапи, електронні листи, логи, SQL-скрипти і т.д. <br></td> <td width="284">Знайти ініціалізаційні sql-скрипти: <br><i>filetype:sql та «insert into» -site:github.com</i><br></td> </tr><tr><td width="168">Files containing passwords <br></td> <td width="190">Все, що може містити паролі - логи, sql-скрипти і т.д. <br></td> <td width="284">Логи, що згадують паролі: <br><i>filetype:</i><i>log</i><i>intext:</i><i>password |</i><i>pass |</i><i>pw</i><br>sql-скрипти, що містять паролі: <br><i>ext:</i><i>sql</i><i>intext:</i><i>username</i><i>intext:</i><i>password</i><br></td> </tr><tr><td width="168">Sensitive Online Shopping Info <br></td> <td width="190">Інформація пов'язана з онлайн покупками <br></td> <td width="284">Знайти пінкоди: <br><i>dcid=</i><i>bn=</i><i>pin</i><i>code=</i><br></td> </tr><tr><td width="168">Network or vulnerability data <br></td> <td width="190">Інформацію, що не відноситься безпосередньо до веб-ресурсу, але що стосується мережі або інші не веб-сервіси <br></td> <td width="284">Знайти скрипти автоматичного налаштування проксі, що містять інформацію про внутрішню мережу: <br><i>inurl:прокси | inurl:wpad ext:pac | ext:dat findproxyforurl</i><br></td> </tr><tr><td width="168">Pages containing login portals <br></td> <td width="190">Сторінки, що містять форми входу <br></td> <td width="284">Веб-сторінки saplogon: <br><i>intext:«2016 SAP AG. All rights reserved.» intitle:«Logon»</i><br></td> </tr><tr><td width="168">Various Online Devices <br></td> <td width="190">Принтери, роутери, системи моніторингу та ін. <br></td> <td width="284">Знайти конфігураційну панель принтера: <br><i>intitle:"</i><i>hp</i><i>laserjet"</i><i>inurl:</i><i>SSI/</i><i>Auth/</i><i>set_</i><i>config_</i><i>deviceinfo.</i><i>htm</i><br></td> </tr><tr><td width="168">Advisories and Vulnerabilities <br></td> <td width="190">Сайти на вразливих версіях CMS <br></td> <td width="284">Знайти вразливі плагіни, через які можна завантажити довільний файл на сервер: <br><i>inurl:fckeditor -intext:«ConfigIsEnabled = False» intext:ConfigIsEnabled</i><br></td> </tr></tbody></table><br>Дорки найчастіше орієнтовані на пошук по всіх сайтах мережі інтернет. Але ні що не заважає обмежити область пошуку на якомусь сайті або сайтах. <br>Кожен запит до Google можна зосередити на певному сайті, додавши до запиту ключове слово "site:somesite.com". Дане ключове слово може бути дописане до будь-якого доріка. <p><b>Автоматизація пошуку вразливостей</b><br>Так народилася ідея написати просту утиліту, що автоматизує пошук вразливостей за допомогою пошукової системи (google) і спирається на Google Hack Database.</p><p>Утиліта є скриптом, написаним на nodejs з використанням phantomjs. Якщо бути точним, то скрипт інтерпретується самим фантомами. <br>Phantomjs - це повноцінний веб-браузер без графічного інтерфейсу, що керується за допомогою js-коду і володіє зручним API. <br>Утиліта отримала цілком зрозумілу назву – dorks. Запустивши її в командному рядку (без опцій) отримуємо коротку довідку з кількома прикладами використання: <br><br><img src='https://i2.wp.com/habrastorage.org/getpro/habr/post_images/edd/6fb/ccc/edd6fbccc5ec340abe750f3073c1b427.jpg' width="100%" loading=lazy loading=lazy><br>Рисунок 1 - Список основних опцій dorks</p><p>Загальний синтаксис утиліти: dork команда список опцій. <br>Детальний опис усіх опцій представлений у таблиці 4.</p><p>Таблиця 4 – Синтаксис dorks <br></p><table border="1"><tbody><tr><td width="214"><b>Команда</b><br></td> <td width="214"><b>Опція</b><br></td> <td width="214"><b>Опис</b><br></td> </tr><tr><td rowspan="4" width="214">ghdb <br></td> <td width="214">-l <br></td> <td width="214">Вивести нумерований список категорій дорків Google Hack Database <br></td> </tr><tr><td width="214">-c «номер або назва категорії» <br></td> <td width="214">Завантажити доріжки вказаної категорії за номером або назвою <br></td> </tr><tr><td width="214">-q «фраза» <br></td> <td width="214">Завантажити дорки, знайдені за запитом <br></td> </tr><tr><td width="214">-o "файл" <br></td> <td width="214">Зберегти результат у файл (тільки з опціями -c|-q) <br></td> </tr><tr><td rowspan="8" width="214">google <br></td> <td width="214">-d «дорк» <br></td> <td width="214">Вказати довільний дорк (опція може використовуватися багато разів, допускається поєднання з опцією -D) <br></td> </tr><tr><td width="214">-D "файл" <br></td> <td width="214">Використовувати доріжки з файлу <br></td> </tr><tr><td width="214">-s «сайт» <br></td> <td width="214">Задати сайт (опція може використовуватись багато разів, допускається поєднання з опцією -S) <br></td> </tr><tr><td width="214">-S "файл" <br></td> <td width="214">Використовувати сайти з файлу (перебір дорків буде виконаний по кожному сайту незалежно) <br></td> </tr><tr><td width="214">-f "фільтр" <br></td> <td width="214">Задати додаткові ключові слова (буде додано до кожного дорка) <br></td> </tr><tr><td width="214">-t «кількість мс» <br></td> <td width="214">Інтервал між запитами до Google <br></td> </tr><tr><td width="214">-T «кількість мс» <br></td> <td width="214">Таймаут, якщо зустрілася каптча <br></td> </tr><tr><td width="214">-o "файл" <br></td> <td width="214">Зберегти результат у файл (будуть збережені тільки ті доріжки, за якими щось знайшлося) <br></td> </tr></tbody></table><br>За допомогою команди ghdb можна отримати всі доркі з exploit-db за довільним запитом, або вказати всю категорію. Якщо вказати категорію 0 - то буде вивантажено всю базу (близько 4.5 тисяч дорків). <p>Список категорій, доступних на даний момент, представлений на малюнку 2. <br><br><img src='https://i1.wp.com/habrastorage.org/getpro/habr/post_images/b8f/b11/ffe/b8fb11ffeaced5066fd2fd9e43be67fb.jpg' width="100%" loading=lazy loading=lazy></p><p>Малюнок 2 - Список доступних категорій дорків GHDB</p><p>Командою google буде проведена підстановка кожного доріка в пошуковик google і проаналізовано результат щодо збігів. Дорки за якими щось знайшлося буде збережено у файл. <br>Утиліта підтримує різні режими пошуку: <br>1 дорк та 1 сайт; <br>1 дорк та багато сайтів; <br>1 сайт та багато дорків; <br>багато сайтів та багато дорків; <br>Список дорків та сайтів можна задати як через аргумент, так і через файл.</p><p><b>Демонстрація роботи</b><br>Спробуємо пошукати будь-які вразливості на прикладі пошуку повідомлень про помилки. За командою: dorks ghdb –c 7 –o errors.dorks будуть завантажені всі відомі доркі категорії “Error Messages” як показано на малюнку 3. <br><br><img src='https://i0.wp.com/habrastorage.org/getpro/habr/post_images/28c/386/641/28c386641d1528652f7f8e8b8089097a.jpg' width="100%" loading=lazy loading=lazy><br>Рисунок 3 – Завантаження всіх відомих дорків категорії “Error Messages”</p><p>Дорки завантажені та збережені у файл. Тепер залишається «натруїти» їх на якийсь сайт (див. рис. 4). <br><br><img src='https://i1.wp.com/habrastorage.org/getpro/habr/post_images/8e0/a8a/3af/8e0a8a3af4f26544da1faa584813dbff.jpg' width="100%" loading=lazy loading=lazy><br>Рисунок 4 – Пошук вразливостей сайту, що цікавиться, в кеші google</p><p>Через деякий час на досліджуваному сайті виявляється кілька сторінок, які містять помилки (див. рис. 5).</p><p><img src='https://i0.wp.com/habrastorage.org/getpro/habr/post_images/10b/e83/ba3/10be83ba38f172213ba06b3f9ad05a58.jpg' width="100%" loading=lazy loading=lazy><br>Рисунок 5 – Знайдені повідомлення про помилки</p><p>Підсумок у файлі result.txt отримуємо повний список доріжок, що призводять до появи помилки. <br>На малюнку 6 наведено результат пошуку помилок сайту. <br><br>Рисунок 6 – Результат пошуку помилок</p><p>У кеші по даному доріжку виводиться повний бектрейс, що розкривають абсолютні шляхи скриптів, систему управління вмістом сайту та тип бази даних (див. рис. 7). <br><br><img src='https://i1.wp.com/habrastorage.org/getpro/habr/post_images/0a9/455/588/0a9455588496d6609f5e13d598cb5a48.jpg' width="100%" loading=lazy loading=lazy><br>Рисунок 7 – розкриття інформації про влаштування сайту</p><p>Проте варто враховувати, що не всі доркі з GHDB дають справжній результат. Також google може не знайти точного збігу і показати схожий результат.</p><p>У такому разі розумніше використовувати свій персональний список дорків. Наприклад, завжди варто пошукати файли з «незвичайними» розширеннями, приклади яких наведено малюнку 8. <br><br><img src='https://i0.wp.com/habrastorage.org/getpro/habr/post_images/d7f/865/693/d7f865693f7fcf13137598eeed0ecb58.jpg' width="100%" loading=lazy loading=lazy><br>Рисунок 8 – Список розширень файлів, не характерних для звичайного веб-ресурсу</p><p>У результаті, за командою dorks google –D extensions.txt –f банк, з першого запиту google починає віддавати сайти з «незвичайними» розширеннями файлів (див. малюнок 9). <br><br><img src='https://i0.wp.com/habrastorage.org/getpro/habr/post_images/107/e1f/a2f/107e1fa2f41c4169bcc254cba2f2f4b6.jpg' width="100%" loading=lazy loading=lazy><br>Рисунок 9 – Пошук «нехороших» типів файлів на сайтах банківської тематики</p><p>Варто мати на увазі, що Google не приймає запити довші 32 слів.</p><p>За допомогою команди dorks google –d intext:”error|warning|notice|syntax” –f університет <br>можна знайти помилки інтерпретатора PHP на сайтах навчальної тематики (див. малюнок 10). <br><br><img src='https://i1.wp.com/habrastorage.org/getpro/habr/post_images/717/74f/e36/71774fe3656bfc058c42d43262fdec4a.jpg' width="100%" loading=lazy loading=lazy><br>Рисунок 10 – Пошук PHP-помилок часу виконання</p><p>Іноді користуватися якоюсь однією або двома категоріями дорків не зручно. <br>Наприклад, якщо відомо, що сайт працює на движку wordpress, то потрібні доріжки саме по wordpress. У такому випадку зручно користуватися пошуком Google Hack Database. Команда dorks ghdb –q wordpress –o wordpress_dorks.txt завантажить усі доріжки за Wordpress, як показано на малюнку 11: <br><br><img src='https://i1.wp.com/habrastorage.org/getpro/habr/post_images/dcb/ac9/a4e/dcbac9a4eb12f6ec775d9cccc2fdee87.jpg' width="100%" loading=lazy loading=lazy><br>Рисунок 11 – Пошук доріжок, що стосуються Wordpress</p><p>Знову повернемося до банків та командою dorks google –D wordpress_dords.txt –f банк спробуємо знайти щось цікаве, пов'язане з wordpress (див. малюнок 12). <br><br><img src='https://i0.wp.com/habrastorage.org/getpro/habr/post_images/042/0c2/c43/0420c2c435931704288b171f725ccc6a.jpg' width="100%" loading=lazy loading=lazy><br>Рисунок 12 – Пошук вразливостей Wordpress</p><p>Варто зауважити, що пошук на Google Hack Database не сприймає слова коротше 4 символів. Наприклад, якщо CMS сайту не відома, але відома мова – PHP. У такому разі можна відфільтрувати потрібне вручну за допомогою пайпа та системної утиліти пошуку dorks –c all | findstr /I php > php_dorks.txt (див. рисунок 13): <br><br><img src='https://i0.wp.com/habrastorage.org/getpro/habr/post_images/4c1/2f8/6e1/4c12f86e111074293c14d6a939c6ebab.jpg' width="100%" loading=lazy loading=lazy><br>Рисунок 13 – Пошук по всіх доріг, де є згадка PHP</p><p>Пошук вразливостей або якоїсь чутливої ​​інформації в пошуковій системі слід шукати тільки якщо по даному сайту є значний індекс. Наприклад, якщо у сайту проіндексовано 10-15 сторінок, то безглуздо щось шукати подібним чином. Перевірити розмір індексу просто – достатньо ввести в рядок пошуку google «site:somesite.com». Приклад сайту з недостатнім індексом показано на малюнку 14. <br><br><img src='https://i2.wp.com/habrastorage.org/getpro/habr/post_images/78e/1db/b4f/78e1dbb4fc78cd422cec311fc2ca9d33.jpg' width="100%" loading=lazy loading=lazy><br>Рисунок 14 – Перевірка розміру індексу сайту</p><p>Тепер про неприємне ... Періодично google може запросити каптчу - тут нічого не вдієш - її доведеться ввести. Наприклад, у мене, при переборі категорії «Error Messages» (90 дорків) каптча випала лише один раз.</p><p>Варто додати, що phantomjs підтримує роботу так само через проксі, як через http, так і через socks інтерфейс. Для включення режиму проксі потрібно розкоментувати відповідний рядок dorks.bat або dorks.sh.</p><p>Інструмент доступний у вигляді вихідного коду</p> <i> </i> <p>З появою комп'ютерів та інтернету з'явилося багато додаткових професій. <br><br><span class="Sm5oge95-2U"></span> <br>Фахівці з програмування зараз мають попит, адже через інтернет запускається багато різних проектів. Тому всім абітурієнтам варто замислитися над тим, щоб вибрати спеціальність, пов'язану з комп'ютерами.</p> <p>Як заробити на знанні PHP? У цій статті ми розглянемо один із напрямків програмування. Скриптова мова активно використовується для розробки програм.</p> <p>Технологія актуальна вже багато років, а якщо навчитися PHP, можна отримати непогані гроші. Найголовніше, що попит на фахівців із цієї галузі величезний.</p> <h2><span>Скільки заробляє програміст PHP?</span></h2> <p>Назвати точну суму неможливо, адже всі працюють у різних компаніях, а деякі взагалі працюють вдома. У будь-якому разі, активні працівники одержують непогану зарплату.</p> <p>Ті, хто працює, не виходячи з дому, отримують стільки, скільки встигнуть виконати замовлень. Розцінки в ніші встановлюються рідко, найчастіше їх обговорюють індивідуально.</p> <p>З плюсів роботи PHP програмістом варто відзначити серйозні перспективи та актуальність діяльності. За часів, коли інтернет проникає практично у всі сфери, працювати програмістом реально вигідно.</p> <p><b>Курс:</b> <span><b>«Заробіток на власному сервісі з e-mail розсилок»</b> </span>. Злив закритої складчини за 33 тисяч рублів. На складнику різні відгуки. Виходячи з відгуків, курс підійде для не для всіх, а тільки для тих, хто вже стикався з подібними курсами або розсилками. Матеріал надіслав <b>анонімний користувач</b><span><b>з коментарем:</b> </span>« <i>Зливаю цей курс, бо мене забанили на складчику просто так. По курсу скажу одне, що для невеликих розсилок підійде. Новачки нічого не зрозуміють, але подивитися для ознайомлення можуть. Відгуки різні, від коментування утримався. Якщо ви хочете навчитися розсилати масово листи — йдіть до Шелеста, він допоможе. Я вчився в нього, а цей курс купував тільки для загального розвитку. Сподіваюся, комусь буде корисно.</i>» <span><b>Матеріал може бути видалений на запит правовласника!</b> </span>Оцінюємо</p> <p><b>Опис курсу:</b> </p> <p>Унікальний авторський курс відео уроків Технологія швидкого старту в email розсилках - Як розсилати email-листи у великих обсягах "потенційним" клієнтам. З появою тенденції розвивати бізнес за допомогою інтернету та постійного збільшення кількості активних інтернет-користувачів, стали з'являтися різні навчальні курси, як новачків, так просунутих користувачів. Цей курс призначений для всіх, хто цікавиться, як ефективно отримати трафік і продаж, не витрачаючи на це величезні суми. Найефективнішим і зручнішим інструментом для інтернет-продажів є просування послуг і товарів за допомогою електронної пошти (e-mail маркетинг).</p> <p>Щоб організувати професійний e-mail маркетинг, а не просто масове поштове розсилання, необхідно виробити системний підхід, зібрати базу передплатників, автоматизувати цей процес для збільшення стабільного прибутку, сформувати статистику та інші завдання, які важко виконати без професійної допомоги. У цьому курсі в якості технології швидкого старту в email розсилках пропонується розсилати листи за допомогою VDS серверів. Навіщо платити великі гроші за розсилку сервісів, якщо можна налаштувати її самостійно? І отримати можливість розсилати будь-кому, що завгодно у великих обсягах листа своїм клієнтам. Цей курс допоможе налаштувати VDS сервер для автоматичного розсилання листів та створення професійного e-mail маркетингу, при цьому будь-який користувач зможе виконати налаштування, просто повторюючи покрокову інструкцію з відеокурсу автора. Крутий інструмент передовий досвід! Принадність SET полягає в тому, що він написаний на Python і при цьому не вимагає жодних сторонніх пітонівських модулів, які б довелося встановлювати додатково. Робота ведеться через інтерактивне меню, де лише необхідно вибирати бажані пункти роботи програми. підпунктів,так що впорається навіть дитина (тут стає трохи страшно) Але сам toolkit відтюнінгувати в деяких ситуаціях просто необхідно,і для цього доведеться звернутися до файлу налаштувань.</p> <p><b>Що Ви дізнаєтесь з курсу:</b> </p> <ul><li>Налаштування vds для email розсилок</li> <li>Як обходити спам фільтри. Причини, за якими листи потрапляють до спаму</li> <li>Як легко та швидко унікалізувати листи</li> <li>Як збирати 100% робочі та живі e-mail адреси,і не просто адреси,а e-mail</li> <li>адреси вашої цільової аудиторії</li> <li>Як працювати з SMTP та як піднімати SMTP сервери</li> <li>Отримайте весь потрібний софт</li> <li>Як заробити розсилаючи листи, з якими партнерками працювати</li> <li>Генерація шаблону з наступним його заливанням на ВДС сервер(а)</li> <li>Вилучення email,сканування inurl (readme.txt)</li> <li>Створення баз - чистка, розбивка, видалення дублів</li> </ul> <script>document.write("<img style='display:none;' src='//counter.yadro.ru/hit;artfast_after?t44.1;r"+ escape(document.referrer)+((typeof(screen)=="undefined")?"": ";s"+screen.width+"*"+screen.height+"*"+(screen.colorDepth? screen.colorDepth:screen.pixelDepth))+";u"+escape(document.URL)+";h"+escape(document.title.substring(0,150))+ ";"+Math.random()+ "border='0' width='1' height='1' loading=lazy loading=lazy>");</script> <div style="font-size:0px;height:0px;line-height:0px;margin:0;padding:0;clear:both"></div> </article> <div class='yarpp-related'> <div class="related-posts-title">Схожі публікації:</div> <ul class="related-items"> <li> <img src="/uploads/66bcc2d635ecbce4834b04b16b90ac48.jpg" width="180" height="160" alt="Про релігію та секти. ошо – засновник культу. Цитати про релігію" loading=lazy loading=lazy> <a href='https://kamnedelmiass.ru/uk/o-religii-i-o-sektah-osho---osnovatel-kulta-citaty-osho-o/' class='related-item__title'>Про релігію та секти. ошо – засновник культу. Цитати про релігію</a> </li> <li> <img src="/uploads/947aa21ebdcf39ec04e3a6480a37539e.jpg" width="180" height="160" alt="Коли і як утворилася земля Як з'явилися планети сонячної системи" loading=lazy loading=lazy> <a href='https://kamnedelmiass.ru/uk/kak-formirovalis-planety-solnechnoi-sistemy-kogda-i-kak-obrazovalas/' class='related-item__title'>Коли і як утворилася земля Як з'явилися планети сонячної системи</a> </li> <li> <img src="/uploads/73ae33f0f520813d89cb8d3322bcbcc8.jpg" width="180" height="160" alt="Причини вимирання динозаврів" loading=lazy loading=lazy> <a href='https://kamnedelmiass.ru/uk/prichiny-vymiraniya-dinozavrov-kogda-vymerli-dinozavry-aktivnyi/' class='related-item__title'>Причини вимирання динозаврів</a> </li> <li> <img src="/uploads/995969519203aaeae7ce93a3d200a7c4.jpg" width="180" height="160" alt="Робота з лініями ймовірності та вибір плану майбутнього у власній Іскрі" loading=lazy loading=lazy> <a href='https://kamnedelmiass.ru/uk/rabota-s-liniyami-veroyatnosti-i-vybor-plana-budushchego-v-sobstvennoi-iskre/' class='related-item__title'>Робота з лініями ймовірності та вибір плану майбутнього у власній Іскрі</a> </li> </ul> </div> <style> .nafAdaptMedia { width: 100%; height: 300px; } @media(min-width: 500px) { .nafAdaptMedia { width: 100%; height: 300px; } } @media(min-width: 800px) { .nafAdaptMedia { width: 100%; height: 300px; } } </style> <style> .nafAdaptText { width: 100%; height: 300px; } @media(min-width: 500px) { .nafAdaptText { width: 100%; height: 300px; } } @media(min-width: 800px) { .nafAdaptText { width: 100%; height: 300px; } } </style> </div>  <div id="rightColomn"> <div class="title">Категорії</div> <aside> <ul id="asidemenu" class="menu"> <li id="menu-item-" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-"><a href='https://kamnedelmiass.ru/uk/category/recepty/' class='menu-image-title-after menu-image-not-hovered'><span class="menu-image-title">Рецепти</span></a></li> <li id="menu-item-" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-"><a href='https://kamnedelmiass.ru/uk/category/byt/' class='menu-image-title-after menu-image-not-hovered'><span class="menu-image-title">Побут</span></a></li> <li id="menu-item-" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-"><a href='https://kamnedelmiass.ru/uk/category/energetika/' class='menu-image-title-after menu-image-not-hovered'><span class="menu-image-title">Енергетика</span></a></li> <li id="menu-item-" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-"><a href='https://kamnedelmiass.ru/uk/category/derzhim-formu/' class='menu-image-title-after menu-image-not-hovered'><span class="menu-image-title">Тримаємо форму</span></a></li> <li id="menu-item-" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-"><a href='https://kamnedelmiass.ru/uk/category/prazdniki/' class='menu-image-title-after menu-image-not-hovered'><span class="menu-image-title">Свята</span></a></li> <li id="menu-item-" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-"><a href='https://kamnedelmiass.ru/uk/category/zdorovaya-spina/' class='menu-image-title-after menu-image-not-hovered'><span class="menu-image-title">Здорова спина</span></a></li> <li id="menu-item-" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-"><a href='https://kamnedelmiass.ru/uk/category/narodnye-recepty/' class='menu-image-title-after menu-image-not-hovered'><span class="menu-image-title">Народні рецепти</span></a></li> <li id="menu-item-" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-"><a href='https://kamnedelmiass.ru/uk/category/uhod-za-volosami/' class='menu-image-title-after menu-image-not-hovered'><span class="menu-image-title">Догляд за волоссям</span></a></li> <li id="menu-item-" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-"><a href='https://kamnedelmiass.ru/uk/category/uhod-za-rukami/' class='menu-image-title-after menu-image-not-hovered'><span class="menu-image-title">Догляд за руками</span></a></li> <li id="menu-item-" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-"><a href='https://kamnedelmiass.ru/uk/category/massazh/' class='menu-image-title-after menu-image-not-hovered'><span class="menu-image-title">Масаж</span></a></li> </ul> </aside> <div class="banner" id="text-4"> <div class="textwidget"> </div> </div> </div> </div> </div> <div class="hfooter"></div> </div> <footer> <div class="container"> <ul> <li><a href='https://kamnedelmiass.ru/uk/sitemap.xml'>Карта сайту</a></li> </ul> <div class="copy">2022, kamnedelmiass.ru - Я красива та здорова стильна та струнка. Непізнане</div> </div> </footer> <script type="text/javascript"> jQuery(document).ready(function(){ var q2w3_sidebar_1_options = { "sidebar" : "banner", "margin_top" : 10, "margin_bottom" : 0, "screen_max_width" : 0, "width_inherit" : false, "widgets" : ['text-4'] } ; q2w3_sidebar(q2w3_sidebar_1_options); setInterval(function () { q2w3_sidebar(q2w3_sidebar_1_options); } , 1500); } ); </script> <script type='text/javascript' src='https://kamnedelmiass.ru/wp-content/plugins/akismet/_inc/form.js?ver=3.1.10'></script> <script type='text/javascript' src='https://kamnedelmiass.ru/wp-content/plugins/fitvids-for-wordpress/jquery.fitvids.js?ver=1.1'></script> <script type="text/javascript"> jQuery(document).ready(function () { jQuery('body').fitVids(); } ); </script><script type="text/javascript" id="slb_context">/* <![CDATA[ */if ( !!window.jQuery ) { (function($){ $(document).ready(function(){ if ( !!window.SLB ) { { $.extend(SLB, { "context":["public","user_guest"]} );} } })} )(jQuery);} /* ]]> */</script> </body> </html>