Google Chrome สามารถเปิดลิงก์ในท้องถิ่นได้หรือไม่


138

ฉันกำลังลิงก์ในหน้าอินทราเน็ตไปยังไฟล์ในเครื่องบนไดรฟ์ที่แชร์:

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

ใช้งานได้ใน IE และ Firefox โดยมี addon ชื่อ local link

ฉันจะเปิดมันใน google chrome ได้อย่างไร?

ขอบคุณ


จะเกิดอะไรขึ้นถ้าคุณปล่อยfile:///บิต
Nick Bolton

มันไม่ทำงานในอีก 2 เบราว์เซอร์ที่ฉันไม่ได้ลองใน Chrome จะลองตอนนี้
Andy

1
ดูเหมือนว่าคุณควรจะสามารถเปิดไฟล์ในตัวเครื่องได้ด้วยโครเมี่ยม ฉันมีไดรฟ์ Z: และฉันสามารถดูเนื้อหาของโฟลเดอร์โดยใช้ไฟล์: /// Z: /
dawez

คุณสามารถทำได้ถ้าคุณคลิกขวาและ "เปิดในแท็บใหม่" Dunno ถ้านั่นดีพอ ...
ด้านไหม้

ส่วนขยายที่ทำงานกับโครเมียมปัจจุบัน (32.0.1700.107) อยู่ที่นี่: code.google.com/p/locallinks
Zane

คำตอบ:


42

คุณไม่สามารถลิงก์ไปยังfile:///จากเอกสาร HTML ที่ไม่ใช่ของตัวเองfile:///ด้วยเหตุผลด้านความปลอดภัย


26
อาจเป็นได้ว่านี่เป็น "ข้อบกพร่องด้านความปลอดภัย" แต่ก็มีฟังก์ชั่นการใช้งานที่จำเป็นในบางกรณีและ Chrome สามารถให้เราสามารถเปิดใช้งานได้สำหรับ URL บางแห่งโดยมีคำเตือนและการวิจัยเพื่อหาวิธีที่จะทำได้มากกว่า ปิดใช้งานการขายส่ง
Arcan.NET

2
@ Arcan.NET ฉันไม่เห็นด้วย นี้จะสนับสนุนการปฏิบัติที่ไม่ดีและเมื่อมันเป็น whitespread ก็ยังอีกวิศวกรรมสังคมโจมตีเวกเตอร์
bytecode77

4
@ bytecode77 คุณมีจุดดี อย่างไรก็ตามฉันจะยืนยันว่ามันเป็นการปฏิบัติที่ไม่ดีภายใต้สถานการณ์บางอย่างเท่านั้น ตัวอย่างเช่นจะเกิดอะไรขึ้นถ้าสิ่งนี้อยู่ภายในอินทราเน็ตขององค์กรที่มีกลุ่มผู้ใช้ที่ถูก จำกัด แม้ว่าจะเป็นแนวปฏิบัติที่ไม่ดีผู้ที่เลือกที่จะใช้คุณลักษณะนี้ในทางที่ผิดจะต้องรับผิดชอบต่อการกระทำของพวกเขาแทนที่จะลบโครงร่างโปรโตคอลที่มีประโยชน์ออกเพื่อไม่ให้เกิดประโยชน์ใด ๆ
โกง

1
ไม่อนุญาตให้แม้แต่ dir ในพื้นที่ที่มี index.html! มันจะไม่ปลอดภัยได้อย่างไร? ด้วยนโยบายที่คิดว่ามันปลอดภัยที่สุดที่จะไม่ใช้ Chrome เลย

