Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

FTP-Kennwort per PHP ändern

Frage Entwicklung PHP

Mitglied: 17735

17735 (Level 2)

11.11.2006, aktualisiert 12.11.2006, 6303 Aufrufe, 4 Kommentare

Hallo,

ich betreibe hier einen Windows Server, auf dem der Apache Server mit PHP Unterstützung, und FileZilla FTP als FTP-Server läuft. Die Benutzer können sich mittels PHP auf dem Server an einem kleinen Webportal anmelden und da auch ihr Kennwort ändern, dass MD5-Verschlüsselt in einer MySQL-Datenbank landet.

So weit, so gut.

Nun hat aber jeder für das Webportal registrierte Benutzer auch einen Account beim FileZilla FTP-Server. Ich habe herausgefunden, dass FileZilla die Informationen über die Benutzer (also Benutzername, Kennwort und Berechtigungsoptionen) in der Datei FileZilla Server.xml speichert. (Das Kennwort wird dort ebenfalls mit Hilfe von MD5 verschlüsselt).

Zum besseren Verständnis des Aufbaus dieser XML-Datei befindet sich hier die komplette Beispielkonfigurationsdatei:

<FileZillaServer>
<Settings>
<Item name="Serverport" type="numeric">21</Item>
<Item name="Number of Threads" type="numeric">2</Item>
<Item name="Maximum user count" type="numeric">0</Item>
<Item name="Timeout" type="numeric">120</Item>
<Item name="No Transfer Timeout" type="numeric">120</Item>
<Item name="Allow Incoming FXP" type="numeric">0</Item>
<Item name="Allow outgoing FXP" type="numeric">0</Item>
<Item name="No Strict In FXP" type="numeric">0</Item>
<Item name="No Strict Out FXP" type="numeric">0</Item>
<Item name="Login Timeout" type="numeric">60</Item>
<Item name="Show Pass in Log" type="numeric">0</Item>
<Item name="Custom PASV Enable" type="numeric">0</Item>
<Item name="Custom PASV IP" type="string"></Item>
<Item name="Custom PASV min port" type="numeric">0</Item>
<Item name="Custom PASV max port" type="numeric">0</Item>
<Item name="Initial Welcome Message" type="string">%v
written by Tim Kosse (Tim.Kosse@gmx.de)
Please visit http://sourceforge.net/projects/filezilla/</Item>;
<Item name="Admin IP Bindings" type="string"></Item>
<Item name="Admin IP Addresses" type="string"></Item>
<Item name="Enable logging" type="numeric">0</Item>
<Item name="Logsize limit" type="numeric">0</Item>
<Item name="Logfile type" type="numeric">0</Item>
<Item name="Logfile delete time" type="numeric">0</Item>
<Item name="Use GSS Support" type="numeric">0</Item>
<Item name="GSS Prompt for Password" type="numeric">0</Item>
<Item name="Download Speedlimit Type" type="numeric">0</Item>
<Item name="Upload Speedlimit Type" type="numeric">0</Item>
<Item name="Download Speedlimit" type="numeric">10</Item>
<Item name="Upload Speedlimit" type="numeric">10</Item>
<Item name="Buffer Size" type="numeric">4096</Item>
<Item name="Admin port" type="numeric">14147</Item>
<Item name="Serverports" type="string">21</Item>
<Item name="Custom PASV IP type" type="numeric">0</Item>
<Item name="Custom PASV IP server" type="string">http://filezilla.sourceforge.net/misc/ip.php</Item>"
<Item name="Use custom PASV ports" type="numeric">0</Item>
<Item name="Mode Z Use" type="numeric">0</Item>
<Item name="Mode Z min level" type="numeric">1</Item>
<Item name="Mode Z max level" type="numeric">9</Item>
<Item name="Mode Z allow local" type="numeric">0</Item>
<Item name="Mode Z disallowed IPs" type="string"/>
<Item name="IP Bindings" type="string">*</Item>
<Item name="IP Filter Allowed" type="string"/>
<Item name="IP Filter Disallowed" type="string"/>
<Item name="Hide Welcome Message" type="numeric">0</Item>
<Item name="Enable SSL" type="numeric">0</Item>
<Item name="Allow explicit SSL" type="numeric">1</Item>
<Item name="SSL Key file" type="string"/>
<Item name="SSL Certificate file" type="string"/>
<Item name="Implicit SSL ports" type="string">990</Item>
<Item name="Force explicit SSL" type="numeric">0</Item>
<Item name="Network Buffer Size" type="numeric">65536</Item>
<SpeedLimits>
<Download/>
<Upload/>
</SpeedLimits>
</Settings>
<Groups/>
<Users>
<User Name="newuser"> Hier zum Beispiel der Benutzername
<Option Name="Pass">92eb8879a82524686acdd0058e1cd4f5</Option> Hier sein zugehöriges Kennwort
<Option Name="Group"/>
<Option Name="Bypass server userlimit">0</Option>
<Option Name="User Limit">0</Option>
<Option Name="IP Limit">0</Option>
<Option Name="Enabled">1</Option>
<Option Name="Comments"/>
<IpFilter>
<Disallowed/>
<Allowed/>
</IpFilter>
<Permissions>
<Permission Dir="\xampp\htdocs">
<Option Name="FileRead">1</Option>
<Option Name="FileWrite">1</Option>
<Option Name="FileDelete">1</Option>
<Option Name="FileAppend">1</Option>
<Option Name="DirCreate">1</Option>
<Option Name="DirDelete">1</Option>
<Option Name="DirList">1</Option>
<Option Name="DirSubdirs">1</Option>
<Option Name="IsHome">1</Option>
<Option Name="AutoCreate">0</Option>
</Permission>
</Permissions>
<SpeedLimits DlType="0" DlLimit="10" ServerDlLimitBypass="0" UlType="0" UlLimit="10" ServerUlLimitBypass="0">
<Download/>
<Upload/>
</SpeedLimits>
</User>
</Users>
</FileZillaServer>

