-
-
Notifications
You must be signed in to change notification settings - Fork 1.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Embedded dashboard gets blocked on Brave #919
Comments
Another report on this via email but for Chrome/Chromium/Firefox. Seems like disabling third party cookies disables localstorage too which blocks the embed: "When I embed plausible stats in an iframe, I get an error message about unable to access localstorage. When I allow third-party-cookies, there is no error and the iframe shows as expected. Personally, I'm never going to allow third party cookies, and I encourage all my clients to block them. Tested in Chromium. I get the same error in Firefox and Chrome but I haven't tried unblocking 3rd party cookies in either of those browsers." |
From my experience embedding a password-protecting dashboard:
Safari and Chrome are pretty much the stock browser with no customisation. I'm not aware of any cookies or storage issues. To me it seems like a CORS/X-Frame-Options issue as the embedded dashboard is not the same origin. I am not 100% sure I am experiencing the same issue as you, however. |
Does enabling |
Thanks @ryanbr. It does help but with the #971 PR it shouldn't be an issue going forward. More problematic is the following filter rule: https://github.com/easylist/easylist/blob/3ad8e0971dbc258f2fe4f545c4edf6381703de50/easyprivacy/easyprivacy_trackingservers.txt#L1796 It's my understanding that it breaks the embedded dashboards since they're running from the There's another rule introduced recently that blocks the I suppose it would require some trust from your end to delete the first rule since we could change the filename in the future. As long as we promise to not host any other trackers on the |
Does this fix help? @ukutaht |
The blockage is caused by the I tried adding the |
Right, easylist/easylist@34f0ddf The most I can do tbh |
I think that's all that's needed to solve this issue. Amazing thank you @ryanbr! |
Is this a separate issue? |
@alstr yes I can replicate this on Chromium. It only affects password-protected embeds, looking into it now. |
This commit should fix embedding password-protected sites. I've deployed it live, can you confirm it's working? The issue I see is that now the password form is vulnerable to clickjacking since the authentication request is missing I'm leaning towards not allowing embeds for password-protected shared links. What do you think? Any ideas on how to make password protection secure cross-domain without being vulnerable to clickjacking attacks? |
Still not working for me at the moment. Behaviour in Chrome and Safari remains the same as originally reported. As regards a solution, I think iframes are going to intrinsically always have these problems when not the same origin. I'm not aware of any way around this other than self hosting, or some kind of API to retrieve stats that you can then render yourself. |
I just checked and the embedded dashboard works all fine on Brave standard mode and on Chrome/Firefox with uBlock Origin enabled. Thanks @ryanbr! |
@alstr thanks for testing :) I will remove all attempts to support password-protected embeds. As mentioned they are vulnerable to clickjacking type attacks. Since we cannot guarantee the safety of authentication, we will instruct users to implement authentication on their side. |
Hi @ryanbr! We have several new reports of our embedded dashboards getting blocked in Brave and Firefox with uBlock Origin. The block is caused by |
Came from easylist/easylist@261dccf Given that plausible is adding more scripts, we're not going to keep adding specific script blocks. We're not going to have 101 plausible specific blocked scripts. I have no patience at all. For the end user if we don't want to be tracked, |
thanks @ryanbr! we haven't made any changes on our side. embed dashboard has no tracking, it allows people to display their dashboard on their sites to be transparent to their visitors. currently, the page where they embed their dashboard ends up being blank for users on uBlock Origin etc so they get reports from their visitors that something is broken on their website and then they send these reports to us. |
When using plausible in embedded dashboard mode, the UI gets blocked by Brave. I believe this is caused by attempting to use
localStorage
in the UI while it's running in a third-party context. Brave blocks storage for third-party scripts and admits that it will break some sites. We can work around by just not usinglocalStorage
when the dashboard is embedded. The storage is very much optional just to remember which tab the user had selected in various reports.The text was updated successfully, but these errors were encountered: