On Wed, Nov 13, 2002 at 01:12:08PM +0100, Czakó Krisztián wrote:
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
Idézet Balazs Scheidler 2002. november 12. 14:14 keltezésű leveléből:
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?
Igen, nincs más kérés letöltésre (pedig jobb lenne egy DAVGET pl.).
... 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.
A config egyszerű. Egy könyvtárra teszel Limit-et, és ott DAV on. Az apache (Limit) feladata az authentikáció elvégzése, azaz ha azt nem vagy rosszul csinálja, akkor megy a jogosulatlan hozzáférés. Az ajánlott megoldás a LimitExcept GET HEAD POST általában. Csak DAV-ot támogató szerveren ez lehet egyszerűbb (vaj'n miért nincs Limit ALL?).
ha le tudnad fogni URL alapjan (pl. a /webdav/ konyvtarban latod a teljes tartalmat megegyszer), akkor egyszerubb lenne a dolog.
Ezt pedig egy egyszerű Alias /webdav/ /path/to/the/web/dir/ opcióval meg lehet oldani. Kösz a tippet :)
Lusta kérdés: mivel ellenőrzök regexpet (^http://[^/]+\.[^/]+./webdav/) pythonban?
if hdr_value ~= '^http://[^/]+\.[^/]+./webdav/': self.session.server_address = SockAddrInet("davserver",9443) else: self.session.server_address = SockAddrInet("webserver",443)
import re dav_pattern = re.compile('^http://[^/]+\.[^/]+./webdav/') if dav_pattern.match(self.request_url): ... else: ... valami ilyesmi, bovebben re modul doksi. -- Bazsi PGP info: KeyID 9AF8D0A9 Fingerprint CD27 CFB0 802C 0944 9CFD 804E C82C 8EB1