En JavaScript (lenguaje de programación), ¿el uso del cierre para declarar variables de miembros privados hace que las aplicaciones web sean más seguras?

Para la gran mayoría de las aplicaciones web: no. En algunos casos muy específicos: un poco.

Si su aplicación web permite que un tercero ejecute JavaScript, entonces los cierres no lo protegerán del código malicioso y tendrá problemas mucho mayores. Caja [1] es su mejor apuesta para proporcionar un entorno de ejecución seguro y protegido para JavaScript no confiable.

Los cierres tampoco impedirán que un usuario pueda pasar por la ejecución de JavaScript en su sitio e inspeccionar variables o incluso hacer cambios en tiempo de ejecución utilizando un depurador JS como Firebug.

Si su propia aplicación web ejecuta código en el contexto de un sitio web de un tercero (por ejemplo, si su aplicación web utiliza un marcador para inyectar JS en otro sitio), los cierres pueden mitigar la capacidad del código de terceros para llamar a “fuera de los límites “áreas de su propio código. Sin embargo, algunas versiones de Firefox anteriores a 3.1 permiten el acceso externo a contextos de cierre [2].

Los cierres en JavaScript fueron diseñados para proporcionar conveniencia y flexibilidad, pero no seguridad.

[1] http://code.google.com/p/google-…
[2] http://peter.michaux.ca/articles…