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, 6249 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 ..
Neuester Wissensbeitrag
Ähnliche Inhalte
Batch & Shell
gelöst Per Batch FTP-Server Dateien ändern (1)

Frage von Marlon1 zum Thema Batch & Shell ...

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 ...

Windows Server
gelöst Kennwort Komplexitätsvorraussetzungen abschwächen bzw ändern (11)

Frage von mollotoff zum Thema Windows Server ...

Heiß diskutierte Inhalte
Windows Userverwaltung
Ausgeschiedene Mitarbeiter im Unternehmen - was tun mit den AD Konten? (33)

Frage von patz223 zum Thema Windows Userverwaltung ...

LAN, WAN, Wireless
FritzBox, zwei Server, verschiedene Netze (21)

Frage von DavidGl zum Thema LAN, WAN, Wireless ...

Viren und Trojaner
Aufgepasst: Neue Ransomware Goldeneye verbreitet sich rasant (20)

Link von Penny.Cilin zum Thema Viren und Trojaner ...