Как стать автором
Обновить
1
0.1

Пользователь

Отправить сообщение

Простой способ развернуть телеграмм бота с Aiogram + Webhook на хостинг

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров19K

Расскажу самый простой и бесплатный способ развернуть на хостинге телеграмм бота, написанного на aiogram и перевести на webhook. Посмотреть видео-версию, которую я разместил, можно на https://youtu.be/Gw-cVvsaOGE .

Бот будет работать 24/7 пожизненно.

Без использования VPS, фреймворка (django, flask, fastapi,..), pythonanywhere и heroku.

Краткое содержание действий:

Пункт 1. Сохранить пример к себе, регистрация на хостинге.

Пункт 2. Через FTP поместить наш файл бота на хостинге.

Пункт 3. Через SSH установить библиотеку aiogram.

Пункт 4. Настроить сервис бота на хостинге.

Пункт 5. Настроить веб-сайт на переадресацию всех запросов на сервис бота.

Пункт 6. Отредактировать файл запуска бота с учетом наших настроек.

Пункт 7. Перезапуск сервиса бота, проверка бота. Просмотр логов.

________________________________________________________

Пункт 1. Сохранить пример к себе, регистрация на хостинге.

Идем на страницу официальной документации:

https://docs.aiogram.dev/en/v2.25.1/examples/webhook_example.html

Копируем содержимое webhook_example.py к себе в файл webhook.py и сохраняем.

Читать далее
Всего голосов 6: ↑5 и ↓1+7
Комментарии10

Как я получаю платежи из-за границы в 2023

Уровень сложностиПростой
Время на прочтение7 мин
Количество просмотров60K

За прошедший год, со всеми известными событиями, получение платежей из-за границы стало серьезной проблемой, как для фрилансеров, работающих с иностранными заказчиками, так и для компаний, предоставляющих онлайн сервисы и продающих товары зарубеж. Почти все Российские банки отключены от SWIFT, а те, кто остались, существенно увеличили лимиты, как по бизнес, так и по индивидуальным счетам клиентов. Возможностей получать деньги, с каждым днем, становится все меньше и меньше.

У меня есть несколько проектов с клиентами из США и ЕС. Мне очень не хотелось их терять и в 2022 году я попробовал, как мне кажется, все доступные способы, как приема платежей из-за рубежа, так и оплаты различных сервисов и услуг: SWIFT-переводы, счета в зарубежных банках, крипто-процессинговые операции, посреднические сервисы и платформы. Идеального решения нет, все они имеют свои плюсы и минусы, далее, собрал и описал те, которые попробовал я сам.

Читать далее
Всего голосов 17: ↑11 и ↓6+10
Комментарии20

Как подключить платежную систему с Payments к Telegram

Время на прочтение6 мин
Количество просмотров35K

Telegram-боты позволяют решать самые разные задачи. С помощью них можно автоматизировать рабочие процессы. В статье показываем, как разработать бота для приема платежей и развернуть его на облачном сервере.
Читать дальше →
Всего голосов 41: ↑40 и ↓1+51
Комментарии8

Реализация алгоритма SHA-256

Уровень сложностиПростой
Время на прочтение8 мин
Количество просмотров36K

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

Читать далее
Всего голосов 25: ↑24 и ↓1+25
Комментарии14

SQL-инъекции для самых маленьких

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров84K

Мы переходим к технической части статей про тестирование на проникновение. И начнем как всегда с внешнего пути – с эксплуатации веб уязвимостей. И начнем мы с SQL – инъекций.

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

Читать далее
Всего голосов 17: ↑13 и ↓4+12
Комментарии11

SQL инъекции для самых маленьких Часть 2. UNION запросы

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров13K

Это вторая по счету статься из цикла про SQL инъекции. В данном статье мы с вами рассмотрим особенности SQL инъекций при использовании команды UNION.

Читать далее
Всего голосов 4: ↑1 и ↓3-2
Комментарии8

SQL-инъекции для самых маленьких. Часть 3

Время на прочтение5 мин
Количество просмотров12K

И это заключительная часть цикла статей про SQL-инъекции. В ней мы с вами узнаем, как можно собирать информацию о БД путем применения инъекций и затронем тему слепых SQL-инъекций.

Читать далее
Всего голосов 8: ↑7 и ↓1+10
Комментарии17

Книга «Идиомы bash»

Время на прочтение13 мин
Количество просмотров11K
image Привет, Хаброжители!

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

Авторы Карл Олбинг (Carl Albing) и Джей Пи Фоссен (JP Vossen) покажут, как использовать мощь и гибкость командной оболочки. Даже если вы умеете писать сценарии на bash, эта книга поможет расширить ваши знания и навыки. Независимо от используемой ОС — Linux, Unix, Windows или Mac — к концу книги вы научитесь понимать и писать сценарии на экспертном уровне. Это вам обязательно пригодится.

Вы познакомитесь с идиомами, которые следует использовать, и такими, которых следует избегать.
Читать дальше →
Всего голосов 11: ↑10 и ↓1+11
Комментарии9

Кто продаёт спутниковые фотографии и сколько они стоят

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров22K


Статья содержит ответы на ряд популярных вопросов, о возможности строительства и запуска космических спутников, способах и стоимости заказа космической фотосъёмки и о ресурсах, на которых можно найти бесплатные спутниковые фото, а также о том, какую пользу приносит использование спутниковых фото в разных сферах жизни.
Читать дальше →
Всего голосов 40: ↑38 и ↓2+57
Комментарии24

Оперативная память. Строение и устройство (RAM, ОЗУ)

Время на прочтение4 мин
Количество просмотров22K

Оперативная память это важная часть любой компьютерной системы и сейчас я объясню, почему это так.

Читать далее
Всего голосов 12: ↑10 и ↓2+9
Комментарии6

msgspec: быстрый и экономичный парсинг JSON на Python

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров16K

В библиотеке msgspec много функций, например кодирование, поддержка MessagePack (альтернативный формат, который быстрее JSON) и другие. Если вы регулярно парсите файлы JSON, и у вас проблемы с производительностью или памятью, или просто нужны встроенные схемы, то попробуйте msgspec.


Ниже рассказываем о библиотеке подробнее. Итак, чтобы обработать большой файл JSON на Python без сбоев и аварийного завершения, нужно:


  1. Убедиться, что используется не слишком много памяти.
  2. Спарсить файл как можно быстрее.
  3. В идеале также заранее убедиться, что данные валидны и имеют правильную структуру.

Конечно, можно объединить решения с несколькими библиотеками. А можно — всего с одной. Схемы, быстрый парсинг и хитрые приемы для уменьшения потребления памяти — все это новая библиотека msgspec.

Читать дальше →
Всего голосов 8: ↑4 и ↓4+1
Комментарии4

Фотореализм без Midjourney: тестируем новую нейросеть

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров22K

Бесплатных генераций в Midjourney больше нет и пришлось искать альтернативы.

Нейросеть Midjourney покорила сотни тысяч пользователей по всему миру качеством генерации картинок. Изображения, созданные там, многие путают с реальными рисунками или фотографиями. Лично для меня в Midjourney нашлись недостатки — необходимость работать в Discord (редко пользуюсь в повседневной жизни) и стоимость попыток генерации (200 попыток стоят $10, а подписка $30), а еще писать запросы можно только на английском.

Можно попробовать запустить Automatic111 или Dreambooth для генерации, но взять именно эту нейросеть не получится, а с CivitAI или Huggingface не каждый умеет работать. Преимуществом работы в Telegram‑боте является отсутствие необходимости в своём «железе», ведь для запуска подобной нейросети потребуется минимум 12 Гб видеопамяти, а ещё это всё настроить самому надо. В общем, когда за тебя уже всё сделали и бесплатно дают воспользоваться, то это круто. Да, есть и сайты, на которых можно генерировать изображения, но мессенджер всегда под рукой и это стало ещё одним плюсом для меня.

Авторы указывают, что нейросеть обучалась на базе архитектуры Stable Diffusion. Сравнивая с моделями из CivitAI и HuggingFace, убедился, что синтаксис запросов у данной модели намного проще, хоть и не без грехов.

Учитывая минусы Midjourney, решил попробовать другую нейросеть для генерации изображений от российских разработчиков — TurboText. Первое, что меня интересовало, смогу ли я получать реалистичные картинки, не хуже чем в MJ. Также обращал внимание на скорость работы, стоимость тарифов и удобство использования. Сначала покажу свои примеры, которые удалось сгенерировать по простым запросам, а после озвучу собственные выводы.

Посмотреть примеры
Всего голосов 17: ↑10 и ↓7+8
Комментарии56

Как вернуть деньги за технически сложный товар ненадлежащего качества

Время на прочтение15 мин
Количество просмотров69K

Привет Хабр! Возможно тема возврата денежных средств за приобретенный товар поднималась и ранее, но положения законодательных актов и судебные позиции склонны со временем меняться. Решил для читателей собрать в одном месте все правовые нормы, разложить по полочкам права покупателя и обязанности продавца, а также объяснить с точки зрения законодательства процесс осуществления возврата денежных средств за технически сложный товар. И заодно раз и навсегда ответить на вопрос, почему в случае обнаружение неисправности устройства надо всегда фиксировать все совершенные действия.

Читать далее
Всего голосов 15: ↑13 и ↓2+14
Комментарии25

6 новых возможностей CSS, которые должен знать каждый front-end разработчик в 2023 году

Уровень сложностиПростой
Время на прочтение2 мин
Количество просмотров26K

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

Я считаю, что каждый front-end разработчик должен знать, как использовать container query, создавать привязку к прокрутке, избегать position: absolute с помощью grid, быстро создавать круг, использовать каскадные слои и достигать большего с помощью логических свойств. Эта статья — описание каждой из 6 новых возможностей CSS.

