Hello!
Http: * limitálható chunk méret (ld. Apache hiba)
Erre tudnatok mutatni egy peldat? Egy olyan pelda is erdekes lenne szamomra, amivel egy vedendo http-szerver bizonyos konyvtaraihoz korlatozhatnam a hozzaferest. Konkretan olyasmire gondolok, hogy egy Wines webszerveren csak a kiajanlott konyvtarakhoz ferjenek hozza kivulrol, de annak is csak egy alkonyvtarabol tudjanak letolteni .exe fajlokat. Tehat ne mukodjenek a Code Red-hez hasonlo dolgok. Lehetseges ez? -- Udvozlettel Zsiga
On Fri, Jun 28, 2002 at 10:32:55AM +0200, Kosa Attila wrote:
Hello!
Http: * limitálható chunk méret (ld. Apache hiba)
Erre tudnatok mutatni egy peldat?
Egy olyan pelda is erdekes lenne szamomra, amivel egy vedendo http-szerver bizonyos konyvtaraihoz korlatozhatnam a hozzaferest. Konkretan olyasmire gondolok, hogy egy Wines webszerveren csak a kiajanlott konyvtarakhoz ferjenek hozza kivulrol, de annak is csak egy alkonyvtarabol tudjanak letolteni .exe fajlokat. Tehat ne mukodjenek a Code Red-hez hasonlo dolgok. Lehetseges ez?
a chunk meret korlatozas illetve a letoltheto fileok korlatozasa teljesen mas teszta. chunkokat akkor hasznal egy webszerver, ha nem tudja elore, hogy milyen meretu lesz a valasza, ezert nem tudja beleirni a Content-Length fejlecbe, mivel az az adatresz elott van. Ilyenkor kb igy nez ki egy keres: balabit:~$ telnet www.balabit.hu 80 Trying 212.92.18.33... Connected to www.balabit.hu. Escape character is '^]'. GET /en/news/ HTTP/1.1 Host: www.balabit.hu HTTP/1.1 200 OK Date: Fri, 28 Jun 2002 08:37:03 GMT Server: Apache/1.3.24 Transfer-Encoding: chunked Content-Type: text/html f39 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html> <head> a <!DOCTYPE elotti sorban levo hexa szam az aktualis chunk merete. Az utolso chunkot a 0-s meret jelzi. Az apacheban levo bug annyi volt, hogy ha a chunk meret 32 bites szamon ertelmezve negativ (0x80000000-nel nagyobb), akkor felulgyalulhatta a stacket. A chunkok merete altalaban 8k-nal kisebb, ezert a Zorp 1.4.4-tol kezdve alapbol max 64k-t engedunk at, ami persze kisebbre veheto. Ez megvedi a bugos apache-t. Amit te szeretnel az leginkabb URL szuressel megvalosithato: class LimitedHttpProxy(HttpProxyURIFilter): matcher=RegexpFileMatcher('/etc/zorp/http.black', '/etc/zorp/http.white') majd a http.black ill http.white fileok megfelelo kitoltese. (mindketto regexpeket tartalmazhat) Tehat ha azt szeretned, hogy csak egy adott konyvtarbol lehessen EXE-ket letolteni, akkor: http.black: .*exe http.white: ^http://www\.szerver\.hu/adott/konyvtar/.*exe$ -- Bazsi PGP info: KeyID 9AF8D0A9 Fingerprint CD27 CFB0 802C 0944 9CFD 804E C82C 8EB1
On Fri, Jun 28, 2002 at 10:44:11AM +0200, Balazs Scheidler wrote:
On Fri, Jun 28, 2002 at 10:32:55AM +0200, Kosa Attila wrote:
Hello!
Http: * limitálható chunk méret (ld. Apache hiba)
Erre tudnatok mutatni egy peldat?
a chunk meret korlatozas illetve a letoltheto fileok korlatozasa teljesen mas teszta. chunkokat akkor hasznal egy webszerver, ha nem tudja elore, hogy milyen meretu lesz a valasza, ezert nem tudja beleirni a Content-Length fejlecbe, mivel az az adatresz elott van. Ilyenkor kb igy nez ki egy keres:
Koszonom a magyarazatot. Egy peldat is, please :)
Amit te szeretnel az leginkabb URL szuressel megvalosithato:
class LimitedHttpProxy(HttpProxyURIFilter): matcher=RegexpFileMatcher('/etc/zorp/http.black', '/etc/zorp/http.white')
Igy probaltam: class IDHttp(HttpProxyURIFilter): def config(self): HttpProxyURIFilter.config(self) self.transparent_mode = 1 matcher=RegexpFileMatcher('/etc/zorp/http.black', '/etc/zorp/http.white') A http.black tartalma: .*exe A http.white tartalma: ^http://www\.shinwa\.hu/linux/.*exe$ Es a http://www.shinwa.hu/kell.exe fajlt megis le tudom tolteni. Persze ujra is inditottam :) Mit nem csinaltam jol? -- Udvozlettel Zsiga
On Fri, Jun 28, 2002 at 11:51:26AM +0200, Kosa Attila wrote:
On Fri, Jun 28, 2002 at 10:44:11AM +0200, Balazs Scheidler wrote:
On Fri, Jun 28, 2002 at 10:32:55AM +0200, Kosa Attila wrote:
Hello!
Http: * limitálható chunk méret (ld. Apache hiba)
Erre tudnatok mutatni egy peldat?
a chunk meret korlatozas illetve a letoltheto fileok korlatozasa teljesen mas teszta. chunkokat akkor hasznal egy webszerver, ha nem tudja elore, hogy milyen meretu lesz a valasza, ezert nem tudja beleirni a Content-Length fejlecbe, mivel az az adatresz elott van. Ilyenkor kb igy nez ki egy keres:
Koszonom a magyarazatot. Egy peldat is, please :)
class MyHttp(HttpProxy): def config(self): HttpProxy.config(self) self.max_chunk_length = 3
Amit te szeretnel az leginkabb URL szuressel megvalosithato:
class LimitedHttpProxy(HttpProxyURIFilter): matcher=RegexpFileMatcher('/etc/zorp/http.black', '/etc/zorp/http.white')
Igy probaltam: class IDHttp(HttpProxyURIFilter): def config(self): HttpProxyURIFilter.config(self) self.transparent_mode = 1 matcher=RegexpFileMatcher('/etc/zorp/http.black', '/etc/zorp/http.white')
ha config() methodba irod, akkor 'self.matcher = ...' kell, nem eleg a sima matcher. Az altalam irtnak az az elonye, hogy a fileokat csak egyszer olvassa fel, mig a config()-bol hivva annyiszor, ahanyszor a proxy elindul. (-> lassitja az inditast) -- Bazsi PGP info: KeyID 9AF8D0A9 Fingerprint CD27 CFB0 802C 0944 9CFD 804E C82C 8EB1
On Fri, Jun 28, 2002 at 12:00:50PM +0200, Balazs Scheidler wrote:
On Fri, Jun 28, 2002 at 11:51:26AM +0200, Kosa Attila wrote:
Igy probaltam: class IDHttp(HttpProxyURIFilter): def config(self): HttpProxyURIFilter.config(self) self.transparent_mode = 1 matcher=RegexpFileMatcher('/etc/zorp/http.black', '/etc/zorp/http.white')
ha config() methodba irod, akkor 'self.matcher = ...' kell, nem eleg a sima matcher. Az altalam irtnak az az elonye, hogy a fileokat csak egyszer olvassa fel, mig a config()-bol hivva annyiszor, ahanyszor a proxy elindul. (-> lassitja az inditast)
OK, koszonom, mar mukodik. Meg egy kerdes: ha nem a HttpProxyURIFilter-t hasznalom, hanem a HttpProxy-t, akkor abba hogyan tudom belevarazsolni ezt a szurest? Illetve mi a kulonbseg a ketto kozott? -- Udvozlettel Zsiga
On Fri, Jun 28, 2002 at 12:19:15PM +0200, Kosa Attila wrote:
On Fri, Jun 28, 2002 at 12:00:50PM +0200, Balazs Scheidler wrote:
On Fri, Jun 28, 2002 at 11:51:26AM +0200, Kosa Attila wrote:
Igy probaltam: class IDHttp(HttpProxyURIFilter): def config(self): HttpProxyURIFilter.config(self) self.transparent_mode = 1 matcher=RegexpFileMatcher('/etc/zorp/http.black', '/etc/zorp/http.white')
ha config() methodba irod, akkor 'self.matcher = ...' kell, nem eleg a sima matcher. Az altalam irtnak az az elonye, hogy a fileokat csak egyszer olvassa fel, mig a config()-bol hivva annyiszor, ahanyszor a proxy elindul. (-> lassitja az inditast)
OK, koszonom, mar mukodik. Meg egy kerdes: ha nem a HttpProxyURIFilter-t hasznalom, hanem a HttpProxy-t, akkor abba hogyan tudom belevarazsolni ezt a szurest? Illetve mi a kulonbseg a ketto kozott?
Nezd meg az /usr/share/zorp/pylib/Zorp/Http.py-ban. -- Bazsi PGP info: KeyID 9AF8D0A9 Fingerprint CD27 CFB0 802C 0944 9CFD 804E C82C 8EB1
On Fri, Jun 28, 2002 at 12:20:21PM +0200, Balazs Scheidler wrote:
On Fri, Jun 28, 2002 at 12:19:15PM +0200, Kosa Attila wrote:
abba hogyan tudom belevarazsolni ezt a szurest? Illetve mi a kulonbseg a ketto kozott?
Nezd meg az /usr/share/zorp/pylib/Zorp/Http.py-ban.
Koszi, mar megy. Csak majdnem sikerult elfelejtkeznem a tabulalas szintaktikara gyakorolt hatasarol :) De emlekeztetett ra :)) -- Udvozlettel Zsiga
participants (2)
-
Balazs Scheidler
-
Kosa Attila