Google Chrome peut-il ouvrir des liens locaux?

138

Je crée un lien sur une page intranet vers un fichier local sur un lecteur partagé:

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

Cela fonctionne dans IE et Firefox avec un addon appelé lien local.

Comment puis-je ouvrir cela dans Google Chrome?

Merci

Andy
la source
Que se passe-t-il si vous laissez tomber le file:///mors?
Nick Bolton
cela ne fonctionne pas dans les 2 autres navigateurs que je n'ai pas essayés dans Chrome. va essayer maintenant
Andy
1
Il semble que vous devriez pouvoir ouvrir les fichiers locaux également dans Chrome. J'ai un lecteur Z: et je peux voir le contenu du dossier en utilisant file: /// Z: /
dawez
Vous pouvez le faire si vous faites un clic droit et "ouvrir dans un nouvel onglet". Je ne sais pas si c'est assez bon ...
Matt Burns
L'extension qui fonctionne avec le chrome actuel (32.0.1700.107) est ici: code.google.com/p/locallinks
Zane

Réponses:

42

Vous ne pouvez pas créer de lien à file:///partir d'un document HTML qui n'est pas lui-même file:///pour des raisons de sécurité.

Thomas Bonini
la source
26
Il se peut que ce soit une "faille de sécurité", mais cela fournit également des fonctionnalités essentielles dans certains cas et Chrome pourrait nous donner la possibilité de l'activer pour certaines URL, avec un avertissement et des recherches pour savoir comment le faire, plutôt que simplement le désactiver en gros
Arcan.NET
2
@ Arcan.NET Je ne suis pas d'accord. Cela préconiserait une mauvaise pratique et une fois répandue, c'est encore un autre vecteur d'attaque d'ingénierie sociale .
bytecode77
4
@ bytecode77 Vous avez un bon point. Cependant, je dirais que ce n'est une mauvaise pratique que dans certaines circonstances. Par exemple, que se passerait-il s'il s'agissait d'un intranet d'entreprise avec un ensemble restreint d'utilisateurs? Bien que cela puisse être une mauvaise pratique, ceux qui ont choisi d'abuser de la fonctionnalité doivent être tenus responsables de leurs actions plutôt que de supprimer un schéma de protocole utile afin que personne ne puisse en bénéficier (qui l'utilise également de manière appropriée).
Tour du
1
Même le répertoire local avec l'index.html n'est pas autorisé à accéder! Comment serait-ce peu sûr? Avec cette politique, il est plus sûr de ne pas utiliser du tout Chrome.
Je peux voir la vulnérabilité de sécurité que cela corrige. Mais ce serait une bonne fonctionnalité de devoir mettre certaines adresses sur liste blanche - ou même d'autoriser uniquement les pages intranet - afin que les sites de confiance puissent avoir des liens vers des fichiers. Par exemple, nous avons un rapport SSRS qui contient des liens vers des fichiers sur un partage. L'alternative est comme ci-dessous de @Guilherme Amorim, mais cela a pour résultat que les utilisateurs téléchargent des copies infinies de fichiers plutôt que de les ouvrir sur un partage
nonpoliticaltag
21

Cette question est datée, mais j'ai eu le même problème tout à l'heure, la solution que j'ai trouvée était de mapper un répertoire virtuel dans IIS sur le lecteur en réseau avec les documents, de sorte que l'URL est devenue une adresse conviviale "http: //".

Définition des répertoires virtuels:

IIS:

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

Apache:

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

À votre santé!

Guilherme Amorim
la source
Merci, cela m'a beaucoup aidé. Non seulement cela me permet d'ouvrir des fichiers hébergés sur un autre serveur, mais cela les ouvre directement dans le navigateur.
D.Galvez
@ D.Galvez Heureux que cela ait été utile à quelqu'un.
Guilherme Amorim
Cela m'a aidé !! Merci beaucoup
AndeeC
Le chrome est un hareng rouge. La solution est dans Apache2, via le "répertoire virtuel, comme discuté dans cette réponse. (Je me demande si cela résoudra Firefox.)
Rick James
Merci - fonctionne très bien pour moi! Les utilisateurs voulaient voir les fichiers sur un partage réseau
Cordell
11

D'après ce que j'ai vu, ce qui suit est vrai pour Firefox et Chrome;

1) Si vous avez une page HTML ouverte à partir d'un hôte distant, les file://liens ne fonctionneront pas , c'est-à-dire que votre barre d'adresse se lit http://someserver.domainet la page contient un lien tel que<a href="file:///S:/sharedfile.txt">

2) Si vous avez une page HTML ouverte à partir de votre hôte local , puis des file://liens seront -à- dire le travail de votre barre d'adresse lit file:///C:/mydir/index.htmlet la page contient un lien tel que<a href="file:///S:/sharedfile.txt">

