Link will not direct to local server resource - html

After running code I generate a link to redirect me to a directory found on the local server to which I have full access.
When clicking the link after run i get error message in the console : "not allowed to load local resource", but if I copy the same link and put it in a new browser tab, it functions correctly and redirects me to the specified directory. This issue is not specific to browser, the problem appears in all types of browsers.
Example for link using File Protocol :
Link

When you put a URL directly in the address bar then you, the user, are explicitly requesting it and (in theory) know what you are doing.
When you click on a link, the browser doesn't trust that the author of the page isn't trying to trick you, so additional security restrictions are applied.

Related

Why doesn’t my website update even though the file has been uploaded successfully? (FTP)

I have been trying in vain to update my website. I use the following information for a connection:
server
name + password
port
SFTP
When I save the file, I get a message that the file was uploaded successfully.
However, the website does not update.
In addition, the file on the server does not seem to correspond to the file displayed on the e.g. homepage.
I am happy about every answer.
Thank you in advance.
Maybe the files are cached so even though you change the files, server might be responding you with cached results. To check if that's the case, open your developer console, then go to Network tab and then refresh your page. When the data is loaded, check if it says "cached" on "Status" column. If so, try force refreshing your page by pressing CTRL+F5.

How do I create a network file download link in a webpage?

In a webpage, I'm trying to create a link to a file that's on a network drive, but its not working. I'm using Firefox due to other restrictions on the website. If I click on the link, nothing happens.
Here's what I've tried:
FileName
I've also tried this, but same result:
FileName
Open the Console, read the error messages.
When I constructed a test case, it said:
Security Error: Content at http://localhost:7007/ may not load or link to file:///tmp/adobegc.log.
You cannot link from an HTTP served webpage to something on the user's local filesystem.

Encoding on clicked href URI breaks path

On my intranet web app I serve the users a link to OneNote book on public folder. It magically works even if browsers do not allow to load local resources.
However I get the error opening resources with special characters in the URI.
Here is the link if I hoover over <a> tag:
onenote:\\\\company.local\folder\OneNoteWithChar_š.one
When I click on the link I get the error saying:
We couldn't open that location. It might not exist or you might not have permission to open it ... onenote:\\\\company.local\folder\OneNoteWithChar_%C5%BE.one
When I try to open files without this 'special' char (it is not special in our language, also it is allowed in Windows file and folder naming, the note opens normally.
How to avoid encoding of URI when clicked on it?

download html attribute does not rename the file using external URL

I am trying to rename a file when downloading it from <a> tag.
Here a simple example:
Download Stackoverflow Logo
As you can see, it never downloads the file with stackoverflow.png name, it does with default name though.
Nevertheless, if I download the image and tried to do the same with a local route, it renames the file properly.
Another example:
Download Stackoverflow Logo
The example above works properly.
Why download html attribute only works using local routes?
Thanks in advance!
The attribute download works only for same origin URLs.
By the way, you really should learn to use proper terminology, or else people won't understand you:
<a href="https://i.stack.imgur.com/440u9.png" download="stackoverflow.png"> is a tag, specifically, an opening tag;
download is an attribute;
stackoverflow.png is the value of the attribute;
https://i.stack.imgur.com/440u9.png is a URL, sometimes called an URI or an address.
The entire construction Download Stackoverflow Logo is an element.
A "route" is something else entirely, and has no relationship with HTML.
I couldn't find any info of it, but seems like external resources aren't allowed renaming.
Have a look here, there's an example linking to google image and that doesn't work either - seems like the specs have changed along the way.
This is a security measure applied to cross-origin download requests where the server hosting the download does not use HTTP headers to explicitly mark the file as being for download.
From the HTML specification:
If the algorithm reaches this step, then a download was begun from a
different origin than the resource being downloaded, and the origin
did not mark the file as suitable for downloading, and the download
was not initiated by the user. This could be because a download
attribute was used to trigger the download, or because the resource in
question is not of a type that the user agent supports.
This could be dangerous, because, for instance, a hostile server could
be trying to get a user to unknowingly download private information
and then re-upload it to the hostile server, by tricking the user into
thinking the data is from the hostile server.
Thus, it is in the user's interests that the user be somehow notified
that the resource in question comes from quite a different source, and
to prevent confusion, any suggested file name from the potentially
hostile interface origin should be ignored.

launch network location from browser

I am working on a webpage to provide download link to a searched file from the input form from user thru webpage.
I can use the html <a> tag as in <a href="file://ip/path/filename> link</a>
But when the file is in a network require login, i cannot do it.
Following is not working.
i had tried link
the file i need to link is locate at different network location based on user input to the browser form. then the backend python will search the file location.
can anybody give me a help ?
thank you.
Unfortunately, you are trying to do something which protocols and browsers do not support.
The username:password in URLs are designed to be consumed by a Web server. When you insert them in file URIs, there is nothing that will consume them; there's no HTTP server on the other end. Hence, the browser actually strips those before it extracts the file path from the request, and passes the file request to the OS.
You need to either make sure that the end-users are preauthenticated to all the network shares you are going to access, or avoid file URIs and set rudimentary web servers at your file targets.