Czy Google Chrome może otwierać lokalne linki?

138

Łączę na stronie intranetowej do lokalnego pliku na dysku współdzielonym:

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

Działa to w IE i Firefox z dodatkiem o nazwie link lokalny.

Jak mogę to otworzyć w Google Chrome?

Dzięki

Andy
źródło
Co się stanie, jeśli upuścisz file:///kawałek?
Nick Bolton,
nie działa w pozostałych 2 przeglądarkach, których nie próbowałem w Chrome. spróbuje teraz
Andy
1
Wygląda na to, że powinieneś być w stanie otwierać pliki lokalne również w chrome. Mam dysk Z: i mogę zobaczyć zawartość folderu za pomocą pliku: /// Z: /
dawez
Możesz to zrobić, klikając prawym przyciskiem myszy i „otwórz w nowej karcie”. Nie wiem, czy to wystarczy ...
Matt spala
Rozszerzenie, które działa z obecnym chromem (32.0.1700.107) jest tutaj: code.google.com/p/locallinks
Zane

Odpowiedzi:

42

Nie możesz utworzyć linku do file:///z dokumentu HTML, który sam w sobie nie jest a file:///ze względów bezpieczeństwa.

Thomas Bonini
źródło
26
Możliwe, że jest to „luka w zabezpieczeniach”, ale w niektórych przypadkach zapewnia również podstawowe funkcje, a Chrome może dać nam możliwość włączenia tej funkcji dla określonych adresów URL, z ostrzeżeniem i badaniami, aby dowiedzieć się, jak to zrobić, a nie tylko wyłączanie hurtowe
Arcan.NET,
2
@ Arcan.NET Nie zgadzam się. Byłoby to orędownikiem złych praktyk, a kiedy już się rozpowszechni, będzie to kolejny wektor ataku inżynierii społecznej .
bytecode77
4
@ bytecode77 Masz rację. Jednak argumentowałbym, że jest to zła praktyka tylko w pewnych okolicznościach. Na przykład, co by się stało, gdyby miało to miejsce w firmowym intranecie z ograniczonym zestawem użytkowników? Chociaż może to być zła praktyka, ci, którzy zdecydowali się na niewłaściwe użycie tej funkcji, muszą zostać pociągnięci do odpowiedzialności za swoje działania, zamiast usuwać przydatny schemat protokołu, aby nikt nie mógł odnieść korzyści (kto również używa go odpowiednio).
Rook
1
Nawet lokalny katalog z index.html nie ma dostępu! Jak byłoby to niebezpieczne? Przy takiej polityce najbezpieczniej jest w ogóle nie używać Chrome.
Widzę lukę w zabezpieczeniach, której dotyczy to rozwiązanie. Jednak dobrym rozwiązaniem byłoby umieszczenie na białej liście niektórych adresów - lub nawet zezwolenie tylko na strony intranetowe - tak aby zaufane witryny mogły zawierać łącza do plików. Na przykład mamy raport SSRS, który zawiera łącza do plików w udziale. Alternatywa jest jak poniżej z @Guilherme Amorim, ale powoduje to, że użytkownicy pobierają niekończące się kopie plików zamiast otwierać je w udziale
niepolityczny tag
21

To pytanie jest przestarzałe, ale miałem ten sam problem właśnie teraz. Rozwiązaniem, które znalazłem, było zmapowanie katalogu wirtualnego w usługach IIS na dysk sieciowy z dokumentami, dzięki czemu adres URL stał się przyjaznym adresem „http: //”.

Ustawianie katalogów wirtualnych:

IIS:

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

Apache:

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

Twoje zdrowie!

Guilherme Amorim
źródło
Dzięki, to mi bardzo pomogło. Nie tylko pozwala mi to otwierać pliki hostowane na innym serwerze, ale otwiera je bezpośrednio w przeglądarce.
D.Galvez
@ D.Galvez Cieszę się, że to było przydatne dla kogoś.
Guilherme Amorim
To mi pomogło !!
Wielkie
Chrom to czerwony śledź. Rozwiązanie jest w Apache2, poprzez „katalogu wirtualnego, jak to omówiono w tej odpowiedzi (zastanawiam się, czy będzie to rozwiązać Firefox.).
Rick James
Dzięki - dla mnie działa świetnie! Użytkownicy chcieli widzieć pliki w udziale sieciowym
Cordell,
11

Z tego, co widziałem, następująca kwestia dotyczy przeglądarek Firefox i Chrome;

1) Jeśli masz otwartą stronę HTML ze zdalnego hosta, file://linki nie będą działać, tj. Twój pasek adresu czyta, http://someserver.domaina strona zawiera link, taki jak<a href="file:///S:/sharedfile.txt">

2) Jeśli masz otwartą stronę HTML z lokalnego hosta, file://linki będą działać, tj. Pasek adresu czyta, file:///C:/mydir/index.htmla strona zawiera link, taki jak<a href="file:///S:/sharedfile.txt">

W przypadku przeglądarki Internet Explorer punkt 1) nie jest prawdą. Dostęp do pliku na hoście lokalnym można uzyskać za pomocą file://składni łącza ze strony internetowej na hoście zdalnym. Jest to uważane za lukę w zabezpieczeniach w IE (przez kogo? Referencje?) (I jest tam również w IE8), ponieważ zdalny host może uzyskać dostęp do plików na lokalnym komputerze bez Twojej wiedzy ... trzeba przyznać, że musi mieć szczęście z nazwą pliku ale jest tam wiele powszechnie nazwanych plików, które mogą zawierać dane osobowe / prywatne.

