рдкреЗрдЬрдХрд┐рдЯ - рд╕реНрд╡-рд╣реЛрд╕реНрдЯреЗрдб GrapesJS рд╕рд╛рдЗрдЯ рдмрд┐рд▓реНрдбрд░, рд╕реНрд░реЛрдд рдХреЗ рд░реВрдк рдореЗрдВ рдмреЗрдЪрд╛ рдЧрдпрд╛ред рдЬрд▓реНрджреА рдкрд╣реБрдВрдЪ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ

рдЕрдВрдХ #3596ЁЯТм рдЙрддреНрддрд░ рджрд┐рдпрд╛рдЦреЛрд▓рд╛ рдЧрдпрд╛ 6 рдЬреБрд▓рд╛рдИ 2021рджреНрд╡рд╛рд░рд╛ aimeos0 рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛рдПрдВ

рдорд╛рди рдмрдЪ рдирд╣реАрдВ рд░рд╣реЗ рд╣реИрдВ

рддреНрд╡рд░рд┐рдд рдЙрддреНрддрд░рджреНрд╡рд╛рд░рд╛ aimeos

@artf рдЖрдкрдХреА рдХреНрдпрд╛ рдпреЛрдЬрдирд╛рдПрдВ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ XSS рдХреЗ рд▓рд┐рдП GrapesJS рдХреА рднреЗрджреНрдпрддрд╛ рдПрдХ рдмрд╣реБрдд рдмрдбрд╝реА рд╕реБрд░рдХреНрд╖рд╛ рд╕рдорд╕реНрдпрд╛ рд╣реИ

рдиреАрдЪреЗ рдкреВрд░рд╛ рдЙрддреНрддрд░ рдкрдврд╝реЗрдВ тЖУ

рдкреНрд░рд╢реНрди

GrapesJS рдХреЛрдб XSS рдореБрджреНрджреЛрдВ рдХреЗ рд▓рд┐рдП рдЦреБрд▓рд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдорд╛рди рднрд╛рдЧрдиреЗ рдХреЗ рдмрд┐рдирд╛ DOM рдореЗрдВ рдбрд╛рд▓реЗ рдЬрд╛рддреЗ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП https://github.com/artf/grapesjs/blob/dev/src/assetmanager/view/AssetImageView.js#L30 рдпрджрд┐ model.getFilename() <img src=x onerror=alert(document.cookie)>.jpg рд▓реМрдЯрд╛рддрд╛ рд╣реИ, рддреЛ рдЗрд╕рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рдЦрд╛рддрд╛ рдЕрдзрд┐рдЧреНрд░рд╣рдг рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рдХреЛрдб рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП: рдпрд╣рд╛рдВ рдЗрд╕реА рддрд░рд╣ рдХреА рд╕рдорд╕реНрдпрд╛ рдпрд╣рд╛рдВ /blob/dev/src/assetmanager/view/AssetImageView.js#L15 https://github.com/artf/grapesjs рд╣реИ рдФрд░ рдлрд┐рдХреНрд╕ рд╕рдорд╛рди рд╣реЛрдЧрд╛: рдПрдХ рд╕реЗрд╡ рд╕рд╛рдЗрдб рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП, HTML рдХреЛрдб рдореЗрдВ рдЗрдВрдЬреЗрдХреНрдЯ рдХреА рдЧрдИ рд╣рд░ рдЪреАрдЬ рд╕реЗ рдмрдЪрдирд╛ рд╣реЛрдЧрд╛ред

рдЬрд╡рд╛рдм (4)

aimeosтАв 14 рдЬреБрд▓рд╛рдИ 2021

@artf рдЖрдкрдХреА рдХреНрдпрд╛ рдпреЛрдЬрдирд╛рдПрдВ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ XSS рдХреЗ рд▓рд┐рдП GrapesJS рдХреА рднреЗрджреНрдпрддрд╛ рдПрдХ рдмрд╣реБрдд рдмрдбрд╝реА рд╕реБрд░рдХреНрд╖рд╛ рд╕рдорд╕реНрдпрд╛ рд╣реИ

