I had an idea for a way to avoid breaking sites in situations where a page reload, particularly one with scripts partially blocked, may be undesirable (eg when performing a financial transaction).
What if NoScript could be put into a mode where, instead of simply blocking scripts from unknown domains, it would prompt you for each domain? With options to permanently/temporarily allow, mark as Untrusted, or return to normal mode.
Already-whitelisted domains would be ignored, of course, and probably Untrusted domains would too. Even so, it would be far too noisy for general use. But if you know you're going to be paying for something, etc, then it may be valuable to have NoScript ask you every time during that interaction, instead of potentially breaking something.
This could also help solve the problem of multiple page reloads for nested scripts; you could put NoScript into interactive mode, then make a decision about each site in a single pass.
Anyone's thoughts? Giorgio in particular?
Idea: Interactive mode to avoid breaking sensitive sites
Idea: Interactive mode to avoid breaking sensitive sites
======
Thrawn
------------
Religion is not the opium of the masses. Daily life is the opium of the masses.
True religion, which dares to acknowledge death and challenge the way we live, is an attempt to wake up.
Thrawn
------------
Religion is not the opium of the masses. Daily life is the opium of the masses.
True religion, which dares to acknowledge death and challenge the way we live, is an attempt to wake up.
Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:26.0) Gecko/20100101 Firefox/26.0
-
- Senior Member
- Posts: 93
- Joined: Mon Oct 01, 2012 6:34 am
Re: Idea: Interactive mode to avoid breaking sensitive sites
nvm
Last edited by Hecuba's daughter on Sun Jun 22, 2014 8:28 pm, edited 1 time in total.
Mozilla/5.0 (Windows NT 6.1; WOW64; rv:24.0) Gecko/20100101 Firefox/24.0
- Giorgio Maone
- Site Admin
- Posts: 9524
- Joined: Wed Mar 18, 2009 11:22 pm
- Location: Palermo - Italy
- Contact:
Re: Idea: Interactive mode to avoid breaking sensitive sites
Unfortunately this wouldn't work for the nested script loads case, because until the first script is loaded and executed NoScript cannot "foresee" what else is gonna be required.
Investigating other use cases, thank you.
Investigating other use cases, thank you.
Mozilla/5.0 (Windows NT 6.1; WOW64; rv:26.0) Gecko/20100101 Firefox/26.0
Re: Idea: Interactive mode to avoid breaking sensitive sites
So...NoScript doesn't get to intercept the script as it's running? It has to know everything that will be loaded in advance?
I was under the impression that if, say, script from domain A waits 2 minutes and then tries to load scripts from domain B, then NoScript will block domain B at that point (2 minutes in) and add B to the menu.
This would change that so that after 2 minutes, NoScript would pop up a confirmation dialog of some kind, asking whether you want to allow B.
Maybe I misunderstood NoScript's mechanisms. Surely it is able to intercept and check each HTTP request? (Otherwise we couldn't have ABE.)
As mentioned, this would be much too noisy/intrusive for general browsing, but useful in specific situations where you don't want to risk breaking something sensitive.
I was under the impression that if, say, script from domain A waits 2 minutes and then tries to load scripts from domain B, then NoScript will block domain B at that point (2 minutes in) and add B to the menu.
This would change that so that after 2 minutes, NoScript would pop up a confirmation dialog of some kind, asking whether you want to allow B.
Maybe I misunderstood NoScript's mechanisms. Surely it is able to intercept and check each HTTP request? (Otherwise we couldn't have ABE.)
As mentioned, this would be much too noisy/intrusive for general browsing, but useful in specific situations where you don't want to risk breaking something sensitive.
======
Thrawn
------------
Religion is not the opium of the masses. Daily life is the opium of the masses.
True religion, which dares to acknowledge death and challenge the way we live, is an attempt to wake up.
Thrawn
------------
Religion is not the opium of the masses. Daily life is the opium of the masses.
True religion, which dares to acknowledge death and challenge the way we live, is an attempt to wake up.
Mozilla/5.0 (X11; Ubuntu; Linux i686; rv:26.0) Gecko/20100101 Firefox/26.0
Re: Idea: Interactive mode to avoid breaking sensitive sites
Basically, within MainContentPolicy.shouldLoad, before rejecting a request, if in interactive mode, then first pop up a confirmation dialog to the user. If they want to continue blocking the domain, that's fine (ideally find a way to silence further confirmation dialogs for that domain on the current page, maybe based on a timer). If they choose to allow the domain, then it gets added to the whitelist and the original request never gets blocked; shouldLoad returns CP_OK. That way, you don't need to reload the page unless you later change your mind about a domain, meaning that the issue of nested scripts doesn't arise and sensitive interactions don't get broken.
Maybe logic could be added to the ns.reject function for this, so that if it's in interactive mode, then it checks with the user first.
Maybe logic could be added to the ns.reject function for this, so that if it's in interactive mode, then it checks with the user first.
======
Thrawn
------------
Religion is not the opium of the masses. Daily life is the opium of the masses.
True religion, which dares to acknowledge death and challenge the way we live, is an attempt to wake up.
Thrawn
------------
Religion is not the opium of the masses. Daily life is the opium of the masses.
True religion, which dares to acknowledge death and challenge the way we live, is an attempt to wake up.
Mozilla/5.0 (X11; Ubuntu; Linux i686; rv:26.0) Gecko/20100101 Firefox/26.0
Re: Idea: Interactive mode to avoid breaking sensitive sites
Bump.
Is it feasible for behind-the-scenes code like MainContentPolicy to launch a confirmation dialog to the user? It's not usual practice, I know, and it would easily become intrusive, but in the specific case where the user has requested interactive script-blocking, can it be done?
Is it feasible for behind-the-scenes code like MainContentPolicy to launch a confirmation dialog to the user? It's not usual practice, I know, and it would easily become intrusive, but in the specific case where the user has requested interactive script-blocking, can it be done?
======
Thrawn
------------
Religion is not the opium of the masses. Daily life is the opium of the masses.
True religion, which dares to acknowledge death and challenge the way we live, is an attempt to wake up.
Thrawn
------------
Religion is not the opium of the masses. Daily life is the opium of the masses.
True religion, which dares to acknowledge death and challenge the way we live, is an attempt to wake up.
Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:41.0) Gecko/20100101 Firefox/41.0
Re: Idea: Interactive mode to avoid breaking sensitive sites
It's more than just nsIContentPolicy work, what about inline scripts and such?
*Always* check the changelogs BEFORE updating that important software!
-
Re: Idea: Interactive mode to avoid breaking sensitive sites
I don't think they're a problem, because if the top-level site is blocked, then all scripts are blocked, so there's no need for interactive mode.barbaz wrote:what about inline scripts and such?
I guess there might be issues in cases like Disqus opening a frame to log you into Google etc...
======
Thrawn
------------
Religion is not the opium of the masses. Daily life is the opium of the masses.
True religion, which dares to acknowledge death and challenge the way we live, is an attempt to wake up.
Thrawn
------------
Religion is not the opium of the masses. Daily life is the opium of the masses.
True religion, which dares to acknowledge death and challenge the way we live, is an attempt to wake up.
Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:41.0) Gecko/20100101 Firefox/41.0