Am 06.03.2012 09:10, schrieb Thomas Braun:
> Juergen wrote:
>> "GET /\r HTTP/1.1"
>
> Das ist keine vollständige Logzeile, wie soll da irgendjemand was rauslesen
> können?
ok, hier die ganze Zeile aus dem Log, nur etwas anonymisiert
IP - - [Datum, Zeit] "GET /\r HTTP/1.1" 200 999 www.#meineseite#.de
"
http://www.#refererseite#.si/" "#referer Network# (<a
rel=\"index,follow\" href=\"
http://www.#refererseite#.si/\">Do
follow</a>)" "-"
anstelle
- IP stand da natürlich eine rückverfolgbare IP
- "999" = hier war Anzahl Bytes, die meiner Seite entsprechen
- #meineseite# = meine Domain (-teil)
- #refererseite# = reale Domain
- #referer Network# = dort war auch der Domainteil wie refererseite
alle anderen Zeichen identisch aus der Logdatei kopiert.
> Jemand/etwas schaut sich deine Webseite an - dafür hast du sie gemacht,
> oder nicht?
Hmm, ja, gegen das Anschauen habe ich nichts, nur vorstehende im Log
"dokumentierte" Zugriffsvariante ist nicht so ganz "normal", d.h. nicht
so ganz koscher. Wenn dieses "\r" in Wirklichkeit ein "Return" ist (was
es laut regexp sein dürfte), was macht der Apache damit, _bevor_ er
"HTTP/1.1" bekommt?
Ich hab leider keinen Apache und auch nicht das nötige Wissen dazu...
trotz bereits stundenlangem Lesen ;-/
Eine Zeile in der Logdatei spiegelt scheinbar nicht _genau_ die
HTTP-Zugriffe wider, die in Wirklichkeit zu einem Request beim Apache
(den einmaleins wohl verwendet) ankommen. Ein "Return" innerhalb eines
Requests dürfte in der Logdatei kaum anders darstellbar sein, so mein
Gedanke.
>> RewriteCond %{THE_REQUEST} ^GET./\\
>
> Ohne eine darauf folgende RewriteRule passiert hier nix.
Natürlich <gr> steht danach noch
RewriteRule ^.*$ - [F]
Ich habe inzwischen doch etwas gefunden, was dahinter stecken könnte...
http://www.apacheweek.com/issues/03-01-24
Cross-Site Tracing issues
nur... verstanden hab ich das Ganze nicht so richtig, ausser, dass man
mit dieser "Methode" eventuell Webseiten (bzw. aufrufende Browser)
missbrauchen kann.
Dort stand dann auch ein Hinweis, wie ich diese Requests "unterbinden" kann
RewriteEngine On
RewriteCond %{REQUEST_METHOD} ^TRACE
RewriteRule .* - [F]
Hab ich gemacht, zumindest wird das beim Hochladen meiner htaccess
akzeptiert und ergibt keinen 500 ;-) Ob der Eintrag erfolgreich ist,
muss sich zeigen.
Nochmal zu
"GET /\r HTTP/1.1"
Wie müsste die htaccess-Direktive aussehen, die das vergleichen kann
(bzw. was der Apache damit/daraus macht bzw. gemacht hat)?
Wenn ich in der htaccess eintrage
RewriteCond %{THE_REQUEST} ^GET./\r
weiss der Apache dann, was _ich_ möchte? Ich hab irgendwo auch was
aufgeschnappt, dass der erste "/" beim RewriteCond entfallen müsste.
Ich hatte auch etliche Zugriffe beginnend mit
GET //
Was muss ich dafür in der htaccess eintragen
a) RewriteCond %{THE_REQUEST} ^GET.//
oder
b) RewriteCond %{THE_REQUEST} ^GET./
und ein Eintrag laut a) hat nicht gegriffen :-(
(ich weiss, statt "." wäre "\." sicherer)
Jürgen