Esempio n. 1
0
from functools import wraps
from flask import Flask, request, session, render_template, url_for
from flask import abort, redirect, Markup, make_response
from flask_common import Common
from names import get_full_name
from raven.contrib.flask import Sentry
from flask_qrcode import QRcode
from . import storage
from urllib.parse import quote
from lxml.html.clean import Cleaner

cleaner = Cleaner()
cleaner.javascript = True
cleaner.style = True
cleaner.remove_tags = ['script', 'style', 'link']
cleaner.allow_attributes = ['alt', 'href']
cleaner.remove_attributes = [
    'id', 'class', 'style', 'align', 'border', 'cellpadding', 'cellspacing',
    'width', 'height', 'hspace', 'vspace', 'frameborder', 'marginwidth',
    'marginheight', 'noresize', 'scrolling', 'target', 'onclick', 'ondblclick',
    'onmousedown', 'onmousemove', 'onmouseover', 'onmouseout', 'onmouseup',
    'onkeypress', 'onkeydown', 'onkeyup', 'onblur', 'onchange', 'onfocus',
    'onselect', 'onreset', 'onsubmit', 'onabort', 'oncanplay',
    'oncanplaythrough', 'oncuechange', 'ondurationchange', 'onemptied',
    'onended', 'onloadeddata', 'onloadedmetadata', 'onloadstart', 'onpause',
    'onplay', 'onplaying', 'onprogress', 'onratechange', 'onseeked',
    'onseeking', 'onstalled', 'onsuspend', 'ontimeupdate', 'onvolumechange',
    'onwaiting'
]