To participate you must create an account on apostrophenow.org. If you have already done so, click Login.

Ticket #174 (closed defect: fixed)

Opened 23 months ago

Last modified 18 months ago

Apostrophe incompatible with Symfony input escaping methods

Reported by: tboutell Owned by: tboutell
Priority: blocker Milestone: 1.5
Component: apostrophePlugin Version:
Keywords: Cc: agilbert, dordille, techstuff@…, geoffd,
Symfony version: 1.4

Description

Apostrophe doesn't have an XSS problem, because we escape content ourselves in appropriate ways, but it is incompatible with Symfony's "escape all variables passed to templates" feature. We should address that by calling $sf_data->getRaw('variable') rather than accessing $variable in all cases where we need access to raw data in a template. We'll then be able to work with output escaping turned on in the demo, which we should switch to doing by default to demonstrate it's possible, decrease the risk we'll make XSS errors of our own in client sites and keep us aware of any issues that come up.

Change History

Changed 23 months ago by boutell

  • status changed from new to accepted

Changed 23 months ago by stephenrs

  • cc techstuff@… added

Changed 21 months ago by boutell

  • milestone changed from 1.4 to 1.5

Too big a change to make at the last minute for 1.4, we'll do it systematically on an Apostrophe day for 1.5

Changed 18 months ago by tboutell

  • priority changed from major to blocker

We can't skip this one again. It's a very very very valid reason not to use Apostrophe on a Symfony project with components from any other plugins, or simply following Symfony best practices

Changed 18 months ago by tboutell

  • owner changed from boutell to tboutell
  • status changed from accepted to assigned

Changed 18 months ago by tboutell

  • reporter changed from boutell to tboutell

Changed 18 months ago by tboutell

  • cc geoffd, added
  • status changed from assigned to closed
  • resolution set to fixed

I hit this in [1914]. I did it via a code generator, the results are looking really good so far, I'm tempted to apply it to 1.4 but I'll be good at least for now and leave it in the trunk only (which will become 1.5 before too long).

The same tool could be applied to the blog plugin but I think we need to clean up the trunk of the blog plugin first.

Note: See TracTickets for help on using tickets.