2009-08-10 9 views
14

Vorrei creare un collegamento da una pagina Web a un file su un file system locale e farlo funzionare in tutti i browser (o almeno in Internet Explorer, Firefox e Chrome).Collegamento cross-browser al file sul sistema locale

Ad esempio, le seguenti opere in Internet Explorer:

<a href="\\myserver\doc\info.pdf">Info here</a> 

ma non in Firefox e Chrome.

C'è un modo per creare un collegamento che funzioni in tutti i browser?

Oppure un modo per utilizzare javascript per rilevare quale browser è e quindi visualizzare il collegamento appropriato in base al nome file?

+1

Non si tratta di una semplice congettura, ma i file "scaricati" dal file system locale da una condivisione di rete hanno in genere attributi di sicurezza diversi da quelli scaricati da un server web. Questo potrebbe quindi essere visto come un modo per aggirare la sicurezza, e potrebbe benissimo non essere consentito affatto in altri browser. –

risposta

16

collegamenti ai file locali sulle pagine che sono stati recuperati tramite HTTP (S) sono volutamente disabilitate in Mozilla/Firefox, perché possono essere un rischio per la sicurezza, e hanno stato usato in attacchi in passato.

Tuttavia, è possibile sovrascrivere questo comportamento. Per dettagli, vedere this article in MozillaZine.

+0

Molto vecchio ma comunque, dal momento che ho un problema con questo: perché questo è un problema di sicurezza? perché è più un problema confrontare per scaricare lo stesso file via HTTP? – Rafiki

+0

@Rafiki: l'articolo collegato elenca alcuni rischi. Se vuoi saperne di più, questa sembra una nuova eccellente domanda. Considera di chiederlo come tale su https://security.stackexchange.com/. – sleske

8

Prova a premettere url con file: ///

+2

Devi anche convertire le barre posteriori per far scorrere le barre, quindi il tuo esempio sarebbe il file: /////myserver/doc/info.pdf. Questo è coperto nel link sleske ha dato nella sua risposta. – Cahlroisse

Problemi correlati