def test_recaptcha_disabled(): recaptcha = ReCaptcha(site_key="SITE_KEY", secret_key="SECRET_KEY", is_enabled=False) assert recaptcha.is_enabled == False assert recaptcha.get_code() == "" assert recaptcha.verify(response="None", remote_ip="0.0.0.0") == True
def test_recaptcha_disabled_flask(): app.config.update({ "RECAPTCHA_ENABLED": False }) recaptcha = ReCaptcha(app=app) assert recaptcha.is_enabled == False assert recaptcha.get_code() == "" assert recaptcha.verify(response="None", remote_ip="0.0.0.0") == True
def create_app(object_name): """工厂函数""" app = Flask(__name__) app.config.from_object(object_name) recaptcha = ReCaptcha(app=app) db.init_app(app) bcrypt.init_app(app) recaptcha.init_app(app) @app.route('/') def index(): return redirect(url_for('my_blog.home')) app.register_blueprint(blog.blog_buleprint) app.register_blueprint(main.main_blueprint) return app
def test_recaptcha_enabled(): recaptcha = ReCaptcha(site_key="SITE_KEY", secret_key="SECRET_KEY") assert isinstance(recaptcha, ReCaptcha) assert recaptcha.is_enabled == True assert "script" in recaptcha.get_code() assert recaptcha.verify(response="None", remote_ip="0.0.0.0") == False
stemp_obj = { "nameSite": snameSite, "nameNice": snameNice, "realms": realm_list } servers_json["servers"].append(stemp_obj) servers_json = json.dumps(servers_json) # Setup recaptcha RECAPTCHA_SECRET_KEY = os.environ.get("RECAPTCHA_SECRET_KEY", default=None) RECAPTCHA_SITE_KEY = os.environ.get("RECAPTCHA_SITE_KEY", default=None) recaptcha = ReCaptcha(app=app, site_key=RECAPTCHA_SITE_KEY, secret_key=RECAPTCHA_SECRET_KEY, theme="dark") # Routing @app.route('/') @app.route('/index') def index(): write_log(resp="home") return render_template('index.html', title='Legacy Servers') @app.route('/contact') def contact(): write_log(resp="contact") return render_template('contact.html', title='Contact')
whooshalchemy.whoosh_index(app, models.User) whooshalchemy.whoosh_index(app, models.ProxyServer) except: app.logger.error('Whoosh indexing failed. Search may be broken as result. ' 'Please redeploy to correct this.') # The headers and prefix listed below are to help guard against XSSI. The # prefix specifically causes us to escape out of any client that attempts to # execute the JSON as code. We don't use any callbacks or functions in our # returned JSON, but the prefix would catch it by causing execution to stop if # so. The prefix is supplied in the resource dictionaries so that it can be # stripped away on the client side when making AJAX calls. JSON_HEADERS = {'Content-Type': 'application/javascript; charset=utf-8'} XSSI_PREFIX = ")]}'\n" RECAPTCHA = ReCaptcha(app=app) @app.after_request def checkCredentialChange(response): """Save credentials if changed""" credentials = getattr(flask.g, '_credentials', None) if credentials is not None: config = get_user_config() json_credentials = credentials.to_json() if config.credentials != json_credentials: config.credentials = json_credentials config.save() return response
from flask_bcrypt import Bcrypt from flask_sqlalchemy import SQLAlchemy from flask_restful import Api from flask_cors import CORS from flask_jwt_extended import JWTManager from app.videos.resources import Videos from app.authentication.resources import Login, Register, RefreshToken, LogoutAccess, LogoutRefresh, Account, ApiKey flask_app = Flask(__name__) bcrypt = Bcrypt(flask_app) config.configure_app(flask_app) db = SQLAlchemy(flask_app) jwt = JWTManager(flask_app) CORS(flask_app) recaptcha = ReCaptcha(app=flask_app) api = Api(flask_app, catch_all_404s=True) api.add_resource(Videos, '/videos') api.add_resource(Login, '/login') api.add_resource(Account, '/account') api.add_resource(LogoutAccess, '/logout-access') api.add_resource(LogoutRefresh, '/logout-refresh') api.add_resource(RefreshToken, '/refresh-token') api.add_resource(Register, '/register') api.add_resource(ApiKey, '/api-key') blacklist = set()
from flask_cors import CORS from flask_dotenv import DotEnv from flask_mailgun import Mailgun from flask_recaptcha import ReCaptcha from flask_bootstrap import Bootstrap from opbeat.contrib.flask import Opbeat __app__ = ['cors', 'mailgun', 'recaptcha', 'bootstrap', 'opbeat'] cors = CORS() env = DotEnv() mailgun = Mailgun() recaptcha = ReCaptcha() bootstrap = Bootstrap() opbeat = Opbeat()
from wtforms import TextField, BooleanField, SubmitField from wtforms.validators import InputRequired from flaskext.markdown import Markdown from static.scripts.dbtools import submitImg, getImg, getImgR, getTopTags, db from flask_recaptcha import ReCaptcha import random #Flask configs application = Flask(__name__) application.debug = True application.secret_key = "1121Shoutai" application.config[ "RECAPTCHA_SITE_KEY"] = "6LfLVh0TAAAAAA5p4hjpcPcPoAZDtcP3SqG7d7Hv" application.config[ "RECAPTCHA_SECRET_KEY"] = "6LfLVh0TAAAAAGlTCKgi_WeuU1D-IOxOnkGO0gGA" recaptcha = ReCaptcha() recaptcha.init_app(application) #Setup Markdown Markdown(application) #Submit Image form class submitForm(Form): title = TextField(u'Title') url = TextField(u'Image URL', [InputRequired("You must enter an image URL")]) tags = TextField(u'Tags', [InputRequired("You must enter some tags")]) nsfw = BooleanField(u'NSFW') submit = SubmitField(u'Submit')
def create_app(): # create and configure the app app = Flask(__name__) app.secret_key = os.getenv("SECRET_KEY") # Configure and Start Google recaptcha app.config.update(RECAPTCHA_ENABLED=True, RECAPTCHA_SITE_KEY=os.getenv("GOOGLE_SITE_KEY"), RECAPTCHA_SECRET_KEY=os.getenv("GOOGLE_SECRET_KEY")) recaptcha = ReCaptcha(app=app) from app.routes import auth, settings from app.routes.search import get_all_users, get_user # Register routes app.register_blueprint(auth.bp) app.register_blueprint(settings.bp) from app.routes import points app.register_blueprint(points.bp) # ensure the instance folder exists try: os.makedirs(app.instance_path) except OSError: pass @app.route('/') # There is no need for a homepage. def index(): return redirect(url_for('auth.login')) @app.route('/home') def home(): return render_template('home.html') @app.route('/dashboard') @login_required def dashboard(): # fetch user information from database user = db.child('users').child(g.user['localId']).get().val() # fetch user points from database userPoints = db.child('points').child(g.user['localId']).get().val() # load the dashboard with the user information return render_template('dashboard.html', user=user, points=userPoints) @app.route('/points') @login_required def points(): userPoints = userPoints = db.child('points').child( g.user['localId']).get().val() return render_template('points.html', points=userPoints) @app.route('/team') def team(): return render_template('/team.html') @app.route('/settings') @login_required def settings(): return render_template('settings.html') @app.route('/portfolio/<ucinet>') @login_required def portfolio(ucinet): #print(f"Retrieving Data for {ucinet}") userInfo = get_user(ucinet) if userInfo == None: return page_not_found("User not found") return render_template('portfolio.html', userdata=userInfo) @app.route('/meetteam') def meet_team(): return 'MeetTeam' @app.route('/search') def search(): users = get_all_users() # for user in users: # user.print() return render_template('search.html', users=users) @app.errorhandler(404) def page_not_found(error): return render_template('/error/404.html', title='404'), 404 return app
def test_recaptcha_disabled_flask(): app.config.update({"RECAPTCHA_ENABLED": False}) recaptcha = ReCaptcha(app=app) assert recaptcha.is_enabled == False assert recaptcha.get_code() == "" assert recaptcha.verify(response="None", remote_ip="0.0.0.0") == True
import logging import os from flask import Flask from flask_recaptcha import ReCaptcha from flask.ext.mail import Mail from flask.ext.babel import Babel from config import GOOGLE_KEY, GOOGLE_SECRET_KEY import config from utils import StructEncoder, Logger app = Flask(__name__, static_url_path='/static') app.config.from_object('config') recaptcha = ReCaptcha(app) mail = Mail(app) babel = Babel(app) app.json_encoder = StructEncoder if not os.path.exists(config.LOG_TO): os.makedirs(config.LOG_TO) if not os.path.exists(config.TMP_DIR): os.makedirs(config.TMP_DIR) fh = logging.FileHandler(os.path.join(config.LOG_TO, config.LOGGER.file)) fh.setLevel(config.LOGGER.level) fh.setFormatter(config.LOGGER.formatter)
from flask_recaptcha import ReCaptcha rechaptcha = ReCaptcha()
if not MONGO_URL: MONGO_URL = "mongodb://*****:*****@email_app.route('/') def index(): return render_template('index.html') @email_app.route('/login', methods=['POST', 'GET']) def do_login():
def create_app(): # create and configure the app app = Flask(__name__) app.secret_key = os.getenv("SECRET_KEY") app.config["PDF_UPLOADS"] = "./app/utils/temp" # Path to save resumes PATH_TO_UPLOAD = app.config["PDF_UPLOADS"] #constant term # Configure and Start Google recaptcha app.config.update(RECAPTCHA_ENABLED=True, RECAPTCHA_SITE_KEY=os.getenv("GOOGLE_SITE_KEY"), RECAPTCHA_SECRET_KEY=os.getenv("GOOGLE_SECRET_KEY")) recaptcha = ReCaptcha(app=app) @app.after_request def add_header(r): """ Add headers to: - force latest IE rendering engine or Chrome Frame, - to cache the rendered page for 10 minutes. This prevents browser to cache *.css files """ r.headers["Cache-Control"] = "no-cache, no-store, must-revalidate" r.headers["Pragma"] = "no-cache" r.headers["Expires"] = "0" r.headers['Cache-Control'] = 'public, max-age=0' return r from app.utils.google_drive_api import google_drive_auth # google drive api functions from app.routes import auth, settings from app.routes.search import get_all_users, get_user from app.routes import dashboard from app.routes.dashboard import allowed_file, delete_file from app.routes import faq # Register routes app.register_blueprint(auth.bp) app.register_blueprint(settings.bp) app.register_blueprint(dashboard.bp) app.register_blueprint(faq.bp) from app.routes import points app.register_blueprint(points.bp) # ensure the instance folder exists try: os.makedirs(app.instance_path) except OSError: pass @app.route('/') # There is no need for a homepage. def index(): return redirect(url_for('auth.login')) @app.route('/home') def home(): return render_template('home.html') #new admin route. @app.route('/admin') @login_required def admin(): users = get_all_users() user = db.child('users').child(g.user['localId']).get().val() budget = db.child('budget').get().val() return render_template('admin.html', users=users, uid=g.user['localId'], user=user, budget=budget) @app.route('/checkout') @login_required def checkout(): return render_template('checkout.html') @app.route('/points') @login_required def points(): user = db.child('users').child(g.user['localId']).get().val() userPoints = userPoints = db.child('points').child( g.user['localId']).get().val() return render_template('points.html', points=userPoints, user=user) @app.route('/dashboard', methods=["GET", "POST"]) @login_required def dashboard(): user = db.child('users').child(g.user['localId']).get().val() print(user) if request.method == "POST": user_file = request.files['pdf_uploader'] if not allowed_file(user_file): #checks if file is pdf return redirect(request.url) else: secure_file = secure_filename( user_file.filename) # holds pdf file from form user_file.save(os.path.join( PATH_TO_UPLOAD, secure_file)) # create variable here path to new pdf myfilepath = os.path.join( PATH_TO_UPLOAD, secure_file) #hold file path for google drive google_drive_auth(myfilepath) delete_file(myfilepath) return redirect( request.url) #returns url and looks for request object # if method is GET then render template return render_template("dashboard.html", user=user) @app.route('/team') def team(): return render_template('/team.html') @app.route('/settings') @login_required def settings(): user = db.child('users').child(g.user['localId']).get().val() return render_template('settings.html', user=user) @app.route('/portfolio/<ucinet>') @login_required def portfolio(ucinet): #print(f"Retrieving Data for {ucinet}") userInfo = get_user(ucinet) user = db.child('users').child(g.user['localId']).get().val() #print(userInfo) if userInfo == None: return page_not_found("User not found") return render_template('portfolio.html', userdata=userInfo, user=user) @app.route('/meetteam') def meet_team(): return 'MeetTeam' @app.route('/search') def search(): users = get_all_users() user = db.child('users').child(g.user['localId']).get().val() #for user in users: # print(user) print(user) return render_template('search.html', users=users, user=user) @app.errorhandler(404) def page_not_found(error): return render_template('/error/404.html', title='404'), 404 return app
def test_recaptcha_enabled_flask(): recaptcha = ReCaptcha(app=app) assert isinstance(recaptcha, ReCaptcha) assert recaptcha.is_enabled == True assert "script" in recaptcha.get_code() assert recaptcha.verify(response="None", remote_ip="0.0.0.0") == False
linesplit = line.split(':') try: if linesplit[0].strip()[0] != '#': envs.update({linesplit[0].strip(): linesplit[1].strip()}) except: pass application = Flask(__name__) application.config.update({ 'RECAPTCHA_ENABLED': True, 'RECAPTCHA_SITE_KEY': envs['RECAPTCHA_SITE_KEY'], 'RECAPTCHA_SECRET_KEY': envs['RECAPTCHA_SECRET_KEY'] }) recaptcha = ReCaptcha(app=application) @application.route("/contact", methods=['POST']) def contact(): # recaptcha validation r = requests.post('https://www.google.com/recaptcha/api/siteverify', data={ 'secret': envs['RECAPTCHA_SECRET_KEY'], 'response': request.form['g-recaptcha-response'] }) google_response = json.loads(r.text) if google_response["success"]:
import os from rq import Queue from rq.job import Job from worker import conn import uuid from flask_mail import Mail from flask_recaptcha import ReCaptcha import config import counter app = Flask(__name__) app.config.from_object('config') app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = True app.config.update(dict(RECAPTCHA_ENABLED = True, RECAPTCHA_SITE_KEY = config.RECAPTCHA_SITE_KEY, RECAPTCHA_SECRET_KEY = config.RECAPTCHA_SECRET_KEY)) app.secret_key = "some_secret" recaptcha = ReCaptcha() recaptcha.init_app(app) db = SQLAlchemy(app) mail = Mail(app) q = Queue(connection=conn) ctr = counter.Counter() import emails from models import * @app.route("/") @app.route("/home") def home(): return render_template('home.html')
import os import time import datetime from database import Database, Website, InvalidQueryException from flask_recaptcha import ReCaptcha import od_util import config from flask_caching import Cache from tasks import TaskManager, Task, TaskResult from search.search import ElasticSearchEngine from callbacks import PostCrawlCallbackFactory app = Flask(__name__) if config.CAPTCHA_SUBMIT or config.CAPTCHA_LOGIN: recaptcha = ReCaptcha(app=app, site_key=config.CAPTCHA_SITE_KEY, secret_key=config.CAPTCHA_SECRET_KEY) else: recaptcha = None if config.CAPTCHA_SEARCH: recaptcha_search = ReCaptcha(app=app, site_key=config.CAPTCHA_S_SITE_KEY, secret_key=config.CAPTCHA_S_SECRET_KEY) else: recaptcha_search = None app.secret_key = config.FLASK_SECRET db = Database("db.sqlite3") cache = Cache(app, config={'CACHE_TYPE': 'simple'}) app.jinja_env.globals.update(truncate_path=od_util.truncate_path) app.jinja_env.globals.update(get_color=od_util.get_color) app.jinja_env.globals.update(get_mime=od_util.get_category)
def create_app(): # create and configure the app app = Flask(__name__) app.secret_key = os.getenv("SECRET_KEY") app.config["PDF_UPLOADS"] = "./app/utils/temp" # Path to save resumes PATH_TO_UPLOAD = app.config["PDF_UPLOADS"] #constant term # Configure and Start Google recaptcha app.config.update( RECAPTCHA_ENABLED= True, RECAPTCHA_SITE_KEY= os.getenv("GOOGLE_SITE_KEY"), RECAPTCHA_SECRET_KEY= os.getenv("GOOGLE_SECRET_KEY") ) recaptcha = ReCaptcha(app=app) from app.utils.google_drive_api import google_drive_auth # google drive api functions from app.routes import auth, settings from app.routes.search import get_all_users, get_user from app.routes import dashboard from app.routes.dashboard import allowed_file, delete_file # Register routes app.register_blueprint(auth.bp) app.register_blueprint(settings.bp) app.register_blueprint(dashboard.bp) from app.routes import points app.register_blueprint(points.bp) # ensure the instance folder exists try: os.makedirs(app.instance_path) except OSError: pass @app.route('/') # There is no need for a homepage. def index(): return redirect(url_for('auth.login')) @app.route('/home') def home(): return render_template('home.html') @app.route('/points') @login_required def points(): userPoints = userPoints = db.child( 'points').child(g.user['localId']).get().val() return render_template('points.html', points=userPoints) @app.route('/dashboard', methods=["GET","POST"]) @login_required def dashboard(): if request.method == "POST": user_file = request.files['pdf_uploader'] if not allowed_file(user_file): #checks if file is pdf return redirect(request.url) else: secure_file = secure_filename(user_file.filename) # holds pdf file from form user_file.save(os.path.join(PATH_TO_UPLOAD, secure_file)) # create variable here path to new pdf myfilepath = os.path.join(PATH_TO_UPLOAD, secure_file) #hold file path for google drive google_drive_auth(myfilepath) delete_file(myfilepath) return redirect(request.url) #returns url and looks for request object # if method is GET then render template return render_template("dashboard.html") @app.route('/team') def team(): return render_template('/team.html') @app.route('/settings') @login_required def settings(): return render_template('settings.html') @app.route('/portfolio/<ucinet>') @login_required def portfolio(ucinet): #print(f"Retrieving Data for {ucinet}") userInfo = get_user(ucinet) if userInfo == None: return page_not_found("User not found") return render_template('portfolio.html', userdata=userInfo) @app.route('/meetteam') def meet_team(): return 'MeetTeam' @app.route('/search') def search(): users = get_all_users() # for user in users: # user.print() return render_template('search.html', users=users) @app.errorhandler(404) def page_not_found(error): return render_template('/error/404.html', title='404'), 404 return app
import json app = Flask(__name__) app.config['MAIL_SERVER']='smtp.gmail.com' app.config['MAIL_PORT'] = 465 app.config['SQLALCHEMY_DATABASE_URI']='postgresql://*****:*****@localhost/intuitionmachine' app.config['MAIL_USERNAME'] = '******' app.config['MAIL_PASSWORD'] = '******' app.config['MAIL_USE_TLS'] = False app.config['MAIL_USE_SSL'] = True app.config['CSRF_ENABLED'] = True app.config.update(dict( RECAPTCHA_ENABLED = True, RECAPTCHA_SITE_KEY = "6Lf3ti8UAAAAAHSO98fqkGKvDfP99T2VE_jfpwi7", RECAPTCHA_SECRET_KEY = "6Lf3ti8UAAAAAAv_LKpvRBez-FzAG7FWEIRvViV3" )) app.config['SECRET_KEY']='Secret' mail=Mail(app) mail.init_app(app) recaptcha= ReCaptcha() recaptcha.init_app(app) db=SQLAlchemy(app) login_manager.init_app(app) login_manager.login_message='You must be logged in to view this page.' @login_manager.user_loader def load_user(user_id): return User.query.get(int(user_id)) from flask_login import UserMixin class User(UserMixin,db.Model): __tablename__ = 'users' id = db.Column(db.Integer,primary_key=True)
app.config['SQLALCHEMY_DATABASE_URI'] = "sqlite:///site.db" app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False app.config["MAIL_SERVER"] = os.getenv('MAIL_SERVER') app.config["MAIL_PORT"] = os.getenv('MAIL_PORT') app.config["MAIL_USE_SSL"] = os.getenv('MAIL_USE_SSL') app.config["MAIL_USERNAME"] = os.getenv('MAIL_USER') app.config["MAIL_PASSWORD"] = os.getenv('MAIL_PASS') print(os.getenv('MAIL_PASS')) db = SQLAlchemy(app) mail = Mail(app) bcrypt = Bcrypt(app) recaptcha = ReCaptcha() recaptcha.is_enabled = True recaptcha.site_key = os.getenv('RECAPTCHA_PUBLIC') recaptcha.secret_key = os.getenv('RECAPTCHA_SECRET') recaptcha.theme = 'light' recaptcha.type = 'image' recaptcha.size = 'normal' recaptcha.tabindex = 0 recaptcha.init_app(app) login_manager = LoginManager() login_manager.init_app(app) login_manager.login_view = 'users.login' login_manager.login_message_category = 'info' from alambi.models import User
import json from flask import Flask, render_template, request, session, make_response, json, flash, url_for app = Flask(__name__) # __name__ the name of current Python module RECAPTCHA_PUBLIC_KEY = '6LcjRlYUAAAAAAA-g4MquMqqpjN0gs4uiBHScrWK' RECAPTCHA_PRIVATE_KEY = '6LcjRlYUAAAAAJR5Ej9VGVi2ODKOEU8YvGNe-cDm' app.config.update(dict( RECAPTCHA_ENABLED=True, RECAPTCHA_SITE_KEY=RECAPTCHA_PUBLIC_KEY, RECAPTCHA_SECRET_KEY=RECAPTCHA_PRIVATE_KEY )) recaptcha = ReCaptcha(app=app) app.secret_key = "lhe" @app.before_first_request def initialize_databse(): Database.initialize() @app.route('/') def home_template(): return render_template('home.html') @app.route('/login') # '/' => 127.0.0.1:4995/login
'config.ini') print(path) db = mysql_connect.read_config_file(path) users_blueprint = Blueprint('users', __name__, template_folder='templates') current_app.config.update({ 'RECAPTCHA_ENABLED': True, 'RECAPTCHA_SITE_KEY': '6LeIxAcTAAAAAJcZVRqyHh71UMIEGNQ_MXjiZKhI', 'RECAPTCHA_SECRET_KEY': '6LeIxAcTAAAAAGG-vFI1TnRWxMZNFuojJ4WifJWe' }) recaptcha = ReCaptcha(app=current_app) # @users_blueprint.route('/register',methods=['POST']) # create user # def register(): # form = RegisterForm(request.form) # if form.validate_on_submit(): # username = form.username.data # fname = form.fname.data # lname = form.lname.data # contact = form.contact.data # email = form.email.data # password = form.confirm.data # try: # #open connection # conn = connector.MySQLConnection(**db) # mycursor = conn.cursor(prepared=True)