On 18.Jun.2002 -- 12:09 AM, Ovidiu Predescu wrote:
> On 6/17/02 11:22 PM, "Christian Haul" <[EMAIL PROTECTED]>
> wrote:
> 
> > On 17.Jun.2002 -- 09:35 PM, Ovidiu Predescu wrote:
> > 
> >> 
> >> - automatic binding of JavaScript variables to form values. This would allow
> >> you to declare something like:
> >> 
> >>   var username, password;
> >> 
> >>   // Send a page to collect the user name and the password
> >>   sendPage("login.html");
> >> 
> >>   // When the user fills in the form and presses the submit button, the
> >>   // script restarts here. The flow engine automatically binds the username
> >>   // and password to the values submitted in the form.
> > 
> > Don't. It was one of the biggest mistakes PHP did securitywise. Always
> > access request parameters explicitly.
> 
> Yes, I read somewhere about this, but don't know the details. Can you
> explain some more?

The real problem is that an attacker could provide additional parameters
that coincidently have the same name as a variable used for other
purposes in the php script like changing the database connection name,
path to a file (i.e. /etc/password) or to an include.

Therefore php now enforces the use of $HTTP_PARAMETERS['name'].

> I actually like the way variables are automatically bound in WebObjects,
> where you have to explicitly define the automatic binding, by mapping an
> instance variable to a form parameter. I was thinking to follow a similar
> pattern, and have a way to specify that a given local variable in a function
> is to be bound to a form parameter. In WebObjects this association is
> totally under the control of the programmer, and the same way should be done
> in Cocoon.
> 
> Could this be a potential security problem?

No, that is absolutely OK since the author controls exactly which
variables contain unchecked values which are safe to use.

Anyway, given that we are going to be able to use input modules in
the sitemap through "{modulename:parameter}" it would be great if it
would be the same for the flow.

Just another thought (I'm not yet up to speed with the flow so ignore
if I'm talking rubbish): Is it possible (and would it make sense) to
call an action like

        result = actions['database']( { 'parameter' -> 'value', 'parameter' -> 
'value'});

(I know javascript uses associative arrays, but is there really a
literal form?)  With the script engine adding the 'usual' parameters
for the act call and result being an associative array containing the
returned map. This way we could continue using all the nice actions. :-)

        Chris.

-- 
C h r i s t i a n       H a u l
[EMAIL PROTECTED]
    fingerprint: 99B0 1D9D 7919 644A 4837  7D73 FEF9 6856 335A 9E08



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, email: [EMAIL PROTECTED]

Reply via email to