Hay casos en los que tiene la oportunidad, como desarrollador, de aplicar protecciones y características de seguridad más estrictas en un software, aunque podrían muy bien administrarse a nivel ambiental (es decir, el sistema operativo se encargaría de ello) .
¿Dónde diría que dibuja la línea y qué elementos tiene en cuenta en su decisión?
Ejemplos concretos
La gestión de usuarios es responsabilidad del sistema operativo
No se entiende exactamente como una función de seguridad, pero en un caso similar, Google Chrome usaba para no permitir perfiles separados. El motivo invocado (aunque ahora admite múltiples perfiles para un mismo usuario de sistema operativo) solía ser que la administración del usuario era responsabilidad del sistema operativo.
Deshabilitando los campos de formulario web
Una solicitud recurrente que veo dirigida en línea es para que la finalización automática se deshabilite en los campos del formulario. La finalización automática no existía en los navegadores antiguos, y era una característica bienvenida en el momento en que se introdujo para las personas que necesitaban rellenar formularios a menudo. Pero también trajo algunos problemas de seguridad, por lo que algunos navegadores comenzaron a implementar, además de la configuración (obviamente necesaria) en su propio panel de preferencias / personalización, un atributo autocomplete
para los campos form
o input
. Y esto ahora se ha introducido en el próximo estándar de HTML5. Para los navegadores que no escuchan este atributo, se ofrecen hacks extraños * , como generar ID y nombres únicos para los campos para evitar que se sugieran en formularios futuros (lo que viene con otra manada de problemas, como contaminando su caché de autocompletado local y no impidiendo que se almacene una contraseña en él, sino duplicando probablemente sus ocurrencias).
En este caso en particular, y en otros, diría que se trata de una configuración de usuario y que es el deseo del usuario y la responsabilidad del usuario para habilitar o deshabilitar el llenado automático (deshabilitando la función por completo). Y si se basa en una política interna y un requisito de seguridad en un entorno corporativo, entonces sustituya al usuario por el administrador de lo anterior.
Supongo que se podría argumentar en contra de que el usuario puede querer acceder a aplicaciones (o sitios) no críticos con esta característica útil habilitada y aplicaciones críticas con esta característica deshabilitada. Pero entonces creo que para eso son las zonas de seguridad (en algunos navegadores), o el signo de que necesita un entorno / cuenta más seguro (y dedicado) para usar estas aplicaciones.
* Obviamente no niego la ingeniosidad de las personas que fueron forzadas a encontrar soluciones, solo la necesidad de dichas soluciones.
Preguntas
Eso fue un poco largo, así que supongo que mis preguntas son:
- En general, ¿consideraría que es la responsabilidad de la aplicación (por lo tanto, del desarrollador)?
- ¿Dónde dibuja la línea, si no es en el caso "general"?
Esto se publica de forma cruzada desde Programmers StackExchange , basado en un comentario del moderador .