Rory
źródło
12
„Strona internetowa ze zdalnego hosta może uzyskiwać dostęp do plików na Twoim lokalnym hoście” Jakie wsparcie masz dla tego roszczenia? Łączenie pliku i uzyskiwanie dostępu do pliku to nie to samo, ponieważ zdalny host nie może odczytać pliku i nie może określić, czy plik istnieje. Czy jest włamanie, o którym nie wiem?
styfle
1
Nie działa na mnie. Otwieram lokalny plik w Chrome z plikiem: ///, ale odmawia on załadowania innych plików lokalnych.
mcv
10

Wydaje się, że LocalLinks jest przestarzały.

Wydaje się, że LocalExplorer zajął to miejsce i zapewnia podobną funkcjonalność:

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

Jest to po prostu wtyczka Chrome, która zastępuje file://linki localexplorer://linkami, w połączeniu z instalowalnym programem obsługi protokołu, który przechwytuje localexplorer://linki.

Najlepsza rzecz, jaką mogę znaleźć w tej chwili, nie mam powiązań z deweloperem.


źródło
1
Dzięki! To rozszerzenie jest naprawdę tego warte, jeśli chcesz uzyskać dostęp do pliku lokalnego z innego protokołu w Chrome.
AstralisSomnium
6

Rozszerzenie LocalLinks z najpopularniejszej odpowiedzi nie działało dla mnie (biorąc pod uwagę, że próbowałem użyć file: // do otwarcia katalogu w Eksploratorze Windows, a nie pliku), więc szukałem innego obejścia. Zauważyłem, że to rozszerzenie „Otwórz w IE” to dobre obejście: https://chrome.google.com/webstore/detail/open-in-ie/iajffemldkkhodaedkcpnbpfabiglmdi

Nie jest to idealne rozwiązanie, ponieważ zamiast klikać łącze, użytkownicy będą musieli kliknąć prawym przyciskiem myszy i wybrać opcję Otwórz w IE, ale przynajmniej sprawi, że łącze będzie działać.

Należy jednak pamiętać, że w IE10 (i IE9 po pewnym punkcie aktualizacji) będziesz musiał dodać witrynę do zaufanych witryn (Opcje internetowe> Bezpieczeństwo> Zaufane witryny). Jeśli witryna nie znajduje się w zaufanych witrynach, link file: // również nie działa w przeglądarce IE.

BryPie
źródło
1
Widziałem to samo zachowanie w IE11. Będziesz musiał dodać do listy zaufanych witryn, aby działało.
ppant
wtyczka nie jest kompatybilna z najnowszą wersją Chrome
Yannick Smits,
1

To nie jest tak naprawdę odpowiedź, ale obejście, aby otworzyć lokalne łącze w chrome za pomocą Pythona.

Skopiuj lokalny link, który chcesz uruchomić, a następnie uruchom poniższy kod (używając skrótu), otworzy to twój link.

import win32clipboard
import os

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

os.system("start "+clipboard_data)
JinSnow
źródło
0

Właśnie natknąłem się na ten sam problem i znalazłem rozszerzenie Chrome Open IE .
To jedyne, co działa dla mnie (Chrome V46 i V52). Jedyną wadą jest to, że musisz zainstalować dodatkowy program, czyli potrzebujesz uprawnień administratora.

Stefan
źródło
1
Open IE otwiera IE. Dlaczego nie używać IE w pierwszej kolejności. Zdecydowanie nie jest to obejście.
Mike
ponieważ IE jest przestarzały, zdecydowanie nie jest tak dobry jak FF czy Chrome, ale istnieją pewne wewnętrzne aplikacje / strony, które nadal są przekazywane na IE
Stefan
0

Miejmy nadzieję, że pomoże to innym w przedsiębiorstwach poszukujących rozwiązania. Moje rozwiązanie po wielu majsterkowaniu było następujące:

Postępuj zgodnie z instrukcjami w poniższym linku, aby zainstalować starsze rozszerzenie przeglądarki i ustawienia gpo: https://support.google.com/chrome/a/answer/3019558?hl=pl&ref_topic=3062034

Włączono przekierowanie starszej przeglądarki dla „file: //” przez konfigurację chrome gpo Google Chrome -> Obsługa starszych przeglądarek -> „Witryny do otwierania w alternatywnej przeglądarce”

Skonfiguruj gpo, aby również zainstalować rozszerzenie: https://chrome.google.com/webstore/detail/enable-local-file-links/nikfmfgobenbhmocjaaboihbeocackld, które przekierowuje file: // linki do ominięcia chrome file: // link block.

Rozszerzenie otwiera linki, które następnie uruchamiają Google Chrome, aby otworzyć link w przeglądarce Internet Explorer. W rezultacie IE otwiera okno, następnie otwiera plik / folder dla użytkownika, a następnie IE zamyka się.

diegorodny
źródło
3
linki wygasają. Opublikuj tutaj podstawowe informacje, aby Twoja odpowiedź była zabezpieczona w przyszłości.
ZF007