Am 15.07.2011 11:06 schrieb F. Behrens:
> If you send a POST form with an URL that includes GET data then
> FieldStorage will include both. Especially if you POST something like
> "id=42" and have "id=23" in the URL, FieldStorage will end up with "id:
> [42,23]", breaking code that expects a number here.
>
> Typically this unwantedly happens with forms that use POST but have been
> created from a GET request and do not explicitly specify an ACTION
> property in the FORM tag.
>
> This behaviour is new with 1.* and did not occur in older versions of
> WebWare.

Hi Fionn,

we need to break this bug/feature down a bit.

POST and GET parameters being merged into the request fields is actually 
a WebKit quirk that was added in version 0.6 already 
(http://www.webwareforpython.org/WebKit/Docs/RelNotes-0.6.html) and is 
sometimes useful so I don't want to change that.

However, the WebKit behavior has been that on merging, POST parameters 
would actually *overwrite* GET parameters with the same name, not append 
to them. I.e. if "id=23" is in the URL and "id=42" is a POST parameter, 
then request.field('id') should be just '42', not '23' or ['42', '23']. 
So what you are reporting here looks like a bug.

I haven't really looked into this so far, but a quick tests showed that 
this bug happens only with Python 2.6 or newer. Can you confirm? When 
upgrading to Webware 1.x, did you also upgrade the Python version?

-- Christoph

------------------------------------------------------------------------------
AppSumo Presents a FREE Video for the SourceForge Community by Eric 
Ries, the creator of the Lean Startup Methodology on "Lean Startup 
Secrets Revealed." This video shows you how to validate your ideas, 
optimize your ideas and identify your business strategy.
http://p.sf.net/sfu/appsumosfdev2dev
_______________________________________________
Webware-devel mailing list
Webware-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/webware-devel

Reply via email to