Читать далее
Всего голосов 17: ↑10 и ↓7+5
Комментарии6

Ультимативный гайд по HTTP. Структура запроса и ответа

Уровень сложностиПростой
Время на прочтение9 мин
Количество просмотров79K

Привет! Меня зовут Ивасюта Алексей, я техлид команды Bricks в Авито в кластере Architecture. Я решил написать цикл статей об истории и развитии HTTP, рассмотреть каждую из его версий и проблемы, которые они решали и решают сейчас. 

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

Читать далее
Всего голосов 16: ↑14 и ↓2+12
Комментарии4

Введение в библиотеку Transformers и платформу Hugging Face

Время на прочтение17 мин
Количество просмотров57K

Библиотека Transformers предоставляет доступ к огромному кол-ву современных предобученных моделей глубокого обучения. В основном основаных на архитектуре трансформеров. Модели решают весьма разнообразный спектр задач: NLP, CV, Audio, Multimodal, Reinforcement Learning, Time Series.

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

Читать далее
Всего голосов 23: ↑23 и ↓0+23
Комментарии12

Разбор атак на части: SYN-flood

Время на прочтение6 мин
Количество просмотров54K
Spoofed SYN — атака, при которой заголовки пакетов подделывается таким образом, что место реального отправителя занимает произвольный либо несуществующий IP-адрес.

Так как по сути SYN является частым инструментом "интенсивной конкурентной борьбы" и — в то же время — большинство решений DDoS mitigation показывают впечатляющую эффективность именно на этом виде атак, то и мы начнем c SYN-flood, рассмотрев spoofed-вид атаки, как самый грозный из них.
Читать дальше →
Всего голосов 62: ↑53 и ↓9+44
Комментарии32

Защита от SQL-инъекций в PHP и MySQL

Время на прочтение26 мин
Количество просмотров253K
К своему удивлению, я не нашёл на Хабре исчерпывающей статьи на тему защиты от инъекций. Поэтому решил написать свою.

Несколько пространный дисклеймер, не имеющий прямого отношения к вопросу
Давайте признаем факт: количество статей (и комментариев) на тему защиты от SQL-инъекций, появившихся на Хабре в последнее время, говорит нам о том, что поляна далеко не так хорошо истоптана, как полагают некоторые. Причём повторение одних и тех же ошибок наводит на мысль, что некоторые заблуждения слишком устойчивы, и требуется не просто перечисление стандартных техник, а подробное объяснение — как они работают и в каких случаях должны применяться (а в каких — нет).

Статья получилась довольно длинной — в ней собраны результаты исследований за несколько лет — но самую важную информацию я постараюсь компактно изложить в самом начале, а более подробные рассуждения и иллюстрации, а так же различные курьёзы и любопытные факты привести в конце. Также я постараюсь окончательно развеять множественные заблуждения и суеверия, связанные с темой защиты от инъекций.

Я не буду пытаться изображать полиглота и писать рекомендации для всех БД и языков разом. Достаточное количество опыта у меня есть только в веб-разработке, на связке PHP/MySQL. Поэтому все практические примеры и рекомендации будут даваться для этих технологий. Тем не менее, изложенные ниже теоретические принципы применимы, разумеется, для любых других языков и СУБД.

Сразу отвечу на стандартное замечание про ORM, Active record и прочие query builders: во-первых, все эти прекрасные инструменты рождаются не по мановению волшебной палочки из пены морской, а пишутся программистами, используя всё тот же грешный SQL. Во-вторых, будем реалистами: перечисленные технологии — хорошо, но на практике сырой SQL постоянно встречается нам в работе — будь то legacy code или развесистый JOIN, который транслировать в ORM — себе дороже. Так что не будем прятать голову в песок и делать вид, что проблемы нет.

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

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

Правила, соблюдение которых гарантирует нас от инъекций


  1. данные подставляем в запрос только через плейсхолдеры
  2. идентификаторы и ключевые слова подставляем только из белого списка, прописанного в нашем коде.

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

Но вперёд, читатель — перейдём уже к подробному разбору.
Читать дальше →
Всего голосов 128: ↑98 и ↓30+68
Комментарии97

Как вычислить (город пользователя) по IP

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

Местоположение — это важно.


Читать дальше →
Всего голосов 40: ↑35 и ↓5+30
Комментарии40

Что такое Selenium?

Время на прочтение4 мин
Количество просмотров554K
Время от времени мне приходится распутывать терминологические хитросплетения, связанные с употреблением словосочетаний, в которых встречается слово Selenium – Selenium 2.0, Selenium IDE, Selenium RC, Selenium WebDriver, Selenium Server, Selenium Grid.

Путаница возникает во многом из-за того, что нигде нет чёткого описания всех этих терминов на одной страничке, и я постараюсь восполнить этот информационный пробел.
Читать дальше →
Всего голосов 42: ↑36 и ↓6+30
Комментарии31

Информация

В рейтинге
3 224-й
Зарегистрирован
Активность