Daten auf einen Serverladen => Sehr wichtig die Sicherheit !!
Marco
- php
Hallo zusammen,
ich habe von einem Kunden einen Auftrag erhalten, dass er im Browser Dateien auswählen kann und diese dann auf seinen Server hochladen kann. So dass wenn er dann an einem anderen Computer ist, sich dort auch wieder einloggen kann und die Daten herrunterladen kann.
Nun, dass sollte ja in PHP nicht ein grosses Problem darstellen. Doch was sehr (!) wichtig ist, dass er sich im Browser einloggen kann und das man das Passwort nicht abfangen kann. Einfach das eine gute Sicherheit gewährleistet ist !!
Wer kennt sich mit einer solchen Situation aus ?!?
Freue mich auf Eure Antworten !!
Schon jetzt Danke für Eure Hilfe !!
Hoi
Doch was sehr (!) wichtig ist, dass er sich im Browser einloggen kann und das man das Passwort nicht abfangen kann. Einfach das eine gute Sicherheit gewährleistet ist !!
SSL.
Du brauchst eine HTTPS-Verbindung, auf der das Passwort übermittelt wird (und am besten die Datei auch gleich).
Ciao,
Harry
Hoi
Doch was sehr (!) wichtig ist, dass er sich im Browser einloggen kann und das man das Passwort nicht abfangen kann. Einfach das eine gute Sicherheit gewährleistet ist !!
SSL.
Du brauchst eine HTTPS-Verbindung, auf der das Passwort übermittelt wird (und am besten die Datei auch gleich).
Ciao,
Harry
Ja das dachte ich mir mit dieser SSL, also muss ich ein Zertifikat anfordern bei verisign oder so ?!? Aber kann ich das Script trozdem schon schreiben, ich meine das mit dem Upload und alles ?!? Man muss ja dann einfach das Zertifikat auf dem Server installieren oder? Aber in php muss ich da nichts angeben oder ?!?
Nochwas, wenn ich dann eine solche Passwort überprüfung machen will kann ich das einfach so machen indem ich im Script schreibe:
if ($password == "super") {
einloggen }
else {
falsch }
Danke für die Hilfe !!
Tag
Ja das dachte ich mir mit dieser SSL, also muss ich ein Zertifikat anfordern bei verisign oder so ?!?
Äh eher nö. Du kannst Dein Zertifikat auch selber machen mit "make certificate". Dann steht halt da, daß das Zertifikat von einer Quelle ausgestellt wurde, die nicht vertrauenswürdig ist. Wenn Du keine Kunden verschrecken kannst langt das dreimal. Und ist vieeel billiger !
Aber kann ich das Script trozdem schon schreiben, ich meine das mit dem Upload und alles ?!? Man muss ja dann einfach das Zertifikat auf dem Server installieren oder?
Auch nö. Wenn Dein Server schon https beherrscht (d.h. im Fall von Apache mod_ssl installiert ist und er mit startssl gestartet wurde), brauchst Du bloß als Protokoll "https" vorne angeben.
Aber in php muss ich da nichts angeben oder ?!?
Nicht daß ich wüßte.
Nochwas, wenn ich dann eine solche Passwort überprüfung machen will kann ich das einfach so machen indem ich im Script schreibe:
if ($password == "super") {
Würde ich anders machen, und zwar:
if(md5($password)=="abc76536987987acbf2")
...
Dann kann auch jemand, der Deine Dateien lesen kann, das Passwort nicht bekommen.
Ciao,
Harry
Tag
Ja das dachte ich mir mit dieser SSL, also muss ich ein Zertifikat anfordern bei verisign oder so ?!?
Äh eher nö. Du kannst Dein Zertifikat auch selber machen mit "make certificate". Dann steht halt da, daß das Zertifikat von einer Quelle ausgestellt wurde, die nicht vertrauenswürdig ist. Wenn Du keine Kunden verschrecken kannst langt das dreimal. Und ist vieeel billiger !
Aber kann ich das Script trozdem schon schreiben, ich meine das mit dem Upload und alles ?!? Man muss ja dann einfach das Zertifikat auf dem Server installieren oder?
Auch nö. Wenn Dein Server schon https beherrscht (d.h. im Fall von Apache mod_ssl installiert ist und er mit startssl gestartet wurde), brauchst Du bloß als Protokoll "https" vorne angeben.
Aber in php muss ich da nichts angeben oder ?!?
Nicht daß ich wüßte.
Nochwas, wenn ich dann eine solche Passwort überprüfung machen will kann ich das einfach so machen indem ich im Script schreibe:
if ($password == "super") {
Würde ich anders machen, und zwar:
if(md5($password)=="abc76536987987acbf2")
...
Dann kann auch jemand, der Deine Dateien lesen kann, das Passwort nicht bekommen.
Ciao,
Harry
Hey Harry,
wow Du hast es ja mega mega im griff !! Kompliment, aber darf ich noch weiteres Fragen. Nun wenn ich dann die Seite lade, das heisst wenn das Passwort ok ist dan lade ich z.b http://www.super.ch/ok.html
aber das speichert sich ja dann im Browserverlauf und jemand kann das einfach auswählen und ist auch drin.... weisst du was ich meine.
wie kann ich das umgehen?
n'Abend
Nun wenn ich dann die Seite lade, das heisst wenn das Passwort ok ist dan lade ich z.b http://www.super.ch/ok.html
Also am einfachsten ist es für Dich glaube ich, wenn Du das ganze in einen .htaccess geschützten Bereich legst und dem Webserver den Login-Vorgang überlässt (natürlich wieder alles nur über https). Dann kann die URL ruhig vom Browser gespeichert bleiben - rein kommt man nur mit Passwort.
aber das speichert sich ja dann im Browserverlauf und jemand kann das einfach auswählen und ist auch drin.... weisst du was ich meine.
wie kann ich das umgehen?
Wenn Du's auf Biegen und brechen selber machen willst, dann mußt Du mit Sessions arbeiten und so über Seitengrenzen hinweg speichern, ob ein Benutzer authentifiziert ist oder nicht. Vorsicht aber, wenn die Session-ID in der URL auftaucht - dann steht die evtl. in fremden Logfiles als Referer drin !
http://www.php.net/manual/de/ref.session.php
Ciao,
Harry
(http://learn.to/quote)
n'Abend
Nun wenn ich dann die Seite lade, das heisst wenn das Passwort ok ist dan lade ich z.b http://www.super.ch/ok.html
Also am einfachsten ist es für Dich glaube ich, wenn Du das ganze in einen .htaccess geschützten Bereich legst und dem Webserver den Login-Vorgang überlässt (natürlich wieder alles nur über https). Dann kann die URL ruhig vom Browser gespeichert bleiben - rein kommt man nur mit Passwort.
aber das speichert sich ja dann im Browserverlauf und jemand kann das einfach auswählen und ist auch drin.... weisst du was ich meine.
wie kann ich das umgehen?
Wenn Du's auf Biegen und brechen selber machen willst, dann mußt Du mit Sessions arbeiten und so über Seitengrenzen hinweg speichern, ob ein Benutzer authentifiziert ist oder nicht. Vorsicht aber, wenn die Session-ID in der URL auftaucht - dann steht die evtl. in fremden Logfiles als Referer drin !
Ciao,
Harry
(http://learn.to/quote)
Nun ich möchte es eigentlich schon selbst machen, denn wenn ich das .htaccess mache, dann kommt ja immer dieses Standartfenster wo man dann denn Benutzername und Passwort eigeben muss. Ich möchte dies jedoch in einem Formular machen und das geht doch nicht oder ?!?
Weisst Du was ich meine ?!? Also das ich selbst Felder nehmen kann und optisch ansprechend gestallten kann und nicht einfach dieses Popup-Fenster !! Kann ich das jrgendwie verbinden ?!?
Tag
Nun ich möchte es eigentlich schon selbst machen, denn wenn ich das .htaccess mache, dann kommt ja immer dieses Standartfenster wo man dann denn Benutzername und Passwort eigeben muss. Ich möchte dies jedoch in einem Formular machen und das geht doch nicht oder ?!?
Dann brauchst Du Sessions:
http://www.php.net/manual/de/ref.session.php
Ciao,
Harry
Tag
Nun ich möchte es eigentlich schon selbst machen, denn wenn ich das .htaccess mache, dann kommt ja immer dieses Standartfenster wo man dann denn Benutzername und Passwort eigeben muss. Ich möchte dies jedoch in einem Formular machen und das geht doch nicht oder ?!?
Dann brauchst Du Sessions:
http://www.php.net/manual/de/ref.session.php
Ciao,
Harry
Jup, okey habe zwar bis jetzt noch nie mit diesen gerabeitet aber das werde ich schaffen :o) Nun kannst du mir noch helfen wie genau das geht mit einem eigenen SSL zertifikat machen. Kann ich das einfach mit einem Befehl machen oder wie geht das ?!?
Hey Du bist echt nett, danke für Deine Hilfe !!
Moin
Nun kannst du mir noch helfen wie genau das geht mit einem eigenen SSL zertifikat machen. Kann ich das einfach mit einem Befehl machen oder wie geht das ?!?
"Selber machen" setzt voraus, daß Du vollen Zugriff auf Deinen Server hast und nicht nur irgendwelchen gemieteten Webspace (wenn Du das hast, dann mußt Du Dich bei Deinem Provider erkundigen).
Da steht das für Linux beschrieben. Gilt aber im Endeffekt auch für praktisch alle Unix-Derivate.
Ciao,
Harry
Moin
Nun kannst du mir noch helfen wie genau das geht mit einem eigenen SSL zertifikat machen. Kann ich das einfach mit einem Befehl machen oder wie geht das ?!?
"Selber machen" setzt voraus, daß Du vollen Zugriff auf Deinen Server hast und nicht nur irgendwelchen gemieteten Webspace (wenn Du das hast, dann mußt Du Dich bei Deinem Provider erkundigen).
Da steht das für Linux beschrieben. Gilt aber im Endeffekt auch für praktisch alle Unix-Derivate.
Ciao,
Harry
Also das mit dem vollen Zugriff ist keine Problem das habe ich, aber was ich auch habe ist ein NT-Server. Gibts da auch jrgendwo ein passendes Tutorial ?!?
Danke und Gruss Marco
Tag
Also das mit dem vollen Zugriff ist keine Problem das habe ich, aber was ich auch habe ist ein NT-Server. Gibts da auch jrgendwo ein passendes Tutorial ?!?
Jep: http://tud.at/programm/apache-ssl-win32-howto.php3
Mehr findest Du mit Google: http://www.google.de/search?sourceid=navclient&hl=de&q=SSL+Windows+Apache
Und jetzt aber wirklich http://learn.to/quote ;)
Ciao,
Harry
Hi,
Nun ich möchte es eigentlich schon selbst machen, denn wenn ich das
.htaccess mache, dann kommt ja immer dieses Standartfenster wo man
dann denn Benutzername und Passwort eigeben muss. Ich möchte dies
jedoch in einem Formular machen und das geht doch nicht oder ?!?
genau dadurch gibst Du aber möglicherweise Sicherheit auf.
Server Authentication läuft über entsprechende HTTP-Header und ist
damit eben genau _nicht_ im Verlauf, der Browser History etc. ge-
speichert. Wenn Du Server Authentication über HTTPS machst, dann hast
Du die beste mögliche Kombination, was Sicherheit angeht. Und die
vom Browser geöffnete Box ist ein erkennbares Zeichen dafür, daß
hier ein zuverlässiges Standardprotokoll verwendet wurde und keine
improvisierte Amateurlösung (sorry).
Server Authentication über Sessions zu simulieren erzwingt, ein
Session-Protokoll zu verwenden. Dieses nutzt entweder Cookies (will
das Dein Anwender?) oder URL-Parameter (_dann_ hast Du Informationen,
wenngleich verschlüsselte, in Deiner History, was Du doch gerade
vermeiden wolltest).
Viele Grüße
Michael