Frage: Ich möchte nun erreichen, dass wenn der Benutzer sein Kennwort für das Webportal ändert, das ebenfalls in MD5 verschlüsselte Kennwort in der XML-Konfigurationsdatei des FTP-Servers landet. Das heißt: Der Benutzer ändert sein Kennwort gleichzeitig für das PHP-basierte Webportal und für sein FTP-Konto.

Wie kann ich es nun also erreichen, dass PHP die .xml-Datei einliest, den Benutzer nach seinem Namen in der Datei sucht, und das Kennwort durch das neue ersetzt?

Bitte um dringende Hilfe.

Gruß,
Ahnenforscher
Mitglied: 16568
12.11.2006 um 00:05 Uhr
Einfach, oder aber auch kompliziert, je nach Konfiguration.

Normalerweise solltest Du die Konfig-Datei in ein schreibbares Verzeichnis kopieren, von dort in das Programmverzeichnis (wo die XML-Datei liegt) kopieren, und die alte Datei mit Zeitstempel umbenannt wegsichern.
(gut wegen Backup und Wiederherstellung...

Alles schon mal erledigt ^^

Is abba gar ned sooo einfach...
(weil Du dem Webserver beibringen mußt, daß er das Wegsichern über das Webverzeichnis hinweg machen soll; da hat's dann bei mir damals unter Windows ein paar Problemchen gegeben... aber jemand mit mehr PHP-Verständnis, für den wäre das sicher ein Klacks )


Lonesome Walker
Bitte warten ..
Mitglied: 16568
12.11.2006 um 00:05 Uhr
*grr* Doppelpost...
Bitte warten ..
Mitglied: 17735
12.11.2006 um 09:41 Uhr
Hallo Lonesome Walker,

dein Post beschreibt aber leider nur, wie ich die Konfigdatei kopieren, bzw. eine Sicherheitskopie davon erstellen kann. Das wäre weiterhin kein Problem, allerdíngs muss ich wissen, wie man die Zeile mit dem Kennwort bei dem entsprechenden User per PHP bearbeitet.

Gruß,
Ahnenforscher
Bitte warten ..
Mitglied: 16568
12.11.2006 um 10:24 Uhr
Ups, pardon ^^

http://www.drweb.de/php/php-xml.shtml

http://de2.php.net/simplexml

Je nach PHP-Version.
Datei kplt. einlesen und wieder neu schreiben lassen.


Lonesome Walker
edit:
Ich hab' grade nochma im Projektordner nachgesehen, der Bookmark hier hat mir sehr weitergeholfen:
http://www.pc-magazin.de/praxis/windows/cm/page/page.php?table=pg&i ...
Bitte warten ..
Ähnliche Inhalte
Windows Userverwaltung
gelöst Lokalen Bentuzer Kennwort Ändern (9)

Frage von Adnan88 zum Thema Windows Userverwaltung ...

Windows Server
gelöst Login Kennwort für eine ganze Gruppe ändern (14)

Frage von Hendrik2586 zum Thema Windows Server ...

Windows Server
gelöst Windows Server 2012 R2 Kennwort ändern für Domäne (5)

Frage von Hendrik2586 zum Thema Windows Server ...

Neue Wissensbeiträge
Windows 10

Windows 8.x oder 10 Lizenz-Key aus dem ROM auslesen mit Linux

Tipp von Lochkartenstanzer zum Thema Windows 10 ...

Tipps & Tricks

Wie Hackt man sich am besten in ein Computernetzwerk ein

(38)

Erfahrungsbericht von Herbrich19 zum Thema Tipps & Tricks ...

Heiß diskutierte Inhalte
Festplatten, SSD, Raid
POS Hardware und alternativen zu Raid 1? (21)

Frage von Brotkasten zum Thema Festplatten, SSD, Raid ...

Viren und Trojaner
Verschlüsselungstrojaner simulieren (18)

Frage von AlbertMinrich zum Thema Viren und Trojaner ...

Ubuntu
gelöst Nextcloud 12 Antivirus App for Files (10)

Frage von horstvogel zum Thema Ubuntu ...

Exchange Server
Exchange Postfach leeren - nicht löschen (9)

Frage von AndreasOC zum Thema Exchange Server ...