[zorp-hu] WebDAV =?iso-8859-1?Q?m=E1sc?=
=?iso-8859-1?Q?=EDmre?=
Balazs Scheidler
bazsi@balabit.hu
Tue, 12 Nov 2002 14:14:19 +0100
On Tue, Nov 12, 2002 at 12:19:27PM +0100, Czakó Krisztián wrote:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
> Idézet Balazs Scheidler 2002. november 12. 09:35 keltezésű leveléből:
> > > Nagyjából összejött, amit az lmekonfon beszéltünk, azaz:
> > > - - 1 IP-n sok virtualhost (standard apache namevirtualhost-ok)
> > > - - https
> > > - - WebDAv úgy, hogy a DAV kéréseket más címre küldjük, mint a normál
> > > https kéréseket
> Az a probléma viszont még fennáll, hogy ha nem ugyanabban a sessionben a
> kliens küld egy GET kérést akkor az rosszhelyen landol. Ha van valakinek
> ötlete, hogyan lehet megfogni a DAV-os GET-et, szóljon. Mondjuk az
> authentikáció jellemző rá, de az ugye jogos a normál esetben is.
> Az apache valahonnan tudja a különbséget, mert ha egy php scriptet kérek sima
> GET-el, akkor végrehajtja, ha DAV-al csinálom odaadja a forrását. Gyanítom az
> authentikációm számít, de a Zorp szintjén nem tudom dekódolni az azonosítót.
>
> Pl. a cadaver ezeket küldi:
> User-Agent: cadaver/0.18.0 neon/0.16.1
> Connection: TE
> TE: trailers
> Host: webhome.hu:443
> Authorization: Basic c2yhcLljOuPsdG6r
>
> Digest auth esetén jobb a helyzet:
> Authorization: Digest username="slapic", realm="WebDAV"
> Itt a realm segíthet, feltéve ha nem jut eszébe valakinek a normál módban is
> WebDAV realmet használni, de ne jusson :)
> Melyik változóban találom meg a fejléc tartalmát?
> Azaz ha csinálok egy ilyet:
> self.request_header["Authorization"] = (HTTP_REQ_POLICY, self.filterAUTH)
> Akkor a filterAUTH mit kap meg?
>
> És ez sem tökéletes, mert kevés kliens kezeli. Mondjuk cadaver jó, konqueror
> elszáll mint a győzelmi zászló, sitecopyt nem próbáltam.
HTTP_REQ_POLICY helyett HTTP_HDR_POLICY kell, amugy jo (ez sem problema, a
ketto ertek megegyezik numerikusan)
a fuggvenyed ilyen parametereket kap:
def filterAuth(self, hdr_name, hdr_value):
...
a hdr_name 'Authorization'-t tartalmaz, a hdr_value pedig annak az erteket.
Abban biztos vagy, hogy a php script letoltesehez GET-et hasznal WebDAV-on
keresztul is?
... megneztem, igen. valoszinuleg a webdav modul elhalassza a GET-et a
normal webszerver elol...
megneztem a DAV modul forrasat. a GET-re megnezi, hogy ismer-e adott nevu
resource-t, es ha igen o kezeli le, ha nem akkor tovabb engedi az
apache-nak.
most nincs tobb idom nezegetni, meg dav modul konfigot sem lattam meg,
egyenlore ennyit latok.
ha le tudnad fogni URL alapjan (pl. a /webdav/ konyvtarban latod a teljes
tartalmat megegyszer), akkor egyszerubb lenne a dolog.
--
Bazsi
PGP info: KeyID 9AF8D0A9 Fingerprint CD27 CFB0 802C 0944 9CFD 804E C82C 8EB1