artfтАв 14 рдЬреБрд▓рд╛рдИ 2021

рд╣рд╛рдБ, рд░рд┐рдкреЛрд░реНрдЯ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж @aimeos рдореИрдВ рдЗрд╕реЗ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдЕрдЧрд▓реЗ рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рдареАрдХ рдХрд░ рджреВрдВрдЧрд╛

aimeosтАв 14 рдЬреБрд▓рд╛рдИ 2021

@artf рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рдЕрдХреНрд╕рд░ рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдореЗрдВ рдЪрд░ рдбрд╛рд▓рдиреЗ рдХреЗ рд▓рд┐рдП ${var} рдХрд╛ рднреА рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред рдЗрд╕реЗ рдЗрд╕ рдмрд╛рдд рд╕реЗ рдмрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рднреА рдмрджрд▓рд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдмрд┐рдирд╛ рдЬрд╛рдиреЗ рд╕реБрд░рдХреНрд╖рд╛ рдореБрджреНрджреЛрдВ рдХреЛ рднреА рдкреЗрд╢ рдХрд░реЗрдВред

GJSBlockтАв 17 рдордИ 2026

рдЗрд╕рдХреА рд░рд┐рдкреЛрд░реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж, @aimeos ред рд╕реБрд░рдХреНрд╖рд╛ рдФрд░ рдирд┐рд░реНрднрд░рддрд╛ рдХреЗ рдореБрджреНрджреЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИрдВред GrapesJS рдЯреАрдо рдирд┐рд░реНрднрд░рддрд╛ рдХреЛ рдЕрджреНрдпрддрд┐рдд рд░рдЦрдиреЗ рдкрд░ рд╕рдХреНрд░рд┐рдп рд░реВрдк рд╕реЗ рдХрд╛рдо рдХрд░рддреА рд╣реИред рдЕрднреА рдЖрдкрдХреЗ рд▓рд┐рдП: рдЙрдкрд▓рдмреНрдз рдкреИрдЪ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП npm audit fix рдЪрд▓рд╛рдПрдБ рдПрдХ рдирдП GrapesJS рд╕рдВрд╕реНрдХрд░рдг рдХреА рдЬрд╛рдБрдЪ рдХрд░реЗрдВ рдЬреЛ рдкрд╣рд▓реЗ рд╣реА рдЗрд╕реЗ рд╕рдВрдмреЛрдзрд┐рдд рдХрд░ рдЪреБрдХрд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдпрджрд┐ рдЙ...

рд╕рдВрдмрдВрдзрд┐рдд рдкреНрд░рд╢реНрди рдФрд░ рдЙрддреНрддрд░

рдЗрд╕реА рддрд░рд╣ рдХреА рдореБрджреНрджреЛрдВ рдкрд░ рдЪрд░реНрдЪрд╛рдУрдВ рдХреЗ рд╕рд╛рде рд╢реЛрдз рдЬрд╛рд░реА рд░рдЦреЗрдВред

рдЕрдВрдХ #4411

XSS рдЬрдм рдЪрдпрдирдХрд░реНрддрд╛ рдкреНрд░рдмрдВрдзрдХ рдХреЗ рд▓рд┐рдП рд╡рд░реНрдЧ рдХрд╛ рдирд╛рдо рдЬреЛрдбрд╝реЗрдВ

GrapesJS рд╕рдВрд╕реНрдХрд░рдг [X] рдореИрдВ GrapesJS рдХреЗ рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдкреБрд╖реНрдЯрд┐ рдХрд░рддрд╛ рд╣реВрдВ рдЖрдк рдХрд┐рд╕ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ? рдХреНрд░реЛрдо v102 рдкреНрд░рддрд┐рд▓...

4 рдЙрддреНрддрд░рдЕрдкрдбреЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ 27 рдЬреВрди 2022

рдЕрдВрдХ #3235

"рдШрдЯрдХ: рдЕрджреНрдпрддрди" рдШрдЯрдХреЛрдВ рдХреЛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдиреЗ рдкрд░ рдЯреНрд░рд┐рдЧрд░ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ

