[pyar] Programación Orientada a Aspectos (POA)

Claudio Freire klaussfreire en gmail.com
Jue Sep 23 11:53:57 ART 2010


2010/9/23 Ricardo Aráoz <ricaraoz en gmail.com>

>  On 23/09/2010 11:18 a.m., Claudio Freire wrote:
>
>
> El @login_required es una medida de seguridad que apunta a eso: a
> "enforcear" (wow... inventation) la aplicación de las reglas de seguridad.
>
> Mostrar o no mostrar botones es secundario. Lo principal es que sea
> imposible realizar ciertas acciones sin permiso. Si alguien se las rebusca
> para engañar a la aplicación y llamar la función a pesar de no tener
> permisos, @login_required lo para ahí nomás.
>
>
> Bueno, acá se ve mi desconocimiento de web apps. El usuario es quien llama
> a las funciones??? Yo creía que era el programa controlador, y si en el
> controlador tenés un ejecutaFuncion() también podés tener un if xxx then :
> ejecutaFuncion(), sin necesidad de mezclar ni agregar nada en la función ni
> cerca de su definición. Me suena como que este uso particular de decoradores
> mezcla un poco el control de permisos y/o la UI layer con la business layer.
> Es esto siempre así e inevitable en web apps?
>

Estás cerrando los ojos y haciendo de cuenta que todo es de color rosa. Así
se crean las vulnerabilidades.

Cuanto más cerca de la funcionalidad restringida pongas tu control de
acceso, no sólo más segura es la aplicación, sino más claras son las
políticas de acceso mirando el código.

No es un tradeoff entre seguridad y legibilidad. Realmente el
@login_required es más seguro y más legible.

Y si hubiera tradeoff, elijo seguridad sin pensarlo.
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.python.org.ar/pipermail/pyar/attachments/20100923/fae1d051/attachment.html>


More information about the pyar mailing list