| PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Post your PHP questions here! |
 |
|

30-08-2009, 02:39
|
|
bobafett
Registrierter Benutzer
|
|
Registriert seit: Aug 2009
Beiträge: 8
|
|
Verständnissfrage zu einem sicheren PHP-Login
Halle alle zusammen,
ich bin seit einigen Tagen dabei meine Web-Applikationen auf Fehler, Probleme und Sicherheitslücken zu prüfen und entsprechend zu fixen/anzupassen.
Vorgestern war der Login-Prozess an der Reihe. Diesen würde ich gerne insofern weiter ausbauen, als dass ich den eingeloggten Benutzer an seine IP binden möchte. Aktuell gibt es für jeden Benutzer ein Sitzungslimit von 30 Minuten. Sollte also der Benutzer an eine IP gebunden, und zufällig kurz nach dem einloggen von seinem Provider eine neue IP zugewiesen bekommen, würde er für die restliche Zeit sich nicht mehr einloggen können.
Aus diesem Grunde würde ich das ganze eher auf einen Adressbereich beschränken, was im falle vom obigen Beispiel dann kein Problem mehr sein sollte. Das dann auch weitere Logins aus dem selben Adressbereich für den Benutzer möglich sind muss man wohl in Kauf nehmen.
Nun allerdings zu meiner eigentlichen Frage: Wie kann ich das ganze mit dem IP Adressbereich am besten umsetzen? Soweit ich mich informiert habe, besitzen einige Provider mehrere verschiedene Adressbereiche. Arcor z. B. hat die 88.x, 134.x, 138.x. reserviert. Habt ihr etwas ähnliches, oder genau DAS schon einmal umgesetzt, und wenn Ja .. wie?! Bevor ich mir hier das Teil hier parse und in meine Datenbank einpflege ( ftp://ftp.ripe.net/ripe/stats/membership/alloclist.txt) um zu prüfen welche Adressbereiche erlaubt sind, würde ich mich über ein paar Antworten zu dieser Problematik sehr freuen
cheers
Geändert von bobafett (30-08-2009 um 02:44 Uhr)
|

30-08-2009, 09:47
|
|
h3ll
Registrierter Benutzer
|
|
Registriert seit: Mar 2008
Beiträge: 2.328
|
|
Was ist, wenn der Benutzer zwei unterschiedliche Provider verwendet?
|

30-08-2009, 10:01
|
|
bobafett
Registrierter Benutzer
|
|
Registriert seit: Aug 2009
Beiträge: 8
|
|
Darüber habe ich mir natürlich auch Gedanken gemacht.
In diesem Fall hat der Benutzer dann Pech
Da es dem Benutzer aber selbst obliegt seine Sitzung an einen Adressbereich zu binden (das ganze versteht sich optional!), ist er sich dieser Sache wohl bewusst wenn er sich dann mal nebenbei vom Netbook oder iPhone etc. nicht einloggen kann.
cheers
Geändert von bobafett (30-08-2009 um 10:03 Uhr)
|

30-08-2009, 10:33
|
|
combie
PHP Expert
|
|
Registriert seit: May 2006
Beiträge: 2.925
|
|
Ein echter (DA)User denkt sich:
Zitat:
Schei** Seite. Tuts schon wieder nicht.
Und Tschüss....
|
Vergiss die IP !
|

30-08-2009, 12:37
|
|
bobafett
Registrierter Benutzer
|
|
Registriert seit: Aug 2009
Beiträge: 8
|
|
Ich denke das warum spielt hier keine Rolle, da ich es auf jeden Fall implementieren werde. Demnach wären Hilfreiche Lösungsvorschläge doch angebrachter als das bisherige.
Vielen Dank.
cheers
|

30-08-2009, 14:45
|
|
pekka
PHP Master
|
|
Registriert seit: Jun 2001
Ort: Köln
Beiträge: 6.608
|
|
Hm, die übliche Lösung für das Problem sind doch Session-Cookies, oder? Funktionieren Providerübergreifend.
Ansonsten wirst du nicht drumrumkommen, die IPs deiner Besucher auf ihren RIPE-Record abzuklopfen und wenn es noch derselbe ist, die Session zuzulassen. Ich kann mir aber Fälle vorstellen, in denen das zu falschen Ergebnissen führt, etwa bei Reseller-Providern, die IPs von einem Großhändler "mieten".
Und wahnsinnig gefährlich ist es ohnehin: Wenn Du damit Sessions fortsetzen willst, ohne eine Passwortabfrage zwischenzuschieben, schaffst Du eine riesige, komplizierte Sicherheitslücke, Optional hin oder her.
|

30-08-2009, 15:00
|
|
bobafett
Registrierter Benutzer
|
|
Registriert seit: Aug 2009
Beiträge: 8
|
|
Zitat:
Zitat von pekka
Und wahnsinnig gefährlich ist es ohnehin: Wenn Du damit Sessions fortsetzen willst, ohne eine Passwortabfrage zwischenzuschieben, schaffst Du eine riesige, komplizierte Sicherheitslücke, Optional hin oder her.
|
Da hast du vollkommen Recht, zum Glück mache ich das ja auch nicht
|

30-08-2009, 15:14
|
Kropff
  Administrator
|
|
Registriert seit: Mar 2002
Ort: Köln
Beiträge: 11.310
|
|
Zitat:
Zitat von bobafett
Ich denke das warum spielt hier keine Rolle, da ich es auf jeden Fall implementieren werde. Demnach wären Hilfreiche Lösungsvorschläge doch angebrachter als das bisherige.
|
So einfach solltest du dir das nicht machen. Es gibt tatsächlich Provider, die bei einem User ständig die IP ändern. AOL macht das zum Beispiel etwa alle 30 Sekunden und noch irgendeiner, der aus Schweden kommt. Mir zerhauts bei solchen Usern regelmäßig die Zugriffsstatisitik, da die auch IP-basiert ist. Insofern halte ich das für keine gute Idee. Aber mit Begründung  .
Peter
__________________
Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
Meine Seite
|

30-08-2009, 15:20
|
|
bobafett
Registrierter Benutzer
|
|
Registriert seit: Aug 2009
Beiträge: 8
|
|
Zitat:
Zitat von Kropff
Es gibt tatsächlich Provider, die bei einem User ständig die IP ändern
|
Solange sich die jeweils neue IP im gleichen Adressbereich befindet sollte es da keine Probleme geben. Daher ja auch meine Frage wie man dies am besten umsetzen kann. Wenn sich keine vernünftige Lösung finden kann, wird es natürlich auch nicht implementiert .. ich versuche es allerdings umzusetzen :-)
Wie gesagt .. es obliegt ja dem Benutzer selbst dieses feature zu nutzen, demnach sehe ich da auch keinerlei Probleme. Es wird ja niemand genötigt das auch zu nutzen!
cheers
Geändert von bobafett (30-08-2009 um 15:23 Uhr)
|

