Restriction IP avec Flask

Restriction IP avec flask \ -Qiita

Il y en avait, mais je l'ai mis avec un masque.

from flask import Flask, request, abort
import ipaddress

app = Flask(__name__)


@app.route('/')
def hello_world():
    return 'Hello World!'


ALLOW_NETWORKS = ["10.0.0.0/8", "172.16.0.0/12", "192.168.0.0/16", "127.0.0.1"]


@app.before_request
def before_request():
    remote_addr = ipaddress.ip_address(request.remote_addr)
    app.logger.info(remote_addr)

    for allow_network in ALLOW_NETWORKS:
        ip_network = ipaddress.ip_network(allow_network)
        if remote_addr in ip_network:
            app.logger.info(ip_network)
            return
    return abort(403, 'access denied from your IP address')


if __name__ == '__main__':
    app.run()



Recommended Posts

Restriction IP avec Flask
Bonjour le monde sur flacon
Programmation avec Python Flask
Déployez Flask avec ZEIT maintenant
Touch Flask + courir avec Heroku
Bonjour le monde avec Flask + Hamlish
Enregistrez une adresse IP globale avec python
Test unitaire du flacon avec pytest
API avec Flask + uWSGI + Nginx
Développement d'applications Web avec Flask
Voir la couverture du flacon avec pytest-cov
Application Web avec Python + Flask ② ③
Téléchargement de fichiers avec Flask + jQuery
Application Web avec Python + Flask ④
[Connexion LINE] Vérifier l'état avec Flask
Bases de SNS Python faites avec Flask
[Mémo] Liens lors du développement avec Flask
Créer un serveur Flask avec Docker
Exécutez l'application avec Flask + Heroku
Persistez le serveur d'API Flask avec Forever
Créer un environnement Flask avec Dockerfile + docker-compose.yml
ballon
ballon
Création d'un babillard avec flask
Développement d'applications avec Docker + Python + Flask
Fonction de téléchargement d'image avec Vue.js + Flask
Stockage de table Azure avec l'application PTVS Flask
Déployer l'application flask avec mod_wsgi (à l'aide de pipenv)
J'ai essayé linebot avec flacon (anaconda) + heroku
Vue.js + Mémorandum de construction de l'environnement Flask ~ avec Anaconda3 ~
Créez un simulateur de gacha rare avec Flask
POSTER diversement avec Python et recevoir avec Flask
Envoyer du CSS compressé à Gzip avec Flask
Obtenez des données de Cloudant avec le flacon Bluemix
Créez une application Web simple avec Flask
Application Web facile avec Python + Flask + Heroku
[Python] Créez rapidement une API avec Flask
Créer un service Web avec Docker + Flask
Premiers pas avec Heroku, déploiement de l'application Flask
Lancez l'application Flask avec Docker sur Heroku
Prend en charge le streaming compatible iOS en privé (avec restrictions)