Firefox Links to local or network pages do not work

I have a .asp application where image files (.PDF) are stored in a directory (fed by a copier/scanner). The created file names are stored in a database table. When a query is launched from the web page a link to the file is created. When clicked the image should be displayed. This functionality works 100% in Internet Explorer. No such luck in Firefox (and I have some Firefox users). The created hyperlink looks like this file://Server/Scanner/XYZ.pdf

The Firefox helps suggest the reason is this:

Links to local or network pages do not work. As a security precaution, Firefox forbids sites on the Internet to link to files that are stored in your local computing environment. These files may include files on your computer, mapped network drives, and UNC network paths

None of the suggestions for a workaround seem to work (or I am not understanding the steps to create the image display) Any Suggestions?


Solution 1:

This is the default Firefox behavior designed for security .The assumption is probably that most web sites don't know what and where are you local files (including UNC paths).

This could be turned off in firefox:

  • type "about:config" in the address bar and accept "i'll be careful"
  • find "security.checkloaduri" in older versions or "security.fileuri.strict_origin_policy" in newer versions of firefox and change the value to "false"
  • restart firefox

That should do it for you. You have more information here:

  • http://kb.mozillazine.org/Security.fileuri.strict_origin_policy
  • http://kb.mozillazine.org/Security.fileuri.origin_policy

Solution 2:

Firefox >= 68.0.1

I'm able to preview in Firefox both images and PDF files with local file links using the settings mentioned here: https://bugzilla.mozilla.org/show_bug.cgi?id=1303727

I have used links with local file: <a href="file://N:/path/to/file.ext">test</a>

and added in user.js the mentioned settings (with adjusted sites list):

user_pref("capability.policy.policynames", "localfilelinks"); user_pref("capability.policy.localfilelinks.sites", "http://my.intranet"); user_pref("capability.policy.localfilelinks.checkloaduri.enabled", "allAccess");

Also, when setting Firefox to "Always ask" for PDF files, I was able to "Open with" the PDF in Adobe Acrobat Reader DC, which reported the expected local folder when accessing "File -> Properties".


Firefox >= 1.5.x < 20 (ish)

Search for the Firefox profile folder on your hard drive, e.g. (12345678 stands for eight random digits and letters):

  • Windows: "C:\Documents and Settings\Username\Application Data\Mozilla\Firefox\Profiles12345678.default\"
  • Linux: "/home/username/.mozilla/firefox/12345678.default/"
  • OS X: /Username/Library/Application Support/Firefox/Profiles/12345678.default/

In this folder create a text file with the name user.js. Write the following line into that text file:

user_pref("capability.policy.default.checkloaduri.enabled", "allAccess");

Works on my PC (Firefox 3.0.3 and 19.0 beta) with the following references:

  • <img src="file://///server/share/image.png" />
  • <img src="file://\\\server\share\image.png" />
  • <img src="file://d:\image.png" />
  • <img src="file:///d:\image.png" />
  • <img src="file://d:/image.png" />
  • <img src="file:///d:/image.png" />
  • <img src="file://localhost/d:/image.png" />

Also, if you are using the NoScript add-on, check the Advanced \ Trusted \ Allow local links option.

Solution 3:

Reading at the solution given here, I followed the link Links to local pages do not work and for me, only this worked well (I am using wordpress for a personal FAQ on a local wamp installation):

  • Go to your "%Your Documents & Settings%\Application Data\Mozilla\Firefox\Profiles\%your profile%\"
  • edit the file "prefs.js"
  • add the following lines at the end of the document:

.

user_pref("capability.policy.localfilelinks.checkloaduri.enabled", "allAccess");
user_pref("capability.policy.localfilelinks.sites", "http://localhost");
user_pref("capability.policy.maonoscript.javascript.enabled", "allAccess");

You can leave the setting "security.checkloaduri" to its default value, and also the "security.fileuri.strict_origin_policy". Thanks to those 3 lines, you just make an exception for your local server.

Be careful, if you need to go back to that prefs.js file, note that Firefox will have ordered it alphabetically. So the 3 lines you will have added at the end will be somewhere at the beginning ;).

Solution 4:

You can load the LocalLink FireFox Add-On, which allows you to right-click on a local link and select 'Open in Foreground Window'. The other 'Open...' menu items are supposed to work, but don't for me.

http://locallink.mozdev.org/

Also, you can use NoScript, like Alex suggests, which enables normal clicking of local links. Thanks Alex.

Solution 5:

Marko's solution should work for links that are also on the local filesystem, but I don't think it should allow an http:// page to link to a file:// page.

The issue for people linking from http:// pages is discussed here: http://kb.mozillazine.org/Links_to_local_pages_do_not_work along with an explanation of how to circumvent it and expose yourself to risk.