30-08-2009, 15:34
|
Kropff
  Administrator
|
|
Registriert seit: Mar 2002
Ort: Köln
Beiträge: 11.310
|
|
Zitat:
Zitat von bobafett
Solange sich die jeweils neue IP im gleichen Adressbereich befindet sollte es da keine Probleme geben.
|
Ups, das habe ich übersehen. Allerdings ändert sich imho die Liste permanent. Du müsstet also die Datei (wenn sie denn überhaupt immer aktuell ist) eigentlich täglich parsen. Außerdem verstehe ich nicht, wieso das ein Mehr an Sicherheit bedeutet?
Peter
__________________
Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
Meine Seite
|

30-08-2009, 16:02
|
AmicaNoctis
 Moderatorin
|
|
Registriert seit: Jul 2009
Beiträge: 5.550
|
|
Ich konnte in der Liste kein "77.179" finden (meine aktuelle IP). Ich bin bei 1und1 und mein Pool gehört zu mediaways.net. Evtl. ist die Liste nicht vollständig oder nicht aktuell.
Gruß,
Anja
|

30-08-2009, 16:38
|
|
PHP-Desaster
PHP Expert
|
|
Registriert seit: Mar 2006
Beiträge: 3.104
|
|
Zitat:
Zitat von AmicaNoctis
Ich konnte in der Liste kein "77.179" finden (meine aktuelle IP). Ich bin bei 1und1 und mein Pool gehört zu mediaways.net. Evtl. ist die Liste nicht vollständig oder nicht aktuell.
|
Doch, ist in der Liste:
Code:
de.mediaways
Telefonica Deutschland GmbH
...
20061117 77.176/12 ALLOCATED PA
...
Ich erkläre aber besser kurz, wieso hier die 77.179 bei ist. Eine IP besteht aus 4 Bytes, zwischen jedem wird in der Dottedform ein Punkt gesetzt. 77.179 sind also 2 Bytes. Die Ziffer hinter dem Slash in dem Adressbereich 77.176/12 beschreibt, wieviele Bits fest sind, d.h. den eigentlichen Bereich adressieren. Hier sind dies 12 Bits, d.h. das erste Byte und die 4 obersten Bits des Folgebits.
Wie sieht unsere Adresse in Bits aus?
Code:
77.176 <=> 1001101.10110000
Dabei sind nur die ersten 12 Bits für die Bereichsadressierung nötig. Wie sieht deine IP aus?
Code:
77.179 <=> 1001101.10110011
So, und wie du siehst, liegt deine IP sehrwohl innerhalb des allozierten Adressbereichs
|