Pour Internet Explorer, le point 1) n'est pas vrai. Un fichier sur votre hôte local est accessible en utilisant lefile:// syntaxe de lien à partir d'une page Web sur un hôte distant. Ceci est considéré comme une faille de sécurité dans IE (Par qui? Références?) (Et il est également présent dans IE8) car un hôte distant peut accéder aux fichiers sur votre ordinateur local à votre insu ... certes, ils doivent avoir de la chance avec le nom de fichier. mais il existe de nombreux fichiers communément nommés avec le potentiel de contenir des informations personnelles / privées.

Rory
la source
12
"Une page Web d'un hôte distant peut accéder aux fichiers de votre hôte local" De quelle assistance bénéficiez-vous pour cette réclamation? La liaison d'un fichier et l'accès au fichier ne sont pas la même chose puisque l'hôte distant ne peut pas lire le fichier et ne peut pas déterminer si le fichier existe. Y a-t-il un hack dont je ne suis pas au courant?
styfle
1
Ça ne marche pas pour moi. J'ouvre un fichier local dans Chrome avec file: ///, mais il refuse de charger d'autres fichiers locaux.
mcv
10

LocalLinks semble désormais obsolète.

LocalExplorer semble avoir pris sa place et fournit des fonctionnalités similaires:

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

Il s'agit essentiellement d'un plugin chrome qui remplace les file://liens parlocalexplorer:// liens, combiné à un gestionnaire de protocole installable qui intercepte les localexplorer://liens.

La meilleure chose que je puisse trouver disponible pour le moment, je n'ai aucune affiliation avec le développeur.


la source
1
Merci! Cette extension vaut vraiment la peine si vous souhaitez accéder à un fichier local à partir d'un autre protocole dans Chrome.
AstralisSomnium
6

L'extension LocalLinks de la réponse la plus populaire ne fonctionnait pas pour moi (étant donné que j'essayais d'utiliser file: // pour ouvrir un répertoire dans l'explorateur Windows, pas un fichier), j'ai donc examiné une autre solution de contournement. J'ai trouvé que cette extension "Ouvrir dans IE" est une bonne solution de contournement: https://chrome.google.com/webstore/detail/open-in-ie/iajffemldkkhodaedkcpnbpfabiglmdi

Ce n'est pas une solution idéale, car au lieu de cliquer sur le lien, les utilisateurs devront faire un clic droit et choisir Ouvrir dans IE, mais cela rend au moins le lien fonctionnel.

Une chose à noter cependant, dans IE10 (et IE9 après un certain point de mise à jour), vous devrez ajouter le site à vos sites de confiance (Options Internet> Sécurité> Sites de confiance). Si le site ne figure pas dans des sites de confiance, le lien file: // ne fonctionne pas non plus dans IE.

BryPie
la source
1
J'ai vu le même comportement dans IE11. Vous devrez ajouter une liste de sites de confiance pour que cela fonctionne.
ppant
plugin non compatible avec le dernier Chrome
Yannick Smits
1

Ce n'est pas vraiment une réponse mais une solution de contournement pour ouvrir un lien local dans Chrome en utilisant python.

Copiez le lien local que vous souhaitez exécuter puis exécutez le code ci-dessous (à l'aide d'un raccourci), cela ouvrira votre lien.

import win32clipboard
import os

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

os.system("start "+clipboard_data)
JinSnow
la source
0

Je viens de rencontrer le même problème et j'ai trouvé l'extension Chrome Open IE .
C'est le seul qui fonctionne pour moi (Chrome V46 et V52). Le seul inconvénient est que vous devez installer un programme supplémentaire, ce qui signifie que vous avez besoin des droits d'administrateur.

Stefan
la source
1
Open IE ouvre IE. Pourquoi ne pas utiliser IE en premier lieu. Certainement pas un travail autour.
Mike
parce que IE est obsolète, de loin pas aussi goog que FF ou Chrome, mais il existe des applications / sites internes qui relaient encore sur IE
Stefan
0

Espérons que cela aide les autres dans une entreprise à rechercher une solution. Ma solution après beaucoup de bricolage était la suivante:

Suivez les étapes du lien suivant pour installer l'ancienne extension de navigateur et les paramètres GPO: https://support.google.com/chrome/a/answer/3019558?hl=fr&ref_topic=3062034

Redirection du navigateur hérité activée pour "file: //" via la configuration de chrome gpo Google Chrome -> Prise en charge du navigateur hérité -> "Sites Web à ouvrir dans un autre navigateur"

Configurez gpo pour installer également l'extension: https://chrome.google.com/webstore/detail/enable-local-file-links/nikfmfgobenbhmocjaaboihbeocackld qui redirige file: // liens pour contourner le fichier chrome: // bloc de liens.

L'extension ouvre les liens qui déclenchent ensuite google chrome pour ouvrir le lien dans Internet Explorer. Le résultat est que IE ouvre une fenêtre, puis ouvre le fichier / dossier pour l'utilisateur, puis IE se ferme.

Diegorodny
la source
3
les liens expirent. Postez les éléments essentiels ici pour que votre réponse soit pérenne.
ZF007