shakecities/sites/website.py
Nathan Woodburn 7b4619cead
All checks were successful
Build Docker / Build Main Image (push) Successful in 39s
Build Docker / Build SLDs Image (push) Successful in 40s
fix: Use more strict sanitation
2023-11-08 23:04:21 +11:00

20 lines
744 B
Python

from flask import Flask, make_response, redirect, render_template_string, request, jsonify, render_template, send_from_directory
from bs4 import BeautifulSoup
import html_sanitizer
def render(data):
if data == "":
return "No data found for this domain"
try:
soup = BeautifulSoup(data, 'html.parser')
for script in soup.find_all('script'):
script.extract()
modified_data = str(soup)
default_settings = dict(html_sanitizer.sanitizer.DEFAULT_SETTINGS)
sanitizer = html_sanitizer.Sanitizer(default_settings)
return render_template_string(str(sanitizer.sanitize(modified_data)))
except Exception as e:
return "<h1>Invalid HTML</h1><br>" + str(e)