Patch SSTI

This commit is contained in:
Rick 2020-09-28 19:49:54 +02:00
parent b7f9dfdbe6
commit 8cb5148ac5
Signed by: Rick
GPG key ID: 9570A7DB7CB2F436
3 changed files with 30 additions and 6 deletions

7
app.py
View file

@ -18,7 +18,7 @@ def ecritureFichierHtml(nouvLien, cheminFichier):
@app.route('/') @app.route('/')
def slash(): def slash():
response = make_response(render_template("index.html")) response = make_response(app.send_static_file("index.html"))
response.headers["Content-Security-Policy"] = "default-src 'self'" response.headers["Content-Security-Policy"] = "default-src 'self'"
return response return response
@ -28,7 +28,7 @@ def ajout():
@app.route("/apropos") @app.route("/apropos")
def apropos(): def apropos():
return render_template("apropos.html") return app.send_static_file("apropos.html")
@app.route("/bizutage", methods=["POST"]) @app.route("/bizutage", methods=["POST"])
def bizutage(): def bizutage():
@ -41,9 +41,8 @@ def bizutage():
desc = Markup.escape(request.values['desc']) desc = Markup.escape(request.values['desc'])
nouvLien = "<div class=\"elem\"><h2>{}</h2><p><a href=\"{}\">Lien</a></p><hr><p>{}</p>".format(titre, lien, desc) nouvLien = "<div class=\"elem\"><h2>{}</h2><p><a href=\"{}\">Lien</a></p><hr><p>{}</p>".format(titre, lien, desc)
nouvLienHtml = BeautifulSoup(nouvLien, "html.parser") nouvLienHtml = BeautifulSoup(nouvLien, "html.parser")
nouvLienHtmlJinja = BeautifulSoup("{% raw %}" + nouvLien + "{% endraw %}", "html.parser")
ecritureFichierHtml(nouvLienHtmlJinja, "templates/index.html") ecritureFichierHtml(nouvLienHtml, "static/index.html")
ecritureFichierHtml(nouvLienHtml, "lite/index.html") ecritureFichierHtml(nouvLienHtml, "lite/index.html")
else: else:

View file

@ -22,14 +22,14 @@
</ul> </ul>
<p>Vous pouvez me proposer des ajouts en ouvrant un ticket sur le git ou en envoyant un mail à <code>rick &#60;AT&#62; gnous &#60;dot&#62; eu</code>.</p> <p>Vous pouvez me proposer des ajouts en ouvrant un ticket sur le git ou en envoyant un mail à <code>rick &#60;AT&#62; gnous &#60;dot&#62; eu</code>.</p>
<p> Ce site est conçu pour réunir des liens de manière efficace afin de retrouver ou de stocker facilement une url.</p> <p> Ce site est conçu pour réunir des liens de manière efficace afin de retrouver ou de stocker facilement une url. Merci à <a href="https://git.gnous.eu/Romain">Romain</a> de tester le site pour trouver les failles de sécurité.</p>
<p> <p>
Il est codé uniquement en HTML et CSS pour le frontend et Python, avec Flask est utilisé pour le backend. Afin de pouvoir télécharger simplement ce site et de pouvoir le lancer sur son PC en local sans avoir à installer Python, une version statique est disponible ici; vous pouvez retrouver les fichiers dans le dossier <code>lite</code> du git. Il est codé uniquement en HTML et CSS pour le frontend et Python, avec Flask est utilisé pour le backend. Afin de pouvoir télécharger simplement ce site et de pouvoir le lancer sur son PC en local sans avoir à installer Python, une version statique est disponible ici; vous pouvez retrouver les fichiers dans le dossier <code>lite</code> du git.
Il est conçu afin de pouvoir <a href="https://framablog.org/2020/08/24/pour-une-page-web-qui-dure-10-ans/">durer 10 ans</a> (du moins son frontend). Il est conçu afin de pouvoir <a href="https://framablog.org/2020/08/24/pour-une-page-web-qui-dure-10-ans/">durer 10 ans</a> (du moins son frontend).
</p> </p>
<p>Ce site est sous licence <code>GPL3.0 or later</code> et son code source est disponible <a href="https://git.gnous.eu/Rick/">sur le git de Gnous</a>. Il est aux normes du W3C.</p> <p>Ce site est sous licence <code>GPL3.0 or later</code> et son code source est disponible <a href="https://git.gnous.eu/Rick/groupementLiens">sur le git de Gnous</a>. Il est aux normes du W3C.</p>
<div> <div>
<a href="https://www.gnu.org/licenses/gpl-3.0.txt"><img src="/static/img/licence.svg" alt="licence GPL3 or Later"></a> <a href="https://www.gnu.org/licenses/gpl-3.0.txt"><img src="/static/img/licence.svg" alt="licence GPL3 or Later"></a>
<a href="https://html5.validator.nu/"><img src="/static/img/html5-validator-badge.svg" alt="bage de validation html5"></a> <a href="https://html5.validator.nu/"><img src="/static/img/html5-validator-badge.svg" alt="bage de validation html5"></a>

25
static/index.html Normal file
View file

@ -0,0 +1,25 @@
<!DOCTYPE html>
<html lang="fr">
<head>
<meta charset="UTF-8">
<link rel="stylesheet" href="/static/styles/index.css">
<link rel="stylesheet" href="/static/styles/base.css">
<title>Partage de liens</title>
</head>
<body>
<div id="menu">
<h1>Liens</h1>
<header>
<a href="ajout">Ajout</a>
<a href="apropos">A propos</a>
</header>
</div>
<p>Rafraichissez la page pour voir les derniers liens ajoutés.</p>
<hr>
<footer>
<hr>
Version Alpha
</footer>
</body>
</html>