¿Por qué los navegadores implementan políticas más estrictas para los archivos locales?

3

Tengo un problema al ver los archivos HTML / JS / CSS generados en el disco. Específicamente, varias llamadas en javascript están bloqueadas por Google Chrome. Busqué en Google y encontré una respuesta aquí: enlace . Al final, tengo que hacer un esfuerzo adicional para instalar y ejecutar un websever en mi máquina para poder ver correctamente el sitio web alojado en mi propio sistema de archivos.

Sin embargo, no entiendo el razonamiento. ¿Por qué el navegador implementa una política más estricta para los archivos locales? ¿No son los archivos en mi disco más confiables que los cargados desde sitios remotos?

    
pregunta Siyuan Ren 24.10.2014 - 13:53
fuente

3 respuestas

4
  

¿Los archivos en mi disco no son más confiables que los cargados desde sitios remotos?

No.

El caso de uso de HTML local esperado para usuarios normales (es decir, que no son desarrolladores) es que han visitado una página web, querían verla sin conexión y utilizaron la función Guardar como del navegador para realizar una copia local. Esto no implica ningún nivel de confianza entre el usuario y el operador del sitio que aloja esa página y, en general, no debe dar acceso a ese operador para leer otros archivos del disco duro del usuario.

En días pasados, IE solía otorgar mayores permisos a HTML en el sistema de archivos local. El resultado fue un montón de agujeros de seguridad, ya que cualquier aplicación que pudiera ser persuadida para guardar un archivo que contenga HTML en una ruta predecible podría, por lo general, ser explotada para ejecutar el código del atacante.

    
respondido por el bobince 24.10.2014 - 15:36
fuente
0

En Firefox puedes editar manualmente el archivo prefs.js agregando:

user_pref("capability.policy.policynames", "localfilelinks");
user_pref("capability.policy.localfilelinks.sites", "http://localhost:8080");
user_pref("capability.policy.localfilelinks.checkloaduri.enabled", "allAccess");

Observe la necesidad de una especificación de puerto explícita si es diferente de 80.

    
respondido por el Patrick Refondini 31.10.2014 - 17:45
fuente
0

Si alguna información está disponible en la web para cualquier persona, sin que se requieran credenciales especiales, generalmente no es necesario que el navegador se preocupe por proteger esa información. Cualquier persona que quiera la información podría obtenerla más fácilmente simplemente pidiéndola , que intentando explotar una debilidad de seguridad en el navegador de alguien.

La razón por la que los navegadores son mucho más cautelosos con los archivos locales que con los archivos recibidos de la web no es que los primeros sean más maliciosos, sino que los primeros deben protegerse contra la divulgación no autorizada, mientras que los últimos no lo hacen.

    
respondido por el supercat 15.08.2017 - 22:39
fuente

Lea otras preguntas en las etiquetas