Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

[HtmlSanitizer] AddblockBodyElements that will block all known elements by default.#48851

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 ourterms of service andprivacy statement. We’ll occasionally send you account related emails.

Already on GitHub?Sign in to your account

Conversation

Neirda24
Copy link
Contributor

@Neirda24Neirda24 commentedJan 2, 2023
edited
Loading

QA
Branch?6.3
Bug fix?no
New feature?yes
Deprecations?no
TicketsFix#48358
LicenseMIT
Doc PRTBD

Add a way to block all body elements. Currently without any setup, thepurge mode is the default.
Without the framework :

$config = (newHtmlSanitizerConfig())    ->blockBodyElements();

With the framework :

framework:html_sanitizer:sanitizers:default:block_body_elements:true

emmanuelballery reacted with thumbs up emoji
@carsonbot
Copy link

Hey!

Thanks for your PR. You are targeting branch "6.3" but it seems your PR description refers to branch "6.3 for features".
Could you update the PR description or change target branch? This helps core maintainers a lot.

Cheers!

Carsonbot

@@ -2186,6 +2186,10 @@ private function addHtmlSanitizerSection(ArrayNodeDefinition $rootNode, callable
->info('Allows all static elements and attributes from the W3C Sanitizer API standard.')
->defaultFalse()
->end()
->booleanNode('block_body_elements')
->info('Blocks all static body elements and remove attributes.')
->defaultFalse()
Copy link
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others.Learn more.

I'd like to open a discussion on whether or not it should be default to true.

@@ -8,6 +8,7 @@
<config xmlns="http://symfony.com/schema/dic/symfony" http-method-override="false">
<html-sanitizer>
<sanitizer name="custom"
block-body-elements="true"
Copy link
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others.Learn more.

This is failing in the tests because of the xml schema I guess

@carsonbot
Copy link

Hey!

I think@tgalopin has recently worked with this code. Maybe they can help review this?

Cheers!

Carsonbot

@tgalopin
Copy link
Contributor

Hi@Neirda24 !

This is an interesting idea. I understand why there is a need and it would be worth finding a solution to it indeed.

My two concerns for the moments are:

  • The namingblock_body_elements feels difficult to understand at first glance. I think it's too close to the technical details of the components and not enough on what people want to do. My initial idea would be something likedefault_behavior: drop / block, but maybe we can find something better.
  • I don't think we should change the default behavior: that would be a BC break and it isn't worth the deprecation + wait for 7.0 IMO. As long as there is an option to easily enable it, that's good enough IMO. We could add it by default in the recipe though, when people install the component (it would indeed probably make sense).

Otherwise I like the idea, thanks very much!

@Neirda24
Copy link
ContributorAuthor

@tgalopin : available to iterate on this. Agree that the naming isn't the best one. I find your approach of default_behaviour quite good and would love to have a spin at it with you. As for the default I think it is still experimental, if so isn't there a special rule for experimental components ? If not at least make it the default behaviour on forms ?

@tgalopin
Copy link
Contributor

It is indeed experimental, but even with experimental status we try to avoid BC breaks when possible. I don't think it's worth it to introduce a BC break here, especially if we add the configuration in the recipe (meaning new installs would get the block behavior setup)

Regarding naming,@nicolas-grekas any opinion?

@Neirda24
Copy link
ContributorAuthor

BTW@tgalopin : I tried to stick to the naming already in place. To me it is very important that we stay consistent. According to the component itself, what this PR provides is to automatically block all known elements (vs purge or just sanitizing)

fabpotand others added18 commitsMarch 13, 2023 20:09
…olicy` in XSD (MatTheCat)This PR was merged into the 5.4 branch.Discussion----------[FrameworkBundle] Rename limiter’s `strategy` to `policy` in XSD| Q             | A| ------------- | ---| Branch?       | 5.4| Bug fix?      | yes| New feature?  | no| Deprecations? | no| Tickets       |Fixsymfony#49671| License       | MIT| Doc PR        | N/Asymfony#38664 renamed `strategy` to `policy` but did not update the XSD.Commits-------c19711c [FrameworkBundle] Rename limiter’s `strategy` to `policy` in XSD
…nteger for Profiler (Aliance)This PR was merged into the 5.4 branch.Discussion----------[HttpKernel] Change limit argument from string to integer for Profiler| Q             | A| ------------- | ---| Branch?       | 5.4| Bug fix?      | yes| New feature?  | no| Deprecations? | no| Tickets       |Fixsymfony#49656| License       | MITCommits-------fb9b0d0 Change limit argument from string to integer.
…hiebault)This PR was squashed before being merged into the 6.3 branch.Discussion----------[Form] Improve exception for unsubmitted form| Q             | A| ------------- | ---| Branch?       | 6.3| Bug fix?      | no| New feature?  | no| Deprecations? | no| Tickets       |Fixsymfony#49619| License       | MIT| Doc PR        | -This PR improves the error message when a form is submitted but its submission is not verified.Commits-------51d3038 [Form] Improve exception for unsubmitted form
…equest::create (neclimdul)This PR was merged into the 6.3 branch.Discussion----------[HttpFoundation] Deprecate passing invalid URI to Request::createFixes:symfony#47084Passing an invalid URI to Request::create triggers an undefined code path. In PHP7 the false value returned by parse_url would quietly be treated as a an array through type coercion leading to unexpected results. In PHP8 this triggers a deprecation exposing the bug.| Q             | A| ------------- | ---| Branch?       | 6.3| Bug fix?      | yes| New feature?  | no| Deprecations? | yes| Tickets       |Fixsymfony#47084| License       | MITCommits-------bce4c27 [HttpFoundation] Deprecate passing invalid URI to Request::create
…he HTML error page (lyrixx)This PR was squashed before being merged into the 6.3 branch.Discussion----------[ErrorHander] Display exception properties in the HTML error page| Q             | A| ------------- | ---| Branch?       | 6.3| Bug fix?      | no| New feature?  | yes| Deprecations? | no| Tickets       |Fixsymfony#49613| License       | MIT| Doc PR        |---![image](https://user-images.githubusercontent.com/408368/223196868-77cd3215-7b40-4fab-8aa5-0327d39b5ef6.png)---<details><summary>Code to reproduce</summary>```phpclass MyException extends \Exception{    public function __construct()    {        parent ::__construct('some_message', 0, new MyException2());    }    public string $myMessage = 'some_message';    public string $myCode = 'some_code';    private string $privateStuff = 'private_stuff';}class MyException2 extends \Exception{    private string $anotherPrivateStuff = 'another_private_stuff';}```</details>Commits-------b041d06 [ErrorHander] Display exception properties in the HTML error page
* 5.4:  Fix some Composer keywords  [FrameworkBundle] Rename limiter’s `strategy` to `policy` in XSD  [VarDumper] Fixed dumping of CutStub  Fix test  Change limit argument from string to integer.  [Messenger] Fix `evaluate()` calls in `WorkerTest`  [Mailer] STDOUT blocks infinitely under Windows when STDERR is filled
* 6.2:  Fix some Composer keywords  [FrameworkBundle] Rename limiter’s `strategy` to `policy` in XSD  [VarDumper] Fixed dumping of CutStub  Fix test  Change limit argument from string to integer.  [Messenger] Fix `evaluate()` calls in `WorkerTest`  [Mailer] STDOUT blocks infinitely under Windows when STDERR is filled
* 5.4:  Fix some Composer keywords
* 6.2:  Fix some Composer keywords  Fix some Composer keywords  Fix some Composer keywords
nicolas-grekasand others added18 commitsApril 1, 2023 18:53
…dStrengthValidator (nicolas-grekas)This PR was merged into the 6.3 branch.Discussion----------[Validator] Improve entropy estimation in PasswordStrengthValidator| Q             | A| ------------- | ---| Branch?       | 6.3| Bug fix?      | no| New feature?  | no| Deprecations? | no| Tickets       | -| License       | MIT| Doc PR        | -Improves a bit the estimation of the entropy./cc `@Spomky`Commits-------99c09ff [Validator] Improve entropy estimation in PasswordStrengthValidator
…Stark)This PR was merged into the 6.3 branch.Discussion----------[Notifier] [SimpleTextin] Fix license year| Q             | A| ------------- | ---| Branch?       | 6.3| Bug fix?      | no| New feature?  | no| Deprecations? | no| Tickets       | -| License       | MIT| Doc PR        | -Commits-------cd23623 [Notifier][SimpleTextin] Fix license year
…yguedidi)This PR was merged into the 6.3 branch.Discussion----------Apply align_multiline_comment PHP-CS-Fixer rule| Q             | A| ------------- | ---| Branch?       | 6.3| Bug fix?      | no| New feature?  | no| Deprecations? | no| Tickets       || License       | MIT| Doc PR        |After a discussion with `@stof`, this rule should be part of the ``@Symfony`` PHP-CS-Fixer ruleset.This PR apply the rule on the Symfony code base.seePHP-CS-Fixer/PHP-CS-Fixer#6875 for the PR on PHP-CS-FixerCommits-------6e984f0 Apply align_multiline_comment PHP-CS-Fixer rule
…idi)This PR was merged into the 6.3 branch.Discussion----------Apply operator_linebreak PHP-CS-Fixer rule| Q             | A| ------------- | ---| Branch?       | 6.3| Bug fix?      | no| New feature?  | no| Deprecations? | no| Tickets       || License       | MIT| Doc PR        |After a discussion with `@stof`, this rule should be part of the ``@Symfony`` PHP-CS-Fixer ruleset.This PR apply the rule on the Symfony code base.seePHP-CS-Fixer/PHP-CS-Fixer#6877 for the PR on PHP-CS-FixerCommits-------6edc748 Apply operator_linebreak PHP-CS-Fixer rule
…r rule (yguedidi)This PR was merged into the 6.3 branch.Discussion----------Apply no_null_property_initialization PHP-CS-Fixer rule| Q             | A| ------------- | ---| Branch?       | 6.3| Bug fix?      | no| New feature?  | no| Deprecations? | no| Tickets       || License       | MIT| Doc PR        |After a discussion with `@stof`, this rule should be part of the ``@Symfony`` PHP-CS-Fixer ruleset.This PR apply the rule on the Symfony code base.seePHP-CS-Fixer/PHP-CS-Fixer#6876 for the PR on PHP-CS-FixerCommits-------2320c2a Apply no_null_property_initialization PHP-CS-Fixer rule
… debug toolbar (PhilETaylor)This PR was squashed before being merged into the 6.3 branch.Discussion----------[WebProfilerBundle] Add clickable entry view to debug toolbar| Q             | A| ------------- | ---| Branch?       | 6.3| Bug fix?      | no| New feature?  | yes| Deprecations? | no| License       | MIT| Doc PR        | symfony/symfony-docs#... <!-- required for new features -->Just a proposed idea.One of the great parts of the tool bar is the Clickable IDE integration to quickly jump to the Controller method that the page is rendered from.example:<img width="409" alt="ScreenShot-2023-03-31-21 01 07" src="https://user-images.githubusercontent.com/400092/229218485-e07d2588-9421-453a-a4cb-93c0d34f13e1.png">One thing I find myself doing often is needing to get to the rendered view (a twig returned by the controller method with `return $this->render('template.twig.html,[]);` etc.  To do that I need to Hover the toolbar left corner, move up and click the controller, wait for phpStorm to load the controller file, then scroll down to find the rendered view, then go and find it manually in the tree (or with the [phpStorm Symfony plugin (amazing plugin)](https://plugins.jetbrains.com/plugin/7219-symfony-support) use the gutter icon to select the view).After this PR the first template used in the stack will be rendered into to the twig debug toolbar (much like the controller in the request toolbar) and will be clickable if the [IDE integration is enabled](https://symfony.com/doc/current/reference/configuration/framework.html#ide) meaning less clicks to get from the webpage to the twig template to make changes in HTML quickly.Just a thought, would make less clicks...thoughts?<img width="551" alt="ScreenShot-2023-03-31-20 46 24" src="https://user-images.githubusercontent.com/400092/229217786-e516c8a5-817d-4767-8d85-60521265b1a0.png">Commits-------1c6152e [WebProfilerBundle] Add clickable entry view to debug toolbar
…rsion 6.3 (nicolas-grekas)This PR was merged into the 6.3 branch.Discussion----------[Console] Add Les-Tilleuls.coop as a backer of version 6.3| Q             | A| ------------- | ---| Branch?       | 6.3| Bug fix?      | no| New feature?  | no| Deprecations? | no| Tickets       | -| License       | MIT| Doc PR        | -Thanks to them! 🙏/cc `@chalasr` `@dunglas` *et al.*Commits-------caa6fe1 [Console] Add Les-Tilleuls.coop as a backer of version 6.3
…n 6.3 (nicolas-grekas)This PR was merged into the 6.3 branch.Discussion----------[Security] Add SymfonyCasts as a backer of version 6.3| Q             | A| ------------- | ---| Branch?       | 6.3| Bug fix?      | no| New feature?  | no| Deprecations? | no| Tickets       | -| License       | MIT| Doc PR        | -Thanks them! 🙏/cc `@weaverryan` *et al.*Commits-------31f65d4 [Security] Add SymfonyCasts as a backer of version 6.3
…ub.com:Neirda24/symfony into ticket_48358-html_sanitizer-block_all_elements
@Neirda24
Copy link
ContributorAuthor

Sorry I'm not used to rebases and I think it went wrong somewhere 😓

@Neirda24
Copy link
ContributorAuthor

Moved to#49920

@Neirda24Neirda24 deleted the ticket_48358-html_sanitizer-block_all_elements branchApril 4, 2023 06:56
Sign up for freeto join this conversation on GitHub. Already have an account?Sign in to comment
Reviewers

@tgalopintgalopinAwaiting requested review from tgalopin

@lyrixxlyrixxAwaiting requested review from lyrixxlyrixx is a code owner

@ycerutoycerutoAwaiting requested review from ycerutoyceruto is a code owner

@wouterjwouterjAwaiting requested review from wouterj

@chalasrchalasrAwaiting requested review from chalasrchalasr is a code owner

@dunglasdunglasAwaiting requested review from dunglasdunglas is a code owner

@OskarStarkOskarStarkAwaiting requested review from OskarStarkOskarStark is a code owner

@jderussejderusseAwaiting requested review from jderussejderusse is a code owner

@xabbuhxabbuhAwaiting requested review from xabbuhxabbuh is a code owner

Assignees
No one assigned
Projects
None yet
Milestone
6.3
Development

Successfully merging this pull request may close these issues.

[HtmlSanitizer] Add a blockAll helper
46 participants
@Neirda24@carsonbot@tgalopin@nicolas-grekas@schodemeiss@fabpot@KThiebault@lyrixx@GwendolenLynch@adpauly@mbuliard@upyx@maxbeckers@simonberger@xabbuh@GromNaN@onEXHovia@vlepeule@MatTheCat@nikophil@k0d3r1s@pbowyer@Oipnet@franckranaivo@danielburger1337@Chi-teck@alexandre-daubois@Jean-Beru@yguedidi@Kocal@welcoMattic@fancyweb@MrYamous@bobvandevijver@marien-probesys@kbond@Spomky@Tiriel@gnito-org@weaverryan@bastnic@melya@boenner@Thorry84@OskarStark@PhilETaylor

[8]ページ先頭

©2009-2025 Movatter.jp