-
Notifications
You must be signed in to change notification settings - Fork 155
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
How do I disable everything? #208
Comments
This is essentially a duplicate of #189. |
It is related, but I do not think it is a duplicate. I have looked thoroughly to try and figure out the answer to this question and have come up empty. |
For example, perhaps I could do something like |
This does seem to be exactly the same request as #189, except that the only value you want to use is The points I made in #189 (comment) all still apply, I believe -- I'd like to see FP used similarly to sandboxing, to allow the ability to remove features which may be fundamental to the web platform generally. You probably don't want all of those removed from your top-level page, and you almost definitely don't want browser vendors arbitrarily adding new features to that set (like one day removing the ability to use images, for instance). That said, I would support an option that turned off all of those features which have a default allowlist of |
In my case, it's an endpoint which simply doesn't serve HTML. It's an API. So there is never a scenario where any HTML feature would ever be used. |
As suggested in #189 (comment), you shouldn't need to specify the header for an API endpoint. If the endpoint doesn't serve HTML, then it doesn't matter if HTML features are enabled or disabled, because there's no content that can attempt to use any features. |
re: the concern about evolution, what if added a numbering to the permissions registry and could say "disable every before feature 178, except allow 42"? (I also heard ideas about named categories or lexical wildcards, e.g. |
Yeah, I think maybe a wildcard based around categories makes sense? Seems something like |
i was pointed here from this blog post where it says the answer is apparently:
the overflow here doesn't do justice to the length of that would be ... uh... nice to improve on this a bit. |
I am also here because of this blog post and very skeptical of its claim about the allow attribute. I would love someone to chime on who actually knows what (s)he is talking about. Specifically asking for the I never in my life actually fully read any spec, they are annoying to read, and I like to leave them to the browser devs to know how to implement things. I read some MDN, and from that it seems many of these things are actually not even implemented in browsers at this point. So just based on that, no we do really need to add it all but to be future-proof, maybe. The way I just assume it works is having nothing to allow has it disabled as in Or is that the default setting is taken from browser or server config? Most of these directives have a default of
is the exact same as:
So if putting in the directive works in on their own switches to the default, why should not having it on there not be Again, I'm just going by common sense here, briefly looking at MDN. Did not read it specifically say that anywhere, but ... Very skeptical of that blog post author's claim. If we really need to this to "absolutely fucking not" what exactly is happening when it's not set? Again would love some clarification of someone who actually knows how the browsers have implemented this and what we should use in the real world and not so much what the spec says but also that of course. |
Yeah, that would be a welcome change!
Thankfully, @jvoisin actually knows his shit and can read (and actually does read even! including specs!), so you can probably trust him on this. |
I'm not clear what you're sceptical on. Yes, you need to put all those nones in. That's why this issue exists, because we all think there should be a better way to do this (like CSP does). If you've specified that permissions policy in a header for the entire page, then you don't need it in the iframe. The iframe attribute can only further restrict access. I think you can probably answer any other questions by reading the MDN description: |
Well, I made it clear why. Because specs !== actual real world browser implementation in some cases. I just found this so incredibly stupid that I kind of assumed it can't be THAT bad, at least for the iframe context.
Ah, that makes things much more clear to me. So there is probably no "default all off" for the Speaking of "harm reduction" and that blog post again. YouTube gives out this default embed code:
Not sure why they want
I guess I go with my own long allow list that makes sense to me. |
This has been a long-standng request, from a lot of developers who make a lot of good points about the ever-increasing number of policy-controlled features, and the terrible ergonomics of turning them all off individually. @marcoscaceres and I met today to discuss this, and have a concrete proposal to do exactly this - disable all (safe-to-disable) features by default, and allow individual ones to be overridden. I'm going to close this (and other related issues), but only in order to move the discussion to a central place at #189 (comment) |
Using a CSP, I'd do:
content-security-policy: default-src 'none'
How can I achieve the equivalent here?
The text was updated successfully, but these errors were encountered: