Hallo Thomas,
"ERROR" wirkt erschreckend, man meint man hätte einen fehler begangen, obwohl das wohl nicht der fall ist.
"EEROR" sollte nur wirkliche fehler anzeigen, vielleicht geht hier einfach mal "hint" oder "note" auch.
Okay, werde ich berücksichtigen.
(Vielleicht lege ich das Verzeichnis wirklich auch schon im
Selbsttest-Modus an und lösche es gleich wieder ...)
das ist ja auch voll ok, das habe ich auch oft benutzt bevor
ich den script aktiviert habe. ist eine echte hilfe!
Fein - das zu hören bringt mir auch etwas.
Dann werde ich diesen Modus tendentiell weiter entwickeln, obwohl
er für die reine Funktionalität nicht notwendig ist und knapp 50%
des Quelltexts kostet.
weil die leute generell keine FAQ's lesen?
Schluchz ... dann lesen sie aber auch meine Doku nicht ...
gzip_cnc könnte sehr wohl dem Benutzer ein Fehler-
Dokument (_statt_ der Original-Seite) zurückliefern
und darin beschreiben, was beim Versuch, in die Log-
Datei zu schreiben, passiert ist.
das habe _ich_ aber nicht erwähnt bzw. verlangt.
Okay, klar.
Ich finde es übrigens eigenartig, daß Dein Webspace
nur aus dem URL-Baum besteht,
tut es nicht. aber das habe ich schon gesagt.
Verstanden.
(mein FTP programm zeigt das eben z.b. nicht an.
und ich musste das auch mal erst per $ENV abfragen)
Wie gesagt: Das kann der Selbsttest-Modus erledigen.
Soll er? [ x] ja [ X] nein
ja: weil so die unerfahren user dies auch schnell herausfinden können.
nein: weil ich z.b. en nicht will, dass es jeder der mal den script direkt aufruft erfahren kann.
Danke.
Den zweiten Punkt kannst Du aber umgehen - Du kannst das Skript
beliebig umbenennen:
http://www.schroepl.net/projekte/gzip_cnc/install.htm#cgiscript
Niemand muß seinen Namen wissen - und verlinkt ist es ja auch
nirgendwo. (Den Security-Aspekt werde ich an dieser Stelle erwähnen.)
Insofern tendiere ich dazu, das in der nächsten Version einzubauen.
oder nur wenn man z.B. nach dem test diese zeile auskommentieren kann.
Kannst Du im Prinzip auch machen:
---------------------------------------------------------------------
standardize directory separator in requested URL path
my $path_translated = $ENV{'PATH_TRANSLATED'} || '';
if ($^O =~ /Win32/i)
{ $path_translated =~ tr!\!/!; }
split translated path into directory and filename
if ($path_translated !~ /^(.*)/([^/]+)$/)
{
# --------------------------------------------------------------
# (if we aren't a handler we just display diagnostic infos to stdout)
self_test ();
# --------------------------------------------------------------
}
Da könnte statt
self_test ();
auch
handle_404 ('40:NO_PATH_TRANSLATED', $pathname_requested);
stehen
(stand dort auch so ähnlich vor dem Einbau der Selbsttest-Funktion).
Das könnte ich auch bedingt über ein Flag im Konfigurations-Abschnitt
machen ... wäre das sinnvoll?
Über dieses Flag könnte man dann den Selbsttest ein- und ausschalten.
(http://www.schroepl.net/projekte/gzip_cnc/source.htm)
(ok ich könnte noch in einem .htacees im cgi-bin z.B.
<Files gzip_cnc.pl>
Order allow,deny
Allow from www.meta-text.net
Deny from all
</Files>
schreiben ... )
So ähnlich denke ich mir das auch:
deny from all
allow from your-server
satify any
require valid-user
Dann könntest Du mit Angabe eines Passworts darauf zugreifen.
Ich kann Dein Problem bei mir nicht reproduzieren:
ich habe gzip_cnc wieder aktiviert:
http://www.meta-text.net/gzip/
Na, dann schauen wir uns das mal an:
[ 17] HTTP/1.0 200 Okay
[ 35] Cache-Control: public,max-age=86400
[ 17] Connection: close
[ 35] Date: Tue, 18 Jun 2002 02:08:19 GMT
[ 58] Server: Apache/1.3.3 (Unix) PHP/4.1.2 FrontPage/5.0.2.2510
[ 21] Vary: Accept-Encoding
[ 59] WWW-Authenticate: Basic realm="User: selfhtml PW: selfhtml"
[ 22] Content-Encoding: gzip
[ 19] Content-Length: 439
[ 23] Content-Type: text/html
[ 38] Expires: Wed, 19 Jun 2002 02:08:19 GMT
[ 44] Last-Modified: Mon, 17 Jun 2002 08:16:36 GMT
[ 33] X-Gzipcnc-Original-File-Size: 752
[ 36] X-Gzipcnc-Version: 1.05 (2002-06-09)
Alles, was ich sehen kann, ist:
a) Dein Apache 1.3.3. ist _uralt_. (10. Oktober 1998)
Vielleicht behandelt der die Action/handler-Schnittstelle anders
als meine Maschinen (1.3.12/Suse bzw. 1.3.23/Win98)?
b) Er sendet meinem HTTP-Trace-Skript einen Authenticate-Header,
was ja soweit okay zu sein scheint.
c) Er sendet aber einen HTTP-Status 200 zurück - nicht 401, wie er
sollte, wenn er eine Authentifizierung verlangt.
d) Deine 401-Fehlerseite wird allerdings von gzip_cnc komprimiert
ausgeliefert.
Hm ... der Status 200 kommt natürlich von gzip_cnc selbst, welcher
den HTTP-Header zusammenstellt. Der Apache mischt dann seine eigenen
Header dazu, und ab damit. Hm ... ich muß mal sehen, ob ich diesen
401er-Status erkennen kann, wenn ich aufgerufen werde ... das könnte
tatsächlich ein Problem sein. Allerdings: Bei mir funktioniert es ...
Ich muß auch mal ausprobieren, was passiert, wenn gzip_cnc nicht selbst
versucht, einen HTTP-Status zu senden - dann müßte das ja der Apache
tun. Dann käme wohl immerhin eine 401 zurück statt einer 200 ... ob
dies das Problem irgendwie lösen hilft (das ich selbst ja nicht habe),
vermag ich aber nicht zu sagen.
Viele Grüße, und vielen Dank für das Testfliegen
<img src="http://www.schroepl.net/projekte/gzip_cnc/gzip_cnc.gif" border=0 alt=""> Michael