ja ich versuch es mal ... denn regexp iss ne welt für sich ...
(vielleicht hilft es dir auch, wenn du dir die manpages von grep anguggst ...)
hier meine private lösung ...
PathAllowFilter "^[a-zA-Z0-9äöüÄÖÜß@ùúàáèéòó\'\´\#\`\~ _.-]+$"
ich erkläre mal kurz vielleicht hilf des dir und du kannst die was entsprechendes zusammenbasteln ...
(in meinem filter erlaube ich alle regulär zugelassene charackters, wenn windows-user ihre ordner oder dateien benennen)
^ (Caret) paßt auf den Zeilenanfang ( also a-zA-Z0-9)
[] Character klasse (ist klar)
\z.b.punkt leitet escape-sequence ein, um steuerzeichen als Charakter darzustellen
das heisst also z.b.
\.
wertet den punkt als reines zeichen aus, weil der punkt ansonsten folgend interpretiert wird:
ein Punkt paßt auf jeden Buchstaben außer auf das Zeilenende$ (dollar) das ende der regular expression
+ (plus)das dem Operator vorangehende Muster kann einmal oder öfter vorkommen
also schausst du dir meinen path allow filter an, solltest du verstehen was ich quasi zulasse ...
(achso, unter perl,php kommen (wohl änliche?) regexp zum tragen
... ist alles fast das gleiche und unter dem begriff "POSIX - Regular Expressions" solltest du viele erklärungen finden ...)
die lösung wäre also speziell in deinem fall
PathAllowFilter "^[a-zA-Z0-9 \.\-\_]+$"
...ich weiss allerdings nicht genau ob minus und unterstrich als steuerzeichen gelten, wenn nicht, tut ein backslash davor nicht not.
@wörsty bist du dir sicher das du dot-dateien zulassen möchtest? ... ich meine notwendig ja schon .... weil alle (windows)dateinamen nen punkt enthalten "singmireinlied
dotmp3, ... aber wenn er am anfang kommt ... haben sie z.B. "die möglichkeit" eine
nur ein beispiel! ".htaccess" zu erstellen ....
muesstest dir also noch nen filter erstellen, der dot-dateien erlaubt, halt nur am anfang darf kein punkt kommen...
wenn du magst kann ich dir mal meinen komplett filter (von Path-allow/deny bis Allow/denyfilter) hier posten
der funktioniert, habsch getestet ...
ausser einem klitzekleinen problemchen was ich gerade entdeckte und gleich mal schildern möchte ... da muss ich mir nun nämlich auch noch was ausdenken GG
also :
unter windows ist es nicht erlaubt, z.b. einen ordner zu erstellen, der ein "/" slash beinhaltet ... also hab ich den slash im filter berücksichtigt und ihn verboten.
auf meinem testrechner gehe ich also mit ws_ftp 7.5 an den server ran ...alles schick alles schön, kann schalten und walten.
auf einem anderen rechner geht das nun nicht mehr, dort ist lediglich WS_FTP 7.0 drauf.
nu kommts... ich kann nichts mehr machen - wollte nen ordner löschen, den ich regulär und unter WS_FTP 7.5 löschen kann.
7.0 sagt mir nun forbidden file name.
ARGH gell? - also was passiert ...
schickt der doofe client 7.0 anscheinend nen fullpath command an den server ....der z.b. so aussieht :
RMD /ftphome/test/testordner
alles klar? ... blöd oder? ... da sind irgendwie 3 mal slash drinne
...
7.5 setz vorher irgendwie noch nen:
CWD /ftphome/test
ab und macht dann abschliessend
RMD testordner
... und das funzt ...
naja und an sonen bockmist denkt man ja nicht immer gleich ...nun muss ich auch erstmal überlegen und muss mich warscheinlich entscheiden, nicht zu pingelich zu sein ...
----
vielleicht konnt ich dir helfen ... so long lucy