What is meta? ×
Meta Stack Exchange is where users like you discuss bugs, features, and support issues that affect the software powering all 130 Stack Exchange communities.

I recently noticed that, when Adblock Plus is enabled in Firefox, the login process on Stack Exchange sites stopped working. (Symptom: after clicking "log in", then clicking on the "log in with Stack Exchange" logo", the login process just spins forever and doesn't continue. If it's relevant, I login with Stack Exchange as my OpenID provider.) Disabling Adblock Plus makes the login process start working again.

Is there any workaround that allows me to have Adblock Plus enabled (for example, for other sites) while still allowing login on Stack Exchange sites to work properly?

share|improve this question
2  
Browser extensions are not supported by the SE network. See: meta.stackexchange.com/questions/56161/… –  Richard J. Ross III Nov 28 '12 at 7:23
13  
Cannot you disable AdBlock Plus just for Stack Exchange sites, or at least for those Stack Exchange sites you normally visit? –  kiamlaluno Nov 28 '12 at 7:36
1  
@RichardJ.RossIII, I understand. I'm not looking for them to be supported by the StackExchange folks. Rather, I was wondering if any other SE users had run into this to see if they had a fix/workaround. My apologies for being unclear. –  D.W. Nov 28 '12 at 17:10
4  
"Disabling AdBlock Plus makes the login process start working again." Well it seems like you've found a solution to your problem. –  NullUserException อ_อ Nov 28 '12 at 17:10
10  
@NullUserExceptionอ_อ, no, I have not found a solution. As I ask in my question: my goals are (a) be able to log in to SE, and (b) be able to continue to use AdBlock Plus on other sites. Did you expect that comment to be helpful, or was it just intended to be snarky? –  D.W. Nov 28 '12 at 17:12
4  
You can customize Adblock Plus and disable it just for SE sites. –  NullUserException อ_อ Nov 28 '12 at 17:13
    
When you log in, I believe you can tell Stack Exchange to keep you logged in. Then you can re-enable AdBlock Plus and never have to worry about it again. The next time you go to SO (or whatever other Stack Exchange site you've logged into with 'keep logged in' checked), you'll be logged in already. –  RobH Nov 28 '12 at 17:19
2  
Are you using EasyList? Then you could report this here: forums.lanik.us/viewforum.php?f=64 –  greiner Dec 4 '12 at 9:32

3 Answers 3

I've done some more troubleshooting, and I've identified the cause as well as a solution. The solution allows Stack Exchange login to continue to work properly, without disrupting Adblock on other sites.

Diagnosis: The cause. The login page includes an IFRAME that gets blocked by Adblock Plus, probably because the URL looks similar to URLs often used for advertising.

In more detail, the login page includes an IFRAME sourced from a URL of the form https://openid.stackexchange.com/affiliate/form?...&callback=http%3a%2f%2fsecurity.stackexchange.com%2fusers%2fauthenticate&.... This IFRAME is blocked by a rule from Fanboy's List (English) and EasyList (USA): namely, the com/affiliate/$~object-subrequest rule. It appears that this rule blocks all access to any URL of the form *://*.com/affiliate/*, under the assumption that these URLs typically indicate some form of advertising.

Solution. There's a simple method to fix the problem and make Stack Exchange login work again: add a custom exception to whitelist this particular URL:

  • From the Firefox menu, click on Tools >> Adblock Plus >> Open blockable items (or press Ctrl + Shift + V). This should open a small window showing all items on the current page, one row per item.

  • Start to log in on a Stack Exchange Site. On the page where the login process hangs, you should see one row with a big red X next to it showing the URL I listed above. Right-click on that row.

  • Add a custom Exception Rule. I selected my Exception Rule to apply to openid.stackexchange.com/affiliate/*. Enable this rule. This will whitelist the frame that is used by the Stack Exchange login.

  • Test logging in again. Everything should now work.

share|improve this answer
3  
Good research, but there's really no point in keeping adblock on for SE sites. Once you reach a certain rep threshold, most ads disappear. –  Charles Nov 28 '12 at 17:29
6  
I was, like, "meh" about the question, but I'm more like, "kewl" about the answer. I like it when people solve things like this for themselves, and share the answer. That said, I also agree with Charles here. I also have no idea where all the 'likes' came from in this comment. –  Andrew Barber Nov 28 '12 at 17:31
4  
Leaving AdBlock on when it's already installed takes no effort, and doesn't have any negative effects 99% of the time. Turning it off for SE sites but not other sites takes some work, and doesn't have any benefits 99% of the time. I wouldn't turn it off, either. –  Pops Nov 30 '12 at 15:00
1  
@PopularDemand, I would not classify two clicks as work. –  Charles Nov 30 '12 at 17:22
    
@Charles you're right, I wouldn't consider two clicks to be hard work either. But the process of finding out that whitelisting a site takes only two clicks does seem like work. A prospective searcher has to be prepared for the feature to not exist, or to be hard to use, or to be poorly documented; all this requires the mindset of being ready for a lot of work going in. (EDIT: looking back at my last comment, I see I wasn't as clear as I could have been. I meant that I wouldn't turn it off during normal use. If a problem came up, like not being able to log in, I would try disabling AdBlock.) –  Pops Nov 30 '12 at 17:41

For Chrome, add this filter:

@@openid.stackexchange.com/affiliate/*
share|improve this answer
    
I can verify that this worked for me –  Charles Wesley Nov 30 '12 at 20:38

As of a few hours ago, the default Adblock filter list (Easylist) has added an exception for openid.stackexchange.com.

If you're using some other list that copied their rule, but hasn't yet (or won't) copy their exception you should add:

@@||openid.stackexchange.com/affiliate/form?$subdocument

To your filters.


Additionally, starting with the next build we'll try and detect if the iframe is being blocked from loading and display a little message asking users to disable Adblock for login. It's a best effort sort of thing, since there's obviously no sure fire way to detect Adblock.

share|improve this answer
1  
Yes please add a notice! Instead of detecting weather the iframe loads it might be easy to set a background image (after document ready) that is displayed when it's not overlayed. –  s.Daniel Dec 4 '12 at 9:08
    
I don't have AdBlock, and have disabled virtually all FF add-ons yet am still getting the message "Adblock interferes with login, please disable it". Any ideas? –  Lizz Dec 6 '12 at 21:20
    
@Lizz - The check is basically "cannot load a simple page from openid.stackexchange.com", so something is interfering with that. It's not necessarily adblock, but it's our best guess. –  Kevin Montrose Dec 6 '12 at 21:29
    
Thanks, Kevin. For about 3 months now, I can't login to any Stack site w/FF. Even disabled Web Developer, Firebug, etc. Using Chrome until it's fixed. The message I quoted above didn't even appear until past two weeks so I suspect it's something funky on Stack site. I'm lost.. :( –  Lizz Dec 6 '12 at 21:37
    
@lizz did you turn off all antivirus, web proxies, and anything else that would get between you and an Internet web site? But if it works in Chrome and not Firefox, something is borked with your Firefox. Did you try Firefox Safe Mode? –  Jeff Atwood Dec 13 '12 at 5:56
    
@JeffAtwood it's at work where I'm having this problem, so I can't turn off the proxy, though I now (as of past week) can access a PC that bypasses the proxy; will try in next few days. I tried FF in Safe Mode, and on a different computer - nada. I'm confounded. Don't want to log out w/Chrome though I could try Chrome on a different PC. Will do in next few days, now that they're available (and I just finished two major scripts tonight, so I have time now) :) Also, wondering if SO could have a "test" page or FAQ which you can use to test if your browser has access to all SO sites needed. –  Lizz Dec 13 '12 at 7:28
    
@JeffAtwood I did a few tests. In front of proxy, any browser is OK. Behind, still no go - unless I overwrite my 'cookies.sqlite' with same file from working FF. However, IE8 does work inside network. Then if I delete the cookies file I can't login w/FF again(keep getting scrolling dots...) :( –  Lizz Dec 14 '12 at 2:22

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .