¿Puede Google Chrome abrir enlaces locales?

138

Estoy vinculando en una página de intranet a un archivo local en una unidad compartida:

<a href="file:///s:/test.xls"> Test</a>

Esto funciona en IE y Firefox con un complemento llamado enlace local.

¿Cómo puedo hacer que esto se abra en Google Chrome?

Gracias

Andy
fuente
¿Qué pasa si dejas caer el file:///bit?
Nick Bolton el
no funciona en los otros 2 navegadores que no he probado en Chrome. intentará ahora
Andy
1
Parece que debería poder abrir archivos locales también en Chrome. Tengo una unidad Z: y puedo ver el contenido de la carpeta usando el archivo: /// Z: /
dawez
Puede hacerlo si hace clic derecho y "abrir en una pestaña nueva". No sé si eso es lo suficientemente bueno ...
Matt quema el
La extensión que funciona con el cromo actual (32.0.1700.107) está aquí: code.google.com/p/locallinks
Zane

Respuestas:

42

No se puede vincular file:///desde un documento HTML que no sea en sí mismo file:///por razones de seguridad.

Thomas Bonini
fuente
26
Puede ser que se trate de una "falla de seguridad", pero también proporciona una funcionalidad esencial en algunos casos y Chrome podría darnos la posibilidad de habilitarla para ciertas URL, con una advertencia e investigación para descubrir cómo hacerlo, en lugar de solo deshabilitándolo al por mayor
Arcan.NET
2
@ Arcan.NET No estoy de acuerdo. Esto abogaría por las malas prácticas y una vez que se extienda, es otro vector de ataque de ingeniería social .
bytecode77
44
@ bytecode77 Tienes un buen punto. Sin embargo, diría que es una mala práctica solo bajo ciertas circunstancias. Por ejemplo, ¿qué pasa si esto estaba dentro de una intranet corporativa con un conjunto restringido de usuarios? Si bien puede ser una mala práctica, aquellos que optaron por hacer un mal uso de la función deben ser responsables de sus acciones en lugar de que se elimine un esquema de protocolo útil para que ninguno pueda beneficiarse (que también lo usa de manera adecuada).
Torre
1
¡Ni siquiera el directorio local con index.html tiene acceso! ¿Cómo sería eso inseguro? Con esa política de pensamiento, es más seguro no usar Chrome en absoluto.
Puedo ver la vulnerabilidad de seguridad que esto aborda. Pero sería una buena característica tener que incluir en la lista blanca algunas direcciones, o incluso solo permitir páginas de intranet, para que los sitios de confianza puedan tener enlaces a archivos. Por ejemplo, tenemos un informe SSRS que tiene enlaces a archivos en un recurso compartido. Alternativa es la siguiente @Guilherme de Amorim, sino que da lugar a los usuarios descargar un sinfín de copias de archivos en lugar de abrirlos en un recurso compartido
nonpoliticaltag
21

Esta pregunta está fechada, pero tuve el mismo problema en este momento, la solución que encontré fue asignar un directorio virtual en IIS a la unidad en red con los documentos, por lo que la URL se convirtió en una dirección amigable "http: //".

Configuración de directorios virtuales:

IIS:

http://www.iis.net/configreference/system.applicationhost/sites/site/application/virtualdirectory

Apache:

http://w3shaman.com/article/creating-virtual-directory-apache

¡Salud!

Guilherme Amorim
fuente
Gracias, esto me ayudó mucho. Esto no solo me permite abrir archivos alojados en un servidor diferente, sino que los abre directamente en el navegador.
D.Galvez
@ D.Galvez Me alegro de que fuera de utilidad para alguien.
Guilherme Amorim
Esto me ayudo !! Muchas gracias
AndeeC
Chrome es un arenque rojo. La solución está en Apache2, a través del "directorio virtual, como se discutió en esta Respuesta. (Me pregunto si resolverá Firefox).
Rick James
Gracias, ¡funciona muy bien para mí! Los usuarios querían ver archivos en un recurso compartido de red
Cordell
11

Por lo que he visto de esto, lo siguiente es cierto para Firefox y Chrome;

1) Si tiene una página HTML abierta desde un host remoto, los file://enlaces no funcionarán, es decir, su barra de direcciones lee http://someserver.domainy la página contiene un enlace como<a href="file:///S:/sharedfile.txt">

2) Si usted tiene una página HTML abierto de su anfitrión local, entonces file://los enlaces se trabajará es decir, la barra de direcciones lee file:///C:/mydir/index.htmly que la página contiene un enlace como<a href="file:///S:/sharedfile.txt">

