mirror of https://github.com/interlegis/sapl.git
Browse Source
Ajustes da revisão do #3846: - plain: grava texto puro (entidades decodificadas); o escape fica na renderização. Antes, & e < apareciam como & e < na tela e na API. - get_field_display: escapa campos plain e isentos em vez de re-sanitizar. - Blocos da ata: |sanitize|striptags, sem escapar /& duas vezes. - RICH_TEXT_FIELDS: inclui os campos editados no TinyMCE que faltavam (biografia, informacao_geral, NormaRelacionada.resumo, Legislatura.observacao); perfil público renderiza biografia com |sanitize. - compilacao: Dispositivo.texto passa de |safe para |sanitize nos cinco templates restantes. TipoDispositivo.*_html continua na política rich no pre_save; o form de edição rejeita fragmentos com tags desbalanceadas, que a sanitização descartaria ao salvar. - pre_save ignora raw=True (loaddata, inclusive em migrations). - Isenção por campo (SANITIZE_EXEMPT_FIELDS), como RICH_TEXT_FIELDS. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>hotfix/sanitize-textfield-xss
17 changed files with 197 additions and 37 deletions
@ -1,4 +1,5 @@ |
|||
{% load common_tags %} |
|||
<h2 class="gray-title">Considerações Finais</h2> |
|||
{% for c in lst_consideracoes%} |
|||
<p>{{c|striptags}}</p> |
|||
<p>{{c|sanitize|striptags}}</p> |
|||
{% endfor %} |
|||
|
|||
@ -1,4 +1,5 @@ |
|||
{% load common_tags %} |
|||
<h2 class="gray-title">Ocorrências da Sessão</h2> |
|||
{% for o in lst_ocorrencias%} |
|||
<p>{{o.conteudo|striptags}}</p> |
|||
<p>{{o.conteudo|sanitize|striptags}}</p> |
|||
{% endfor %} |
|||
|
|||
@ -1,8 +1,9 @@ |
|||
{% load common_tags %} |
|||
{% if object.consideracoesfinais.conteudo %} |
|||
<fieldset> |
|||
<p style="text-align: justify;margin-top: 0"> |
|||
<strong>Considerações Finais: </strong> |
|||
{{object.consideracoesfinais.conteudo|striptags}} |
|||
{{object.consideracoesfinais.conteudo|sanitize|striptags}} |
|||
</p> |
|||
</fieldset> |
|||
{% endif %} |
|||
|
|||
@ -1,8 +1,9 @@ |
|||
{% load common_tags %} |
|||
{% if object.ocorrenciasessao.conteudo %} |
|||
<fieldset> |
|||
<p style="text-align: justify;margin-top: 0"> |
|||
<strong>Ocorrências da Sessão: </strong> |
|||
{{ object.ocorrenciasessao.conteudo|striptags }} |
|||
{{ object.ocorrenciasessao.conteudo|sanitize|striptags }} |
|||
</p> |
|||
</fieldset> |
|||
{% endif %} |
|||
|
|||
Loading…
Reference in new issue