[Zope] Help: PATH_INFO==>object
Fri, 8 Sep 2000 20:01:58 +0800
Thanks for the correction. Now I see that
PATH_INFO refers to the current page,
not the calling page. I think the hidden input
field solution is OK for me.
What is the *Traversal interface*? Do you
mean the PARENTS enviroment?
----- Original Message -----
From: "Martijn Pieters" <email@example.com>
To: "Li Dongfeng" <firstname.lastname@example.org>
Cc: "Zope" <email@example.com>
Sent: Friday, September 08, 2000 5:01 PM
Subject: Re: [Zope] Help: PATH_INFO==>object
> On Fri, Sep 08, 2000 at 11:32:39AM +0800, Li Dongfeng wrote:
> > I am writing a service for other pages to
> > use as form action. How can I reference
> > the caller object in DTML/python?
> > I can only think of this: First use PARENTS[-1]
> > to get to the root object of the site.
> > Then split the PATH_INFO containing the caller's
> > path, and go down from the root to every subfolder
> > in PATH_INFO and then get to the caller object.
> > But this is not very elegant.
> > Can anyone give better solution to this?
> PATH_INFO only tells you something about the service object, not about the
> calling page. If you use this as a FORM action target, it's the browser
> that makes the call, not Zope.
> You can, in many cases, determine the browser URL by looking at
> HTTP_REFERER, but many people and companies use proxies and firewalls to
> filter this out nowadays; it is considered sensitive information.
> If this app is targeted at a intranet or other controlled environment, you
> could dictate the presence of HTTP_REFERER, and rely on that, otherwise
> you will have to add a reference as a hidden form field generated by the
> calling object.
> Once you have a URL of the calling object, you can use the Traversal
> interface to turn that URL into an object reference.
> Martijn Pieters
> | Software Engineer mailto:firstname.lastname@example.org
> | Digital Creations http://www.digicool.com/
> | Creators of Zope http://www.zope.org/
> | ZopeStudio: http://www.zope.org/Products/ZopeStudio
> Zope maillist - Zope@zope.org
> ** No cross posts or HTML encoding! **
> (Related lists -
> http://lists.zope.org/mailman/listinfo/zope-dev )