Changelogs

Corrige bugs de la revisión de home/views.py (dinero, bypass de pago, 500s)

12 de julio de 2026 a las 17:56

adevopg · 758435f

Seguridad / dinero: - store_novawow_view: recalcula precios y valida ítems contra la BD (Item) en vez de confiar en el precio/ítems que manda el cliente; guarda en sesión un carrito ya validado para la entrega - *_success_view (x9): @require_paid_stripe verifica el pago real en Stripe por session_id (Stripe lo añade a la success_url) y marca StripeLog.fulfilled para evitar re-entregas; cierra el bypass de ir directo a la success-url sin pagar - gold_character_view: deja de truncar el precio (int(4.99)->4); pasa el precio real Correctitud / 500s: - change_password_view: .get(...,'') evita AttributeError si falta un campo - revive_character_view: lógica de éxito corregida (vacío=éxito, no vacío=error, None=fallo de comunicación) — antes marcaba error como éxito y caía a HTML - store category y recruit_a_friend: guardas para Category.DoesNotExist y cuenta None




Corrige security_token_view: bug de indentación que impedía generar el token

12 de julio de 2026 a las 17:44

adevopg · faa9aab

- 'if not email:' estaba a 5 espacios, anidando todo el bloque bajo él: con un email válido se saltaba la generación del token (solo re-renderizaba) y el código de creación quedaba inalcanzable - re-indentado para que la generación del token cuelgue de 'if request.method == POST'




Activa CSRF global en el portal (CsrfViewMiddleware)

12 de julio de 2026 a las 17:42

adevopg · b5d46fa

- añade django.middleware.csrf.CsrfViewMiddleware a MIDDLEWARE (estaba ausente: el CSRF estaba desactivado en todo el sitio) - head.html: $.ajaxSetup envía X-CSRFToken en todo POST AJAX de jQuery + expone window.CSRF_TOKEN (fuerza la cookie csrftoken en cada página) - store_novawow.html: el fetch() nativo ahora manda X-CSRFToken (era el único que se rompía al activar el middleware) - register.html: añade {% csrf_token %} al formulario - retira @csrf_exempt de login/register/restore_character/restore_items (solo los webhooks stripe/sumup siguen exentos) - auditoría previa: el resto de POST (AJAX jQuery + forms nativos con token) ya cubierto




Foro: correcciones de la revisión de seguridad y correctitud

12 de julio de 2026 a las 17:34

adevopg · 89ea16b

- CSRF real en las vistas mutadoras con @csrf_protect (el middleware global no estaba activo; verificado: POST sin token -> 403). Se documenta el hueco global. - bloquea acceso a temas de foros ocultos/borrados por URL directa (view_topic y reply) - conteo de posts respeta borrados para moderadores (paginación correcta) - tema bloqueado impide editar/borrar posts a no-moderadores (_topic_locked_for) - moderador ve el formulario de respuesta en temas bloqueados (can_reply) - filtro forum_safe: sanea el HTML también al renderizar (defensa en profundidad)




Foro: ocultar contador de visitas cuando la columna no existe

12 de julio de 2026 a las 17:25

adevopg · 071ba03

- corrige que se mostrara '1 visitas' sin la columna forum_topics.views: el incremento y la visualización solo ocurren si has_views_column() es true





SÍGUENOS EN