News for hackers. Stuff that matters.
Re:Show HN: BrowserBox – do stuff with browsers that you can... by Lalabadie on Saturday April 08, 2023 @07:51AM (#35492403)
I ran into some of these concerns when working on a sandbox feature where users select their own files to use in an iframe.

Once in production, sometimes you want the user's browser to serve these local files to itself, from blobs and/or the local file system, meaning a server or CLI isn't feasible.

This should be better from a privacy standpoint since files stay completely client-side, but CORS difficulties end up encouraging developers to push files to the server at least temporarily instead.

Re:Show HN: BrowserBox – do stuff with browsers that you can... by haswell on Saturday April 08, 2023 @09:04AM (#35492750)
> This should be better from a privacy standpoint since files stay completely client-side, but CORS difficulties…

Isn’t this privacy tradeoff directly at odds with security? i.e. local access would also open the door to malicious sites accessing the local file system?

I can understand the dev-time frustration with CORS, but removing it just reintroduces a whole category of security issues.

Maybe there is something better, but whatever replaces it would need to include similar restrictions.

[dead]
Re:Show HN: BrowserBox – do stuff with browsers that you can... by haswell on Saturday April 08, 2023 @12:17PM (#35494760)
This sounds unrelated to the use case described by the parent, in which they want to serve specific files that exist.

But setting that aside, bypassing CORS to achieve this seems analogous to unlocking your front door/gate before leaving for the day in order to grant access to a delivery driver.

It’ll work, and the driver can deliver your package, but it’ll also let random and potentially malicious passers-by into your home without restriction, so who knows if your home will be intact when you return. A theoretically functional solution that doesn’t really work in the real world.

Some other solution that behaves more like a temporary file store sounds better, but the tradeoff I mentioned is specifically about CORS.

Re:Show HN: BrowserBox – do stuff with browsers that you can... by Lalabadie on Saturday April 08, 2023 @10:08PM (#35499480)
Definitely at odds with having a most secure default, yes.
Re:Show HN: BrowserBox – do stuff with browsers that you can... by thih9 on Saturday April 08, 2023 @11:45AM (#35494414)
> CORS difficulties end up encouraging developers to push files to the server at least temporarily instead

I get that you need the user to explicitly select the file but I don’t understand the need to upload to a server.

Couldn’t you ask the user to select the file and just use the file locally, e.g. with the File API? https://developer.mozilla.org/en-US/docs/Web/API/File

I guess things break when you need repeated access and when having to pick the same file multiple times would be bad UX.

Re:Show HN: BrowserBox – do stuff with browsers that you can... by Lalabadie on Saturday April 08, 2023 @10:21PM (#35499539)
That's the better solution, yes.

In the case I was referring, we loaded files as blobs in the browser's local storage, allowing us to run a web worker as a persistent local cache server.

This involved managing Firefox's admirable response doctoring policies, though.

All other browsers would let a web worker modify the incoming response to a request before forwarding it to an iframe, but FF absolutely refused it and required that the modified response get constructed anew in its local context, meaning locally created or injected content could not be mistakenly trusted as origin content.

Re:Show HN: BrowserBox – do stuff with browsers that you can... by thih9 on Sunday April 09, 2023 @06:35AM (#35501429)
Thanks for the details!