Para Internet Explorer, el punto 1) no es cierto. Se puede acceder a un archivo en su host local utilizando la file://sintaxis de enlace desde una página web en un host remoto. Esto se considera una falla de seguridad en IE (¿por quién? ¿Referencias?) (Y también está ahí en IE8) porque un host remoto puede acceder a los archivos en su computadora local sin su conocimiento ... es cierto que tienen que tener suerte con el nombre de archivo pero hay muchos archivos comúnmente nombrados allí con el potencial de contener información personal / privada.

Rory
fuente
12
"Una página web de un host remoto puede acceder a archivos en su host local" ¿Qué soporte tiene para este reclamo? Vincular un archivo y acceder al archivo no es lo mismo, ya que el host remoto no puede leer el archivo y no puede determinar si el archivo existe. ¿Hay algún truco que desconozco?
styfle
1
No funciona para mi Estoy abriendo un archivo local en Chrome con el archivo: ///, pero se niega a cargar otros archivos locales.
mcv
10

LocalLinks ahora parece estar obsoleto.

LocalExplorer parece haber ocupado su lugar y proporciona una funcionalidad similar:

https://chrome.google.com/webstore/detail/local-explorer-file-manag/eokekhgpaakbkfkmjjcbffibkencdfkl/reviews?hl=es

Básicamente es un complemento de Chrome que reemplaza file://enlaces con localexplorer://enlaces, combinado con un controlador de protocolo instalable que intercepta localexplorer://enlaces.

Lo mejor que puedo encontrar disponible en este momento es que no tengo afiliación con el desarrollador.


fuente
1
¡Gracias! Esta extensión realmente vale la pena si desea acceder a un archivo local desde otro protocolo en Chrome.
AstralisSomnium
6

La extensión LocalLinks de la respuesta más popular no funcionó para mí (dado que estaba tratando de usar file: // para abrir un directorio en el explorador de Windows, no un archivo), así que busqué otra solución. Descubrí que esta extensión "Abrir en IE" es una buena solución: https://chrome.google.com/webstore/detail/open-in-ie/iajffemldkkhodaedkcpnbpfabiglmdi

Esta no es una solución ideal, ya que en lugar de hacer clic en el enlace, los usuarios tendrán que hacer clic derecho y elegir Abrir en IE, pero al menos hace que el enlace sea funcional.

Una cosa a tener en cuenta, sin embargo, en IE10 (e IE9 después de cierto punto de actualización) tendrá que agregar el sitio a sus Sitios de confianza (Opciones de Internet> Seguridad> Sitios de confianza). Si el sitio no está en sitios de confianza, el enlace file: // tampoco funciona en IE.

BryPie
fuente
1
He visto el mismo comportamiento en IE11. Deberá agregar una lista de sitios de confianza para que funcione.
2015
plugin no compatible con el último Chrome
Yannick Smits
1

No es realmente una respuesta, sino una solución para abrir un enlace local en Chrome usando Python.

Copie el enlace local que desea ejecutar y luego ejecute el siguiente código (usando un acceso directo), se abrirá su enlace.

import win32clipboard
import os

win32clipboard.OpenClipboard()
clipboard_data= win32clipboard.GetClipboardData()
win32clipboard.CloseClipboard()

os.system("start "+clipboard_data)
JinSnow
fuente
0

Acabo de encontrar el mismo problema y encontré la extensión de Chrome Open IE .
Ese es el único que funciona para mí (Chrome V46 y V52). La única desventaja es que necesita instalar un programa adicional, lo que significa que necesita derechos de administrador.

Stefan
fuente
1
Abrir IE abre IE. ¿Por qué no usar IE en primer lugar? Definitivamente no es una solución.
Mike
porque IE está desactualizado, no es tan bueno como FF o Chrome, pero hay algunas aplicaciones / sitios internos que todavía transmiten en IE
Stefan
0

Esperemos que esto ayude a otros en un entorno empresarial que buscan una solución. Mi solución después de mucho retocar fue la siguiente:

Siga los pasos en el siguiente enlace para instalar la extensión de navegador heredada y la configuración de gpo: https://support.google.com/chrome/a/answer/3019558?hl=en&ref_topic=3062034

Se habilitó la redirección del navegador heredado para "file: //" a través de la configuración de Chrome Gpo Google Chrome -> Soporte del navegador heredado -> "Sitios web para abrir en un navegador alternativo"

Configure gpo para instalar también la extensión: https://chrome.google.com/webstore/detail/enable-local-file-links/nikfmfgobenbhmocjaaboihbeocackld que redirige el archivo: // enlaces para omitir el archivo de Chrome: // bloque de enlaces.

La extensión abre los enlaces que luego activa Google Chrome para abrir el enlace en Internet Explorer. El resultado es que IE abre una ventana, luego abre el archivo / carpeta para el usuario, luego IE se cierra.

diegorodny
fuente
3
los enlaces caducan. Publique lo esencial aquí para mantener su respuesta a prueba de futuro.
ZF007