Задумался о переходе с привычной Windows на дистрибутив на базе GNU/Linux? Давай вместе попробуем разобраться как сделать переход менее болезненным.
Для начала нужно выбрать сам дистрибутив. Я посоветую что-нибудь, базирующееся на deb архитектуре. Почему? Потому что готового программного обеспечения для дистрибутивов Debian и его форки гораздо больше, чем например для rpm архитектуры.
Я предпочитаю Debian, но ты можешь для начала попробовать Ubuntu или Linux Mint. В случае с Linux Mint есть две в…
Network Mapper or NMAP is powerful open source network scanner, which may scan network hosts, subnets and ports. NMAP may be used as CLI tool or with GUI (Zenmap). Today we show how it works in command line interface.
sudo apt install nmap -y
user@localhost:~$ nmap --help
Nmap 7.93 ( https://nmap.org )
Usage: nmap [Scan Type(s)] [Options] {target specification}
...
What are regular expressions? These are patterns that help us work with text. Regular expressions (regex, regexp) used to match sequences of characters in strings: search, edit, delete any area in large texts, data generation or validation, and so on. Regexes can be used in programming languages, command line interfaces, etc...
For example I want validate email addresses from my domain. The expression will look like this:
^.*\@example\.com$
^ symbol means the beginning of an expression.
Next symbol…
Your virtual private servers (VPS) is under brute-force attacks by SSH protocol, or bad bots crawling your site and searching locations like admin panels, index.php files, etc? I tried to find solution for protecting projects in WEB. His name - Fail2ban.
Note: this is not completely 100 percent protection, but is better than nothing.
Here some examples of bad bots' headers:
Go-http-client/1.1
python-requests/2.32.3
Python/3.11 aiohttp/3.9.3
Python-urllib/3.8
python-httpx/0.27.0
Ruby
curl/7.61.1
libwww-pe…
This tutorial shows, how to build search view for your Django application with SearchVector class.
Why SearchQuery? SearchQuery translates the terms the user provides into a search query object that the database compares to a search vector. By default, all the words the user provides are passed through the stemming algorithms, and then it looks for matches for all of the resulting terms (documentation).
1. Configure DATABASE dictionary for using PostgreSQL database management system in your proje…
For protecting some views from anonymous users you need to use authentication system. Django provides built-in functions for auth implementation (documentation).
What is authentication? Authentication passes in two steps:
- User identification - searching in database entered username.
- Authentication. If username from first step exists, system comparing password from "password" field with password, saved in database. Before comparison password must be hashed, because database not storing raw…
Why exactly Docker compose? Docker compose used when you want to run your applications on any machine and start it by one click. This way called as serverless and cross platform architecture. Docker allow you to run applications on any computer, where it installed. It's very convenient and simple.
Complete structure of project:
demo_project/
|
|-- manage.py
|
|-- env/
|
|-- backend/
&n…
Django SECRET_KEY need for providing cryptographic signing (documentation). This value is stored in <your_app>/settings.py file. When you start new project it will be generated from built-in function (source code). For production deployment SECRET_KEY must be strong and reliably protected.
These steps help you for generating new SECRET_KEY value:
1. Activate your project's virtual environment:
source env/bin/activate
2. Enter in Django's manage.py shell:
python3 manage.py shell
3. Import get_ra…
Telegram provides API for sending messages to users as bot. You may send messages via HTTP POST method using any programming language. I use Python and Requests library.
URL address for sending message:
https://api.telegram.org/bot<token_from_botfather>/sendMessage
Body of message:
{
"chat_id": chat_id,
"text": "Hello World!"
}
If you want to markup your message with Markdown - add "parse_mode" parameter in body of JSON:
{
"chat_id": chat_id,…
Hardcoding tokens, database credentials and other sensitive data in .py files is not secure. Many people use django-environ library, but I think it inconvenient. So I use yaml files for storing sensitive data and pyyaml library for reading data of them.
Create project folder:
mkdir myproject
cd myproject
python3 -m venv env
source env/bin/activate
pip3 install django pyyaml