From 8db931a4c78245b0debde0cdf9e136b0c6122499 Mon Sep 17 00:00:00 2001 From: AcidUK Date: Wed, 10 Jul 2019 19:31:11 +0100 Subject: [PATCH] added spam removal --- web/app.py | 30 ++++++++++++++++++++++++------ web/utils.py | 7 +++++++ 2 files changed, 31 insertions(+), 6 deletions(-) diff --git a/web/app.py b/web/app.py index 9254d55..c1cba38 100644 --- a/web/app.py +++ b/web/app.py @@ -2,6 +2,7 @@ from flask import Flask, render_template, request from flask_bootstrap import Bootstrap import db import config +import utils app = Flask(__name__) app.config.from_object(config.BaseConfig) @@ -20,15 +21,32 @@ def hello_world(): @app.route('/generate', methods=["POST"]) def generate(): try: + ip = utils.get_ip(request) + pass + except: + ip = '' + pass + + if ip != '5.135.188.148' or ip == '178.32.58.160': + try: + error = None + identifier = my_db.get_identifier(request.form['name']) + pass + except StopIteration: + identifier = '' + error = 'Maximum entry limit reached - please contact Sean or Joe' + pass + else: error = None - identifier = my_db.get_identifier(request.form['name']) - pass - except StopIteration: - identifier = '' - error = 'Maximum entry limit reached - please contact Sean or Joe' - pass + identifier = 'F' + return render_template('generate.html', brew_name=brew_name, brew_month=brew_month, identifier=identifier, error=error) +@app.route('/getip') +def getip(): + return utils.get_ip(request) + + if __name__ == '__main__': app.run(debug=True, host='0.0.0.0') diff --git a/web/utils.py b/web/utils.py index 09f1749..9d308a2 100644 --- a/web/utils.py +++ b/web/utils.py @@ -4,3 +4,10 @@ def remove_common_elements(a, b): if e in b: a.remove(e) b.remove(e) + + +def get_ip(request): + if request.headers.getlist("X-Forwarded-For"): + return request.headers.getlist("X-Forwarded-For")[0] + else: + return request.remote_addr