Fjern inline onsubmit med innholdstekst (XSS i JS-attributt)
Jinja escaper for HTML, men nettleseren dekoder attributtverdien før JS-parseren ser den, så en tittel med ' kunne bryte ut av strengen. Bekreftelser går nå via data-confirm og én delt handler i base.html. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01JcEy43fNYpwg6K6oTKakWR
This commit is contained in:
parent
227faff373
commit
4794db76b0
4 changed files with 22 additions and 5 deletions
|
|
@ -32,5 +32,13 @@
|
|||
{% endwith %}
|
||||
{% block content %}{% endblock %}
|
||||
</main>
|
||||
<script>
|
||||
// Bekreftelsesdialoger via data-attributt i stedet for inline onsubmit, slik at
|
||||
// tekst fra innhold (titler, brukernavn) aldri havner i en JS-kontekst.
|
||||
document.addEventListener("submit", function (ev) {
|
||||
var msg = ev.target.dataset && ev.target.dataset.confirm;
|
||||
if (msg && !confirm(msg)) ev.preventDefault();
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue