Secure masonite apps from spamming Bots, IP's and SQL injections.
Project description
Masonite Security
Secure masonite apps from spamming Bots, IP's and SQL injections.
Features
- Block IP's
- Block Bots
- Throttle Requests
- Block SQL Injections
Installation
pip install masonite-security
Configuration
Add SecurityProvider to your project in config/providers.py
:
# config/providers.py
# ...
from security import SecurityProvider
# ...
PROVIDERS = [
# ...
# Third Party Providers
SecurityProvider,
# ...
]
Then you can publish the package resources by doing:
python craft package:publish security
Register Middleware.
You can setup the security middleware globally or per route basis.
Global Setup
Open Kernal.py
file and add SecurityMiddleware
in "route_middleware" section:
route_middleware = {
"web": [SessionMiddleware, LoadUserMiddleware, VerifyCsrfToken, SecurityMiddleware],
"auth": [AuthenticationMiddleware],
}
Per Route Setup
In your routes add protect
middleware like this:
Route.get("/", "WelcomeController@show").middleware("protect")
Configure Security Config
Update your config/security.py
file based on your needs:
# config/security.py
# ...
BLOCK_IP = True
BLOCK_BOTS = True
THROTTLE_REQUESTS = True
MAX_REQUESTS = 20 # Max requests per IP (default: 20)
IP_BLOCK_DURATION = 60 # seconds (default: 60)
# list of IP addresses to block (default: [])
BLOCKED_IPS = [
#...
]
# list of Bot Agents to block
BLOCKED_BOTS = [
#...
]
# ...
Contributing
Please read the Contributing Documentation here.
Maintainers
License
security is open-sourced software licensed under the MIT license.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for masonite_security-0.0.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a90ec13f89359cb7216a1c6e7448d72f9607c27a79860230605c94a2f97d1090 |
|
MD5 | 85008c4681d988c60690e3fa1f019f39 |
|
BLAKE2b-256 | 4b289967d12083844244e5431c08b91f356b32422363591835a5f1da63d53885 |