Регулярно требуется преобразовать какой-либо текст в максимально совместимый текст для URL, имени файла, имени объекта в каком-то софте и тд. Требования совместимости простые: в тексте должны быть только допустимые символы. Обычно это a-z, 0-9 и "_" или "-". То есть, только прописные буквы латинского алфавита и цифры (как пример).
Допустим, нам нужно название статьи в блоге преобразовать в slug для добавления его в URL этой статьи. Как это лучше всего сделать?
В Django по умолчанию есть готовая функция slugify для таких случаев.
Но я её никогда не использую. Почему? Потому что её недостаточно!
Приведём пример
>>> from django.utils.text import slugify
>>> slugify('This is a Title')
'this-is-a-title'
Пока всё отлично
>>> slugify('This is a "Title!"')
'this-is-a-title'
Спец символы удалились, всё хорошо.
>>> slugify('Это заголовок статьи')
''
Вот и приехали 😢. Если текст не английский то буквы просто игнорируются. Можно это поправить
>>> slugify('Это заголовок статьи', allow_unicode=True)
'это-заголовок-статьи'
Но тогда мы не вписываемся в условие. У нас появилась кириллица в тексте.
Так как я часто пишу сайты для русскоязычных пользователей эта проблема весьма актуальна. Я не использую стандартную функцию и всегда пишу свою.
Оригинал я не беру в расчёт и пишу полностью свою функцию. И так, по порядку:
🔸1. Исходный текст:
>>> text = 'Мой заголовок №10 😁!'
Взял специально посложней со специальными символами.
🔸2. Транслит
Необходимо сделать транслит всех символов в латиницу. Здесь очень выручает библиотека unidecode. Помимо простого транслита кириллицы в латиницу она умеет преобразовывать спец символы и иероглифы в текстовые аналоги.
from unidecode import unidecode
>>> unidecode("Ñ Σ ® µ ¶ ¼ 月 山")
'N S (r) u P 1/4 Yue Shan'
Очень крутая библиотека, советую👍
В нашем случае получаем такое преобразование:
>>> text = unidecode(text)
>>> print(text)
'Moi zagolovok No. 10 !'
Отличный транслит. Смайл просто удалился, хотя я ждал что-то вроде :). Ну и ладно, всë равно невалидные символы.
А еще наш код уже поддерживает любой язык, будь то хинди или корейский.
🔸4. Фильтр символов
Unidecode не занимается фильтрацией по недопустимым символам. Это мы делаем в следующем шаге через regex. Просто заменим все символы на "_" если они вне указанного диапазона.
>>> text = re.sub(r'[^a-zA-Z0-9]+', '_', text)
>>> print(text)
'Moi_zagolovok_No_10_'
Символ "+" в паттерне выручает когда несколько недопустимых символов идут рядом. Все они заменяются на один символ "_".
🔸5. Slugify
Осталось удалить лишние символы по краям и сделать нижний регистр
>>> text = text.strip('_').lower()
>>> print(text)
'moi_zagolovok_no_10'
Получаем отличный slug! 😎
🌎 Полный код в виде функции.
______________
PS. Проверку что в строке остался хоть один допустимый символ я бы вынес в отдельную функцию.
#libs#tricks#django
🛑 A SystemBC-linked server exposed 1,570+ infected systems, mostly corporate.
An affiliate of The Gentlemen #ransomware used the proxy malware for covert access and staging—not all were confirmed ransomware victims.
🔗 Read → https://thehackernews.com/2026/04/systembc-c2-server-reveals-1570-victims.html
🛑 Qilin and Warlock #ransomware are disabling defenses before attacks using BYOVD techniques.
Qilin uses a side-loaded DLL to kill 300+ EDR drivers via vulnerable kernel drivers. Warlock exploits SharePoint and uses similar drivers to bypass kernel-level security, often delaying ransomware execution.
🔗 Find the technique disabling EDR tools → https://thehackernews.com/2026/04/qilin-and-warlock-ransomware-use.html
🔥 Germany’s BKA has identified a key figure behind the REvil #ransomware group.
Daniil Shchukin (“UNKN”) is accused of leading REvil, linked to 130 attacks in Germany causing over €35.4M in damage, with €1.9M in ransom paid.
🔗 Learn more here → https://thehackernews.com/2026/04/bka-identifies-revil-leaders-behind-130.html
⚡ A Russian botnet operator tied to #ransomware attacks on U.S. firms has been sentenced.
2 years prison + $100K fine for co-running TA551, which sold access to hacked systems used by gangs like BitPaymer, leading to $14M+ in extortion.
🔗 How TA551 enabled ransomware attacks on 70+ companies → https://thehackernews.com/2026/03/russian-hacker-sentenced-to-2-years-for.html
Five attacks. Five lessons. One goal: resilience.
From Boeing to Ascension, cybersecurity experts from Halcyon examined #ransomware incidents that reshaped cyber strategy - and the takeaways defenders can apply today.
Curious which decisions changed the outcome? Swipe → to see the high-level hits.
Don’t wait for an incident to learn from one.
Download the full guide: https://thn.news/5-attacks-lessons
Five attacks. Five lessons. One goal: resilience.
From Boeing to Ascension, cybersecurity experts from Halcyon examined #ransomware incidents that reshaped cyber strategy - and the takeaways defenders can apply today.
Curious which decisions changed the outcome? Swipe → to see the high-level hits.
Don’t wait for an incident to learn from one.
Download the full guide: https://thn.news/attacks-changed-everything
🤦 Hackers built #ransomware — then left the key behind.
CyberVolk’s new VolkLocker targets 💻 Windows and 🐧 Linux.
The flaw? the lock key is hard-coded and saved as a plain file on the system.
Files can be unlocked for free — but after 48 hours, it can wipe 🗑️ personal folders.
🔗 Read: https://thehackernews.com/2025/12/volklocker-ransomware-exposed-by-hard.html
• История небольшой компании, которая столкнулась с атакой шифровальщика и понесла серьезные убытки.
• Ничем не примечательный летний день, жаркая пятница. Неделя была насыщенная и про себя я решил, что было бы недурно закончить сегодня пораньше. Как говорится: хочешь рассмешить бога, расскажи ему о своих планах.
• Все началось с утреннего звонка коллеги - не может подключиться к корп сети через VPN, не проходит соединение. Ок, открываю Cisco AnyConnect, пытаюсь соединиться иии, действительно. Выдает какую-то ошибку (уже не помню какую), но при этом IP пингуется и я могу подключиться к циске через ASDM. Странно, конечно. Штош, придется ехать в серверную и смотреть на месте. Неспешно собираюсь, а в это время начинают поступать все новые звонки и сообщения. Возникает нехорошее предчувствие. Доезжаю до серверной, жму кнопочку на KVM, вижу работающий TS. Логинюсь на него и на рабочем столе вижу файл Your_files_have_been_encrypted.html
• Я. Понял. Сразу. Все.
• Люди по-разному реагируют на стресс и потрясение. Кто-то впадает в ступор, кто-то в панику, кто-то в истерику. Мне довелось ощутить нечто среднее. Какой-то момент я стоял и тупо смотрел на этот файл. Очевидно, что это фиаско, но я еще не думал о последствиях, способах решения, не думал вообще ни о чем осязаемом. Просто уставился на экран и хотел, чтобы все это было лишь дурным сном. Увы.
• Спустя время медленно навожу курсор на файл, два раза кликаю и вижу текст на английском: вас взломали, идентификатор TOX чата, угрозы в случае трехдневного игнора удалить приватный ключ и слить все данные на хакерском форуме. Рансомлассика.
• Достаю телефон, звоню генеральному и спокойно говорю: «Нас взломали». Все, точка невозврата. Начинается приключение....
➡️https://habr.com/ru/articles/1013954/
#Ransomware
🔒 Шифровальщики. Техники и тактики самых распространенных группировок.
• Направление программ-вымогателей сохраняет свое лидерство в рейтинге киберугроз для бизнеса по сей день. Я нашел очень интересный материал, содержащий техники, тактики и процедуры, которые относятся к определенным группам шифровальщиков. Информация представлена в виде красивой матрицы в структурированном виде, с пруфами и сигма-правилами.
➡https://app.tidalcyber.com/share/9a0fd4e6-1daf-4f98-a91d-b73003eb2d6a
#Ransomware
🤝 Переговоры с шифровальщиками. Реальные переписки.
• Автор этого репозитория собрал реальные переписки с вымогателями за последние годы и разделил материал по группировкам. Посмотрите, как общаются хакеры в чатах с жертвами:
➡https://github.com/Casualtek/Ransomchats
• Дополнительный материал:
➡https://habr.com/post/790526/
#Ransomware
99% of security leaders are confident in their ability to detect attacks. Yet nearly half of those who experienced one admit they detected it too late to prevent significant damage. 🤔
Something doesn't add up.
Halcyon recently surveyed 100 CISOs and senior security leaders on #ransomware, and their findings show the confidence-vs-reality gap is bigger than it should be:
⚠️ 98% use EDR; only 25% actually trust it to defend against today's threats
⚠️#AI is giving attackers a 13:1 speed advantage over defenders
⚠️ 90% rate their security as sufficient - yet nearly half experienced moderate to significant disruption
The problem isn't experience or awareness. It's that most tools in use today weren't purpose-built for ransomware - and attackers know it.
The gap is real, it's measurable, and it's getting wider.
👉 Read the full report: https://thn.news/halcyon-survey-2026