30-08-2009, 16:43
|
 |
onemorenerd
 Moderator
|
|
Registriert seit: Mar 2005
Ort: Berlin
Beiträge: 9.481
|
|
Was genau versprichst du dir denn davon? Vor was willst du dich oder deine User schützen?
|

30-08-2009, 17:19
|
AmicaNoctis
 Moderatorin
|
|
Registriert seit: Jul 2009
Beiträge: 5.550
|
|
Sorry, alles klar, hatte vergessen, dass es ja auch "unrunde" Subnet Masken gibt *schäm*
|

30-08-2009, 19:10
|
wahsaga
 Moderator
|
|
Registriert seit: Sep 2001
Beiträge: 24.486
|
|
Das ganze optional anbieten, schön und gut - macht heise.de in seinem Forum bspw. auch so. Allerdings auf genau die aktuelle IP beschränkt.
Wer das Feature nutzt, sollte wissen, was er tut.
Es auf ganze IP-Bereiche auszudehnen, da halte ich aber nichts von. Die Wahrscheinlichkeit, dass ich und der, der sich in meinen Account "reinhacken" möchte (in dem er bspw. meinen Session-Cookie entführt oder was auch immer), uns beide innerhalb von einem solchen befinden, ist in der deutschen Providerlandschaft eh schon ziemlich hoch. (Wie hoch, käme jetzt darauf an, wie weit man "IP-Bereich" fasst.)
Und wenn ihm wirklich was an meinen Daten/meinem Account liegt - dann "verschafft" er sich halt eine IP aus dem gleichen Bereich. Wie dein System diesbezüglich arbeitet, dass weiss er ja entweder schon aus deiner Beschreibung, mit der du dem Nutzer dieses optionale Feature anbietest, oder er findet's über einen Testaccount selber raus.
Wenn du wirklich IP-Bereiche zulässt, gaukelt das System also m.E. eine Zusatzsicherheit vor, die im Zweifelsfalle gar nicht gegeben ist. Und das ist etwas, was man tunlichst unterlassen sollte.
Also entweder auf eine IP beschränken (dann ist es nur was für Nutzer, deren Zugang entsprechende Voraussetzungen mitbringt, wie bspw. IP gleichbleibend über einen "längeren" Zeitraum) - oder ganz bleiben lassen ... meine Meinung.
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
|
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
|
| Themen-Optionen |
|
|
| Thema bewerten |
|
|
Forumregeln
|
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.
HTML-Code ist aus.
|
|
|
|
PHP News
|