Passwortgeschützes Ftp Via Browser-login Zugänglich Machen
#1 _The Grim Reaper_
geschrieben 24. März 2009 - 23:11
ich hab einen accountgeschützen FTP-Server am laufen - mit Filezilla. Ist ja alles schön einfach, doch muss man, wenn man mit einem Account + Passwort über den Browser auf den FTP zugreifen möchte, die Angaben in der Adressleite angeben.
Ich habe mir das nun so gedacht, da ein ungeschützter Zugriff nicht in Frage kommt:
Man erstellt eine HTML-Seite, welche lediglich ein Feld zum Eintragen des Benutzernamens und des Passworts beinhaltet. Wenn man diese eingetragen hat und dann auf einen Button drückt, sollten die Angaben automatisch mit der IP des Servers in die Adressleiste eingetragen und bestätigt werden, sodass man direkt danach Zugriff auf den FTP bekommt.
Allerdings sind meine Kenntnisse über HTML sehr begrenzt, sodass ich keinerlei Ahnung habe, wie ich diese Idee in die Realität umsetzen könnte.
Gibt es irgendwo ein Sample, was ich nur anpassen bräuchte oder kann mir hier jemand direkt helfen.
Da der FTP von mehreren Personen genutzt werden soll, kann ich nicht von jedem verlangen, denn Filezilla Clienten zu nutzen.
MfG TGR
Anzeige
#2
geschrieben 24. März 2009 - 23:51
Zitat
Hatte das selbe Problem, ftp Server und mehrere Accounts, wenn ich anonymous deaktiviert hatte kam automatisch ein login Fenster doch anonymous wollte ich behalten. Hatte den Leuten erst klargemacht wie man sich mit dem iE als anderer ftp User einloggt doch die meisten nutzten Firefox und der kann das nicht (ausser über die URL). Denen hab ich dann geraten sich das addon FireFTP zu installieren, das ist klein, schnell und vor allem einfach.
#3 _The Grim Reaper_
geschrieben 25. März 2009 - 00:03
#4
geschrieben 25. März 2009 - 00:08
Bei meinem FTP Server ist es zumindest so (den von Solaris mitgelieferten)
Dieser Beitrag wurde von Django2 bearbeitet: 25. März 2009 - 00:10
#5
geschrieben 25. März 2009 - 00:38
Eine andere Möglichkeit wäre einen Webserver zu installieren und diesen dann ein PHP FTP-Webclient-Script hosten zu lassen. Dann wäre das Systemunabhängig.
Dieser Beitrag wurde von Nigg bearbeitet: 25. März 2009 - 00:39
#6 _The Grim Reaper_
geschrieben 25. März 2009 - 00:40
Die HP ist zwar schon 5 Jahre alt, doch da findet man sich sicher wieder schnell rein.
Zitat (Nigg: 25.03.2009, 00:38)
Ja ich hab ja schon gesucht, doch scheine ich nicht nach dem richtigen zu suchen und habe daher noch nichts gefunden.
#7
geschrieben 27. März 2009 - 09:37
<-snip->
So das sollte funktionieren Einfach in eine datei namens index.php kopieren und raufladen
Dieser Beitrag wurde von Ludacris bearbeitet: 28. März 2009 - 09:16
#8 _The Grim Reaper_
geschrieben 27. März 2009 - 12:08
vielen dank für deine Hilfe, doch leider funktioniert es nicht - deer FTP ist zu 100% erreichbar - klappt über die URL Leiste und die Angaben von PW und User stimmen. Wenn ich alles in die Felder eingebe und dann auf login klicke, wird die Seite neu geladen und der FTP Server erhält laut Log nichtmal eine Anfrage.
Darf ich die nette Werbung entfernen?
MfG TGR
#9
geschrieben 27. März 2009 - 22:28
<-snip->
du musst die "serverurl" halt mit der url deines servers austauschen
Dieser Beitrag wurde von Ludacris bearbeitet: 28. März 2009 - 09:16
#10 _The Grim Reaper_
geschrieben 27. März 2009 - 22:57
Außerdem steht jetzt auch immer im FF Browserfenster der Eintrag:
ftp://$username:$password@serverurl
was wohl nicht sein sollte.
Was ist eigentlich hiermit - da kann was nichht stimmen: <form method="post" action="login.php">
ich hab keine login.php und das steht dann in meiner url -> superprovider.de/login.php aber da es das nicht gibt, kommt die Startseite ^^.
OK ich hab das jetzt mal in das umgewandelt und der FTP Server wird angesprochen, doch werden die Werte vom Namen + Passwort nicht übermittelt:
Zitat
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title></title>
</head><br />
<!-- Copyright © Daniel Steiner, 2008. Alle Rechte vorbehalten.
Dieses Script darf weitergegeben werden, allerdings darf dieser Copyright
hinweis nicht entfernt werden. -->
<body>
<?php
echo
$username=$_POST['username'];
$password=$_POST['password'];
header("Location: ftp://$username:$[email protected]");
?>
<form method="post" action="ftp://server.org">
<label>Username:</label>
<input type="text" name="username" value="name" />
<label>Passwort:</label>
<input type="password" name="password" value="12345" />
<input type="submit" value="Login" />
</form>
</body>
</html>
Leider sagt der Log Name + Passwort inkorrekt und es erscheint danach automatisch das Eingabefenster, was erscheint, wenn ich die ftp Adresse des Server in die URL eingebe - da müsste iwie ne schleife sein, wenn das pw falsch ist, dass man es erneut über das php Dokument versuchen kann.
Dieser Beitrag wurde von The Grim Reaper bearbeitet: 27. März 2009 - 23:42
#11
geschrieben 28. März 2009 - 09:11
edit, du hast den falschen code genommen, du musst den da nehmen
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title></title> </head><br /> <!-- Copyright (c) Daniel Steiner, 2008. Alle Rechte vorbehalten. Dieses Script darf weitergegeben werden, allerdings darf dieser Copyright hinweis nicht entfernt werden. --> <?php $username=$_POST['username']; $password=$_POST['password']; //Hier einfach statt localhost die URL deines Servers eingeben // echo"<script>window.location.href = 'ftp://$username:$password@serverurl'</script>"; ?> <body> <!--Login bereich Felder bitte so belassen wie sie sind, position kann verändert werden.--> <form method="post" action="login.php"> <label>Username:</label> <input type="text" name="username" value="name" /> <label>Passwort:</label> <input type="password" name="password" value="12345" /> <input type="submit" value="Login" /> </form> </body> </html>
Dieser Beitrag wurde von Ludacris bearbeitet: 28. März 2009 - 09:15
#12
geschrieben 28. März 2009 - 09:51
Also bei meinem FTP mache ich das so:
<?php if($_POST['send']) { $name = $_POST['name']; $pass = $_POST['pass']; if($name == "" OR $pass == "") { echo 'Bitte alle Felder ausfüllen'; } else { header('Location: ftp://'.$name.':'.$pass.'@serverurl'); } } else { ?> <html> <body> <form action="" method="post"> Username:<br> <input type="text" name="name"><br> Passwort:<br> <input type="password" name="pass"><br> <input type="submit" name="send" value="Login"> </body> </html> <?php } ?>
Gruß Hannes
Dieser Beitrag wurde von h-a-n-n-e-s bearbeitet: 28. März 2009 - 09:53
#13
geschrieben 28. März 2009 - 10:48
#14 _The Grim Reaper_
geschrieben 28. März 2009 - 10:54
Zitat (h-a-n-n-e-s: 28.03.2009, 09:51)
Also bei meinem FTP mache ich das so:
<?php if($_POST['send']) { $name = $_POST['name']; $pass = $_POST['pass']; if($name == "" OR $pass == "") { echo 'Bitte alle Felder ausfüllen'; } else { header('Location: ftp://'.$name.':'.$pass.'@serverurl'); } } else { ?> <html> <body> <form action="" method="post"> Username:<br> <input type="text" name="name"><br> Passwort:<br> <input type="password" name="pass"><br> <input type="submit" name="send" value="Login"> </body> </html> <?php } ?>
Gruß Hannes
Hab das mal probiert - bleibe immer auf der Seite, egal was ich eingebe und der Server wird nichtmal angepingt - also dann bei mir index.php - Server ist superprovider.de, wo die php liegt und diese soll immer angesprochen werden und dann nach richtiger Eingabe soll auf meinen FTP Umgeleitet werden.
MfG TGR
Zitat (Ludacris: 28.03.2009, 10:48)
Liegt dass dann an Superprovider.de - kann ich mir aber nicht vorstellen, da sobald die Seite geladen ist, der Server doch damit nichts mehr zu tun haben sollte.
#15
geschrieben 28. März 2009 - 11:06
ftp://username:passwort@ftpserver
Dieser Beitrag wurde von h-a-n-n-e-s bearbeitet: 28. März 2009 - 11:07