Может ли Google Chrome открывать локальные ссылки?

139

Я связываю на странице интрасети локальный файл на общем диске:

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

Это работает в IE и Firefox с надстройкой, называемой локальной ссылкой.

Как я могу открыть это в Google Chrome?

Энди
источник
Что будет, если вы уроните file:///биту?
Ник Болтон
он не работает в двух других браузерах, которые я не пробовал в Chrome. сейчас попробую
Энди
1
Кажется, у вас должна быть возможность открывать локальные файлы также в хроме. У меня есть диск Z :, и я могу видеть содержимое папки с помощью file: /// Z: /
dawez
Сделать это можно, если щелкнуть правой кнопкой мыши и «открыть в новой вкладке». Не знаю, достаточно ли этого ...
Мэтт
Расширение, которое работает с текущим хромом (32.0.1700.107), находится здесь: code.google.com/p/locallinks
Зейн,

Ответы:

45

Вы не можете ссылаться на file:///HTML-документ, который не является сам по себе file:///по соображениям безопасности.

Томас Бонини
источник
27
Возможно, это «недостаток безопасности», но он также предоставляет важные функции в некоторых случаях, и Chrome может дать нам возможность включить его для определенных URL-адресов с предупреждением и исследованием, чтобы выяснить, как это сделать, а не просто отключение его оптом
Arcan.NET
2
@ Arcan.NET Я не согласен. Это будет пропагандировать плохую практику, и, как только она будет распространена, это еще один вектор атаки социальной инженерии .
bytecode77
4
@ bytecode77 У вас хорошая мысль. Однако я бы сказал, что это плохая практика только при определенных обстоятельствах. Например, что, если бы это было в корпоративной интрасети с ограниченным набором пользователей? Хотя это может быть плохой практикой, те, кто решил злоупотребить этой функцией, должны нести ответственность за свои действия, а не удалять полезную схему протокола, чтобы никто не мог получить выгоду (кто также использует ее надлежащим образом).
Rook
1
Не разрешен доступ даже к локальному каталогу с index.html! Как это будет небезопасно? При таком политическом мышлении безопаснее вообще не использовать Chrome.
Я вижу уязвимость системы безопасности, которую это устраняет. Но было бы неплохо занести некоторые адреса в белый список или даже разрешить только страницы интрасети, чтобы у доверенных сайтов были ссылки на файлы. Например, у нас есть отчет SSRS, в котором есть ссылки на файлы в общей папке. Альтернатива приведена ниже от @Guilherme Amorim, но в результате пользователи загружают бесконечные копии файлов, а не открывают их в общей папке
nonpoliticaltag
23

Этот вопрос датирован, но у меня была такая же проблема только сейчас. Решение, которое я нашел, заключалось в том, чтобы сопоставить виртуальный каталог в IIS с сетевым диском с документами, поэтому URL-адрес стал дружественным адресом «http: //».

Настройка виртуальных каталогов:

IIS:

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

Apache:

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

Ура!

Гильерме Аморим
источник
Спасибо, это мне очень помогло. Это не только позволяет мне открывать файлы, размещенные на другом сервере, но и открывает их напрямую в браузере.
D.Galvez
@ D.Galvez Рад, что это было кому-то полезно.
Guilherme Amorim
Это мне помогло !! Большое спасибо
AndeeC
Хром - отвлекающий маневр. Решение находится в Apache2 через виртуальный каталог, как обсуждается в этом Ответе. (Интересно, решит ли это Firefox.)
Рик Джеймс
Спасибо - у меня отлично работает! Пользователи хотели видеть файлы через общий сетевой ресурс
Корделл,
11

Из того, что я видел, следующее верно для Firefox и Chrome;

1) Если у вас есть HTML-страница, открытая с удаленного хоста, тогда file://ссылки не будут работать, т.е. ваша адресная строка читается, http://someserver.domainа страница содержит ссылку, например<a href="file:///S:/sharedfile.txt">

2) Если у вас есть HTML-страница, открытая с вашего локального хоста, то file://ссылки будут работать, то есть ваша адресная строка читается, file:///C:/mydir/index.htmlа страница содержит ссылку, например<a href="file:///S:/sharedfile.txt">

Для Internet Explorer пункт 1) не выполняется. Доступ к файлу на вашем локальном хосте можно получить с помощью file://синтаксиса ссылки с веб-страницы на удаленном хосте. Это считается недостатком безопасности в IE (кем? Ссылки?) (И он есть и в IE8), потому что удаленный хост может получить доступ к файлам на вашем локальном компьютере без вашего ведома .... по общему признанию, им повезло с именем файла но там есть множество файлов с общими именами, которые могут содержать личную / частную информацию.

Рори
источник
12
«Веб-страница с удаленного хоста может получить доступ к файлам на вашем локальном хосте» Какую поддержку вы оказываете в отношении этого утверждения? Связывание файла и доступ к файлу - это не одно и то же, поскольку удаленный хост не может прочитать файл и не может определить, существует ли файл. Есть ли взлом, о котором я не знаю?
Styfle
1
У меня не работает. Я открываю локальный файл в Chrome с помощью file: ///, но он отказывается загружать другие локальные файлы.
mcv
10

LocalLinks теперь кажется устаревшим.

LocalExplorer, похоже, занял свое место и предоставляет аналогичные функции:

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

По сути, это плагин для Chrome, который заменяет file://ссылки localexplorer://ссылками, в сочетании с устанавливаемым обработчиком протокола, который перехватывает localexplorer://ссылки.

Лучшее, что я могу найти, доступно прямо сейчас, я не связан с разработчиком.


источник
1
Благодарность! Это расширение действительно того стоит, если вы хотите получить доступ к локальному файлу из другого протокола в Chrome.
Патрик
6

Расширение LocalLinks из самого популярного ответа у меня не сработало (учитывая, что я пытался использовать file: // для открытия каталога в проводнике Windows, а не файла), поэтому я поискал другое обходное решение. Я обнаружил, что это расширение «Открыть в IE» является хорошим решением: https://chrome.google.com/webstore/detail/open-in-ie/iajffemldkkhodaedkcpnbpfabiglmdi

Это не идеальное исправление, поскольку вместо того, чтобы щелкнуть ссылку, пользователям придется щелкнуть правой кнопкой мыши и выбрать «Открыть в IE», но это, по крайней мере, сделает ссылку функциональной.

Однако следует отметить одну вещь: в IE10 (и IE9 после определенной точки обновления) вам нужно будет добавить сайт в свои надежные сайты (Свойства обозревателя> Безопасность> Надежные сайты). Если сайт не входит в список доверенных сайтов, ссылка file: // также не работает в IE.

BryPie
источник
1
Я видел такое же поведение в IE11. Вам нужно будет добавить его в список доверенных сайтов, чтобы он заработал.
ppant 06
плагин несовместим с последней версией Chrome
Янник Смитс,
1

На самом деле это не anwser, а обходной путь для открытия локальной ссылки в chrome с помощью python.

Скопируйте локальную ссылку, которую хотите запустить, затем запустите приведенный ниже код (используя ярлык), он откроет вашу ссылку.

import win32clipboard
import os

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

os.system("start "+clipboard_data)
JinSnow
источник
0

Я только что столкнулся с той же проблемой и нашел расширение Chrome Open IE .
Это единственное, что у меня работает (Chrome V46 и V52). Единственный недостаток в том, что вам нужно установить дополнительную программу, то есть вам нужны права администратора.

Стефан
источник
1
Открыть IE открывает IE. Почему бы в первую очередь не использовать IE. Определенно не работа.
Майк
потому что IE устарел, далеко не такой goog, как FF или Chrome, но есть некоторые внутренние приложения / сайты, которые все еще ретранслируются в IE
Стефан
-1

Надеюсь, это поможет другим на предприятии, ищущим решение. Мое решение после долгих попыток было следующее:

Следуйте инструкциям по следующей ссылке, чтобы установить устаревшее расширение браузера и настройки gpo: https://support.google.com/chrome/a/answer/3019558?hl=ru&ref_topic=3062034

Включено перенаправление устаревшего браузера для "file: //" через конфигурацию chrome gpo. Google Chrome -> Поддержка устаревшего браузера -> "Веб-сайты для открытия в альтернативном браузере"

Настройте gpo для установки расширения: https://chrome.google.com/webstore/detail/enable-local-file-links/nikfmfgobenbhmocjaaboihbeocackld, который перенаправляет ссылки file: // для обхода chrome file: // link block.

Расширение открывает ссылки, которые затем запускают Google Chrome для открытия ссылки в Internet Explorer. В результате IE открывает окно, затем открывает файл / папку для пользователя, а затем IE закрывается.

диегородный
источник
5
ссылки истекают. Разместите здесь самое необходимое, чтобы ваш ответ был надежным в будущем.
ZF007