Mailinglisten-Archive |
Norbert Pfeiffer wrote:
> A: geht nicht
> 1. Betrifft Sonderzeichen in Passwoertern :-(
> Ist jedoch total unverstaendlich, da viele Unixer gerade darauf,
> dass Passwoerter mindestens ein Sonderzeichen enthalten, sehr
> grossen Wert legen.
Selbstverständlich enthält der PHP fopen-URL-Wrapper einen
Escape-Mechanismus. Man kann entweder selbst darauf kommen,
indem man sich klar macht, daß es sich um einen URL-Wrapper
handelt (wie bindet man noch einmal beliebige Sonderzeichen
in eine URL ein?) oder man liest den Source.
Im Quelltext zu PHP 3.0.11 findet man die Datei fopen-wrappers.c,
und dort kann man in Zeile 634 und folgende die Behandlung von
fopen("ftp://" finden. In Zeile 711 findet man die vitale Information,
einen Call zur PHP-internen Funktion _php3_rawurldecode(resource->pass,
strlen(ressource->pass));
Damit ist unmittelbar klar, daß
$fp = fopen("ftp://user:_at__(at)_host.domain.de/file.txt", "w");
eine Datei zum Schreiben auf dem Host host.domain.de mit dem
Usernamen "user" und dem Paßwort "_(at)_" öffnet.
> 2. Ueberschreiben vorhandener Dateien, also nicht zum updaten
> geeignet. Die Rechte spielen dabei keine Rolle, da die Dateien
> wie bei einem normalen FTP-Transfer angelegt werden.
Überschreiben von Dateien mit PHP geht nicht! Dazu auch die Zeilen
757 und folgende. PHP prüft den Statuscode des FTP-Servers beim Öffnen
der Verbindung und weigert sich schlicht, Dateien zu überschreiben.
Wenn dies dennoch gelingt, dann deswegen, weil der FTP-Server falsche
oder unzureichende Statuscodes sendet.
> Nee, Script und Datei liegen auf meinem Host. Sie sollte nur per
> FTP auf verschiedenen anderen Servern gespiegelt werden. Immer
> dann, wenn sich aktuelle Aenderungen ergeben haben.
> Nun werde ich es weiter von Hand machen muessen :-(((
Warum? Und warum FTP mit Klartextpaßworten verwenden?
scp, rsync?
Kristian
--
Kristian Köhntopp, NetUSE Kommunikationstechnologie GmbH
Siemenswall, D-24107 Kiel, Germany, +49 431 386 436 00
Using PHP3? See our web development library at
http://phplib.shonline.de/ (GPL)
php::bar PHP Wiki - Listenarchive