Hallo,
ich moechte ein PHP cgi schreiben fuer meinen Server bei alfahosting.
Dieses PHP soll mehrere Email-Accounts oeffnen und eingegangene Emails
darstellen. Die zugangsdaten zu den POP3-accounts befinden sich auf dem
Server. Fuer das PHP Script nehme ich ein weiteres Password.
Damit ich nicht jedesmal das Password eingeben muss, speichere ich eine
erfolgte Zugangsberechtigung fuer die jeweilige IP ab.
Da wollte ich mal wissen, wie sicher sowas ist.
Bei meinem Smartphone bin ich oefters im Internet mit wechselnden IPs,
da muss ich jedesmal neu einloggen (Nachteil).
Aber ein anderer koennte meine fruehere IP erwischen und dann koennte er
meine Emails lesen. Diese Wahrscheinlich tendiert aber gegen 0.
Gibt es andere Risiken bei meinem Programm?
Gruss, J.
Die PHP-sessions kenne ich zwar, aber wollte sie aus 4 Gruenden nicht
benutzen:
1. Mein CGI wird sowieso nur von einer Persion (ich) benutzt, es ist gar
nicht notwendig, dass mehrere Sitzungen parallel verwaltet werden
muessen.
2. Das Skript laeuft auf einen gemieteten Server, dort kann ich gar
keine Einstellungen (php.ini) vornehmen. Von anderen CGI weiss ich, dass
Alfahosting ziemlich viel nicht aktiviert hat.
3. Ich vermute, dass etablierte Programme und Programmiertechniken eher
ausgehebelt/gehackt werden, als individuelle Bastelloesungen.
4. Eine PHP-Session wird beendet, wenn man sich ausloggt (oder
Browserfenster schliesst??). Genau aber das mache ich ja auf meinem
Arbeitsrechner oder Smartphone. Trotzdem sollte die Zugangsberechtigung
gemerkt werden.
Gruss, J.
Die Daten "IP-Adresse" und "Zeitpunkt der Authentifizierung" speichere
ich am Server in einer Temporaer-Datei ab, die auch von aussen gelesen
werden kann mit www.meineseite.de/tmp/pop.txt.
1
file_put_contents($pathtmp."pop.txt",$cont);
Das muss nicht sein, es gibt bessere Orte, an die man von aussen nicht
zugreifen kann.
Jürgen G. schrieb:> 1. Mein CGI wird sowieso nur von einer Persion (ich) benutzt, es ist gar> nicht notwendig, dass mehrere Sitzungen parallel verwaltet werden> muessen.
Macht nichts, Sessions kosten nichts.
> 2. Das Skript laeuft auf einen gemieteten Server, dort kann ich gar> keine Einstellungen (php.ini) vornehmen. Von anderen CGI weiss ich, dass> Alfahosting ziemlich viel nicht aktiviert hat.
Sessions sind auf jeden Fall aktiviert.
> 3. Ich vermute, dass etablierte Programme und Programmiertechniken eher> ausgehebelt/gehackt werden, als individuelle Bastelloesungen.
Das nennt sich "Security by Obscurity", und ist i.d.R. ein Trugschluss,
außer man weiß genau was man tut. In diesem Fall ist deine Lösung
schlechter als die etablierte, welche auf Cookies basiert statt auf
IP-Adressen.
> 4. Eine PHP-Session wird beendet, wenn man sich ausloggt (oder> Browserfenster schliesst??). Genau aber das mache ich ja auf meinem> Arbeitsrechner oder Smartphone. Trotzdem sollte die Zugangsberechtigung> gemerkt werden.
Die Lebensdauer des Session-Cookies lässt sich konfigurieren. Zur Not
musst du von Hand einen Cookie setzen. Der Login basierend auf der
IP-Adresse ist jedenfalls keine gute Lösung.
> Die Lebensdauer des Session-Cookies lässt sich konfigurieren. Zur Not> musst du von Hand einen Cookie setzen. Der Login basierend auf der> IP-Adresse ist jedenfalls keine gute Lösung.
Bei einem Firmennetzwerk haben alle PCs nach aussen hin die gleiche IP.
D.h. wenn ich mich von meinem PC einlogge, hat mein Kollege auch Zugriff
auf den Inhalt.
Meinst Du das mit "keine gute Lösung"?
Ansonsten haette ich gedacht, dass die IP-Adresse sich schwieriger
faelschen laesst, als dass man ein Cookie nachahmt.
Da ich auch vom Firmenrechner meine Emails anschauen moechte, habe ich
mittlerweilen auch ein Cookie implementiert, d.h. IP-Adresse muss
stimmen und Cookie.
Bliebe noch die Frage, ob eine Session-Verwaltung ggue eines "Cookie von
Hand setzen" noch Vorteile bietet (ausser Uebersichtlichkeit)??
Gruss, J