https://github.com/artf/grapesjs/blob/dev/src/editor/index.js#L33 рд╕реЗ рд▓рд┐рдпрд╛ рдЧрдпрд╛ component:update - рдЬрдм рдХреЛрдИ рдШрдЯрдХ рдЕрдкрдбреЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ (рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд...

1 рдЙрддреНрддрд░рдЕрдкрдбреЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ 26 рдЬреБрд▓рд╛рдИ 2023

рдЕрдВрдХ #4765

@keyframes рдкрд╛рд░реНрд╕ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рд▓реЗрдЦрд┐рдд рддрд░реАрдХрд╛ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ

GrapesJS рд╕рдВрд╕реНрдХрд░рдг[X] рдореИрдВ GrapesJS рдХреЗ рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдкреБрд╖реНрдЯрд┐ рдХрд░рддрд╛ рд╣реВрдВ рдЖрдк рдХрд┐рд╕ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ? рдХреНрд░реЛрдо v107рдмрдЧ рдХрд╛ рд╡рд░...

4 рдЙрддреНрддрд░рдЕрдкрдбреЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ 17 рджрд┐рд╕рдореНрдмрд░ 2022

рдЕрдВрдХ #5525

рдХрд┐рд╕реА рдПрдХ рдШрдЯрдХ рдХреЗ рд▓рд┐рдП 20 рд╕реЗ рдЕрдзрд┐рдХ рд╡рд░реНрдЧ рдЬреЛрдбрд╝рддреЗ рд╕рдордп рдкреНрд░рджрд░реНрд╢рди рд╕рдорд╕реНрдпрд╛

GrapesJS рд╕рдВрд╕реНрдХрд░рдг [X] рдореИрдВ GrapesJS рдХреЗ рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдкреБрд╖реНрдЯрд┐ рдХрд░рддрд╛ рд╣реВрдВ рдЖрдк рдХрд┐рд╕ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ? рдПрдЬ v119.0.2151.72...

2 рдЙрддреНрддрд░рдЕрдкрдбреЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ 10 рджрд┐рд╕рдореНрдмрд░ 2023

рд╕рд╢реБрд▓реНрдХ рдкреНрд▓рдЧрдЗрдиреНрд╕ рдЬреЛ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рд╕реЗ рдореЗрд▓ рдЦрд╛рддреЗ рд╣реИрдВ

рд╕рдорд╕реНрдпрд╛ рдХреАрд╡рд░реНрдб рдФрд░ рд▓реЗрдмрд▓ рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХрддрд╛ рджреНрд╡рд╛рд░рд╛ рдХреНрдпреВрд░реЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рддрд╛рдХрд┐ рдЖрдкрдХреЛ рддреЗрдЬрд╝реА рд╕реЗ рд╢рд┐рдк рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдорд┐рд▓ рд╕рдХреЗред

рд╕рднреА рдкреНрд▓рдЧрдЗрдиреНрд╕ рджреЗрдЦреЗрдВ

рд╕рд╢реБрд▓реНрдХ рдкреНрд▓рдЧрдЗрди рдЕрдиреБрд╢рдВрд╕рд╛рдПрдБ рд▓реЛрдб рд╣реЛ рд░рд╣реА рд╣реИрдВ ...

рдирд┐рдГрд╢реБрд▓реНрдХ рд╡рд┐рдХрд▓реНрдк

рдУрдкрди-рд╕реЛрд░реНрд╕ GrapesJS рдкреНрд▓рдЧрдЗрдиреНрд╕ рдХреА рдЬрд╛рдБрдЪ рдХрд░реЗрдВ GitHub рдпрд╛ рд╣рдорд╛рд░реЗ рдореБрдлреНрдд рдХреИрдЯрд▓реЙрдЧ рдореЗрдВ рдПрдХ рддреНрд╡рд░рд┐рдд рдЦреЛрдЬ рдЪрд▓рд╛рдПрдВред

рдореБрдлреНрдд рдкреНрд▓рдЧрдЗрдиреНрд╕ рдмреНрд░рд╛рдЙрдЬрд╝ рдХрд░реЗрдВ тЖТ
рдкреНрд░реАрдорд┐рдпрдо рд╡рд┐рдХрд▓реНрдк

рдкреНрд░реАрдорд┐рдпрдо рдкреНрд▓рдЧрдЗрдиреНрд╕ рд╕рдорд░реНрдерди, рдирд┐рдпрдорд┐рдд рдЕрдкрдбреЗрдЯ рдФрд░ рдЙрддреНрдкрд╛рджрди-рддреИрдпрд╛рд░ рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреЗ рд╕рд╛рде рд╢рд┐рдк рд╣реЛрддреЗ рд╣реИрдВ - рдПрдХреАрдХрд░рдг рдХрд╛рд░реНрдп рдХреЗ рджрд┐рдиреЛрдВ рдХреЛ рдмрдЪрд╛рддреЗ рд╣реИрдВред

рдкреНрд░реАрдорд┐рдпрдо рдкреНрд▓рдЧрдЗрдиреНрд╕ рдмреНрд░рд╛рдЙрдЬрд╝ рдХрд░реЗрдВ тЖТ

рд╕рдВрдмрдВрдзрд┐рдд рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓

рдПрдХ рд╣реА рд╡рд┐рд╖рдп рдкрд░ рдЧрд╣рди рдорд╛рд░реНрдЧрджрд░реНрд╢рд┐рдХрд╛рдПрдБред

рд╕рднреА рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ тЖТ

рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓

Introducing Search on GJS.Market

GJS.Market now has one search across everything we publish тАФ plugins, articles, community questions, guides, authors and services. Press тМШK from any page.

рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓

2026 рдореЗрдВ SaaS рдкреЗрдЬ рдмрд┐рд▓реНрдбрд░ рдмрдирд╛рдиреЗ рдореЗрдВ рдХрд┐рддрдирд╛ рдЦрд░реНрдЪ рдЖрддрд╛ рд╣реИ?

2026 рдореЗрдВ SaaS рдкреЗрдЬ рдмрд┐рд▓реНрдбрд░ рдмрдирд╛рдиреЗ рдореЗрдВ рдХрд┐рддрдирд╛ рдЦрд░реНрдЪ рдЖрддрд╛ рд╣реИ? рдпрдерд╛рд░реНрдерд╡рд╛рджреА рд╡рд┐рдХрд╛рд╕ рд▓рд╛рдЧрдд, рд╕рдордпрд╕реАрдорд╛, рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдФрд░ GrapesJS рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреИрд╕реЗ рдХрдо рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдЗрд╕рдХрд╛ рдЕрдиреНрд╡реЗрд╖рдг рдХрд░реЗрдВ

рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓

рдкреЗрдЬрдХрд┐рдЯ: GrapesJS рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЬрд┐рд╕реЗ рдЖрдкрдХреЛ рд╡реИрд╕реЗ рднреА рдмрдирд╛рдирд╛ рд╣реЛрдЧрд╛

рдУрдкрди-рд╕реЛрд░реНрд╕ GrapesJS рдХреЛрд░ рдХреЗ рдЖрд╕рдкрд╛рд╕ рдПрдХ рд╕реНрд░реЛрдд-рдЙрдкрд▓рдмреНрдз Next.js рдРрдк - рдкреНрд░рдХрд╛рд╢рди, рдХрд╕реНрдЯрдо рдбреЛрдореЗрди, рд▓реАрдб, рдЪреЗрдХрдЖрдЙрдЯ рдФрд░ рдПрдХ рдкреНрд▓рдЧрдЗрди рд▓реЛрдбрд░ред

рдмреНрд░рд╛рдЙрдЬрд╝ рдкреНрд▓рдЧрдЗрди рд╢реНрд░реЗрдгрд┐рдпрд╛рдБ

рд╕реАрдзреЗ рдмрд╛рдЬрд╝рд╛рд░ рдкрд░ рдкреНрд▓рдЧрдЗрди рд╢реНрд░реЗрдгреА рдХреЗ рдкреГрд╖реНрдареЛрдВ рдкрд░ рдЬрд╛рдПрдБред