ฉันสามารถดูช่องโหว่ความปลอดภัยที่อยู่นี้ แต่มันจะเป็นคุณสมบัติที่ดีที่จะต้องอนุญาตรายการที่อยู่บางรายการ - หรือแม้แต่อนุญาตให้ใช้สำหรับหน้าอินทราเน็ตเท่านั้น - เพื่อให้เว็บไซต์ที่เชื่อถือได้อาจมีลิงค์ไปยังไฟล์ ตัวอย่างเช่นเรามีรายงาน SSRS ที่มีลิงก์ไปยังไฟล์ในการแชร์ ทางเลือกดังต่อไปนี้จาก @Guilherme Amorim แต่นั่นส่งผลให้ผู้ใช้ดาวน์โหลดสำเนาไฟล์ที่ไม่มีที่สิ้นสุดแทนที่จะเปิดในการแชร์
nonpoliticaltag

21

คำถามนี้เก่า แต่ฉันมีปัญหาเดียวกันในตอนนี้วิธีแก้ปัญหาที่ฉันพบคือการแมปไดเรกทอรีเสมือนใน 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

Chrome เป็นปลาเฮอริ่งแดง การแก้ปัญหาคือใน Apache2 ผ่าน "ไดเรกทอรีเสมือนที่กล่าวไว้ในคำตอบนี้ (ผมสงสัยว่ามันจะแก้ Firefox.).
ริกเจมส์

ขอบคุณ - ใช้งานได้ดีสำหรับฉัน! ผู้ใช้ต้องการดูไฟล์ผ่านเครือข่ายที่ใช้ร่วมกัน
Cordell

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
"หน้าเว็บจากโฮสต์ระยะไกลสามารถเข้าถึงไฟล์บนโฮสต์ในพื้นที่ของคุณ" คุณมีการสนับสนุนอะไรสำหรับการอ้างสิทธิ์นี้ การลิงก์ไฟล์และการเข้าถึงไฟล์นั้นไม่เหมือนกันเนื่องจากรีโมตโฮสต์ไม่สามารถอ่านไฟล์และไม่สามารถระบุได้ว่ามีไฟล์อยู่หรือไม่ มีแฮ็คที่ฉันไม่รู้หรือไม่
สไตล์

1
ไม่ได้ผลสำหรับฉัน ฉันกำลังเปิดไฟล์โลคอลใน Chrome ด้วยไฟล์: /// แต่มันไม่ยอมโหลดไฟล์โลคอลอื่น ๆ
mcv

10

LocalLinks ดูเหมือนจะล้าสมัยแล้ว

LocalExplorer ดูเหมือนว่าจะเกิดขึ้นและให้การทำงานที่คล้ายกัน:

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

มันเป็นปลั๊กอินของ chrome ที่แทนที่file://ลิงก์ด้วยlocalexplorer://ลิงก์รวมกับตัวจัดการโปรโตคอลที่ติดตั้งได้ซึ่งขัดขวางlocalexplorer://ลิงก์

สิ่งที่ดีที่สุดที่ฉันสามารถหาได้ในขณะนี้ฉันไม่มีส่วนเกี่ยวข้องกับนักพัฒนา


1
ขอบคุณ! ส่วนขยายนี้คุ้มค่าจริง ๆ หากคุณต้องการเข้าถึงไฟล์ในเครื่องจากโปรโตคอลอื่นใน Chrome
AstralisSomnium

6

ส่วนขยาย LocalLinks จากคำตอบที่ได้รับความนิยมมากที่สุดไม่ได้ผลสำหรับฉัน (ได้รับฉันพยายามใช้ไฟล์: // เพื่อเปิดไดเรกทอรีใน windows explorer ไม่ใช่ไฟล์) ดังนั้นฉันจึงค้นหาวิธีแก้ปัญหาอื่น ฉันพบว่าส่วนขยาย "เปิดใน IE" เป็นวิธีแก้ปัญหาที่ดี: https://chrome.google.com/webstore/detail/open-in-ie/iajffemldkkhodaedkcpnbpfabiglmdi

นี่ไม่ใช่การแก้ไขที่สมบูรณ์แบบแทนที่จะคลิกที่ลิงก์ผู้ใช้จะต้องคลิกขวาและเลือกเปิดใน IE แต่อย่างน้อยก็ทำให้ลิงก์ทำงานได้

สิ่งหนึ่งที่ควรทราบใน IE10 (และ IE9 หลังจากจุดอัปเดตที่แน่นอน) คุณจะต้องเพิ่มไซต์ไปยังไซต์ที่เชื่อถือได้ของคุณ (ตัวเลือกอินเทอร์เน็ต> ความปลอดภัย> ไซต์ที่เชื่อถือได้) หากไซต์นั้นไม่อยู่ในไซต์ที่เชื่อถือได้ไฟล์: // link จะไม่ทำงานใน IE เช่นกัน


1
ฉันเคยเห็นพฤติกรรมเดียวกันใน IE11 คุณจะต้องเพิ่มในรายชื่อไซต์ที่เชื่อถือได้เพื่อให้มันใช้งานได้
ppant

ปลั๊กอินเข้ากันไม่ได้กับ Chrome ล่าสุด
Yannick Smits

1

มันไม่ได้เป็น anwser จริงๆ แต่เป็นวิธีแก้ปัญหาในการเปิดลิงค์ท้องถิ่นใน chrome โดยใช้ python

คัดลอกลิงค์ในเครื่องที่คุณต้องการเรียกใช้จากนั้นเรียกใช้รหัสตะโกน (ใช้ทางลัด) มันจะเปิดลิงค์ของคุณ

import win32clipboard
import os

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

os.system("start "+clipboard_data)

0

ฉันเพิ่งมาข้ามปัญหาเดียวกันและพบว่าการขยายโครเมี่ยมเปิด IE
นั่นเป็นเพียงสิ่งเดียวที่ใช้ได้ผลกับฉัน (Chrome V46 & V52) ข้อด้อยเพียงอย่างเดียวคือคุณต้องติดตั้งโปรแกรมเพิ่มเติมหมายความว่าคุณต้องการสิทธิ์ผู้ดูแลระบบ


1
Open IE เปิด IE ทำไมไม่ใช้ IE ในตอนแรก แน่นอนว่าไม่ใช่งานที่ต้องทำ
Mike

เพราะ IE ล้าสมัยไปแล้วไม่ไกลเท่า goog เช่น FF หรือ Chrome แต่มีบางแอพ / ไซต์ภายในที่ถ่ายทอดบน IE
Stefan

0

หวังว่านี่จะช่วยให้ผู้อื่นในองค์กรสามารถมองหาวิธีแก้ปัญหาได้ วิธีการแก้ปัญหาของฉันหลังจากซ่อมแซมมากคือต่อไปนี้:

ทำตามขั้นตอนในลิงค์ต่อไปนี้เพื่อติดตั้งส่วนขยายเบราว์เซอร์ดั้งเดิมและการตั้งค่า gpo: https://support.google.com/chrome/a/answer/3019558?hl=th&ref_topic=3062034

เปิดใช้งานการเปลี่ยนเส้นทางเบราว์เซอร์รุ่นเก่าสำหรับ "ไฟล์: //" ผ่านการกำหนดค่า chrome gpo Google Chrome -> การสนับสนุนเบราว์เซอร์รุ่นเก่า -> "เว็บไซต์เพื่อเปิดในเบราว์เซอร์อื่น"

กำหนดค่า gpo เพื่อติดตั้งส่วนขยายด้วย: https://chrome.google.com/webstore/detail/enable-local-file-links/nikfmfgobenbhmocjaaboihbeocackldซึ่งเปลี่ยนเส้นทางไฟล์: // ลิงก์เพื่อเลี่ยงผ่านไฟล์ chrome: // link block

ส่วนขยายจะเปิดลิงก์ที่จะเรียกใช้ google chrome เพื่อเปิดลิงก์ใน internet explorer ผลลัพธ์คือ IE เปิดหน้าต่างจากนั้นเปิดไฟล์ / โฟลเดอร์สำหรับผู้ใช้จากนั้น IE จะปิดตัวเอง


3
ลิงก์หมดอายุ โพสต์สิ่งจำเป็นที่นี่เพื่อเก็บคำตอบของคุณในอนาคต
ZF007
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.