Des User Computername herausfinden. Wie?
Siramon
- php
hallo forum
ich arbeite gerade an einem autorisations system in php.
um die sicherheit hochzuschrauben, wollte ich den computernamen des benutzers in der session mitverschluesseln.
leider finde ich die servervariable im manual dafuer nicht :(
frage: gibts die wirklich nicht oder wisst ihr einen workaround wie ich zum namen des computer komme?
merci fuer eure hilfe
tschuess
Siramon
Hi,
um die sicherheit hochzuschrauben, wollte ich den computernamen des benutzers in der session
mitverschluesseln.
[...]
frage: gibts die wirklich nicht oder wisst ihr einen workaround wie ich zum namen des computer komme?
Name des Computers? Du kannst höchstens die IP-Adresse oder den DNS-String verwenden:
REMOTE_ADDR (http://php.net/manual/de/language.variables.predefined.php)
mfg
CK1
<img src="http://wwwtech.de/images/banner.jpg" alt="">
http://wwwtech.de/
http://wwwtech.de/moorhuhn/
hi christian
Name des Computers? Du kannst höchstens die IP-Adresse oder den DNS-String verwenden:
REMOTE_ADDR (http://php.net/manual/de/language.variables.predefined.php)
habs mir fast gedacht, dass das nicht funzt.
komisch ist nur dass ich gewisse infos ueber den benutzer herausbekomme (browser, ip) und diese info (name des compis) nicht :-(
ip-adresse bringt mir leider nix. die aendert bei jedem neuen dial-in (vorausgesetzt man hat keine standleitung).
vielleicht weiss ja noch jemand einen work-around oder hat infos, dass diese funktion in einer spaeteren version von php eingefuegt wird.
tx a lot christian
und tschuess an alle
Siramon
*geht jetzt ins wochenende juhuu*
allen ein schoenes WE
Hi auch,
komisch ist nur dass ich gewisse infos ueber den benutzer herausbekomme (browser, ip)
Du "bekommst" gar keine Informationen heraus.
Die IP-Adresse ist notwendig, damit über IP überhaupt eine Kommunikation stattfinden kann. (Woher sollte der Angesprochene sonst wissen, wem er antworten muß?) Sie ist einfach Bestandteil des entsprechenden Protokolls. (Achtung, technischer Laie spricht ...) Aber sie liefert Dir eben gerade *keine* Brauchbaren Informationen zur *dauerhaften* Identifizierung eines Anwenders, wie Du selbst gemerkt hast.
Der Browser-String wird *vom* Browser selbst bewußt mitgeschickt. Das erlaubt dem Hersteller des Browsers, zu beobachten, wo sein Produkt eingesetzt wird.
Nebenbei erlaubt es den Seitengestaltern auch, um die Fehler der Browser (Abweichungen vom jeweiligen Standard) mühsam herum zu programmieren. :-(
Falls mir diese Art der Ausgespähtheit nicht gefällt, gehe ich in die Konfiguration des Browsers (unter Windows: In die Registry) und ändere diesen Eintrag. Das war's dann mit dem "herauskriegen".
ip-adresse bringt mir leider nix. die aendert bei jedem neuen dial-in (vorausgesetzt man hat keine standleitung).
Yep. Was Du haben willst, ist ein Sitzungsprotokoll. HTTP ist keines. Das ist kein ganz neues Problem ...
vielleicht weiss ja noch jemand einen work-around
Auf den unzureichenden Grundlagen von HTTP selbst ein Sitzungsprotokoll aufbauen, indem Du irgendwelche Informationen ständig hin- und her schickst.
Cookies sind eines der Mittel, die dafür eingesetzt werden (und Du kennst die Mentalität der Anwender bezüglich Cookies ...).
mfG - Michael
Hallo,
Auf den unzureichenden Grundlagen von HTTP selbst ein Sitzungsprotokoll aufbauen, indem Du irgendwelche Informationen ständig hin- und her schickst.
@All:
'unzureichend' ist m.E. der falsche Begriff, da HTTP bewußt kein sessionfähiges Protokoll ist.
Cookies sind eines der Mittel, die dafür eingesetzt werden (und Du kennst die Mentalität der Anwender bezüglich Cookies ...).
Cookies sind eine nachträgliche Krücke, um so etwas ähnliches wie ein Sitzung zu implementieren.
@Siramon:
Und Computernamen sind auch bei sitzungsorientierten Protokollen kein geeignetes Mittel, um sicherheitsrelevante Methoden zu implementieren. Erstens ist nicht gesagt, daß jerder Rechner einen eindeutigen Namen hat, zweitens gibt es unzählige Rechner, an denen mehr als ein Benutzer arbeitet.
Grüße
Klaus
hallo klaus, hallo michael
Auf den unzureichenden Grundlagen von HTTP selbst ein Sitzungsprotokoll aufbauen, indem Du irgendwelche Informationen ständig hin- und her schickst.
@All:
'unzureichend' ist m.E. der falsche Begriff, da HTTP bewußt kein sessionfähiges Protokoll ist.
das war mir klar und auch nicht das ziel (erklaerung, siehe unten)
@Siramon:
Und Computernamen sind auch bei sitzungsorientierten Protokollen kein geeignetes Mittel, um sicherheitsrelevante Methoden zu implementieren. Erstens ist nicht gesagt, daß jerder Rechner einen eindeutigen Namen hat, zweitens gibt es unzählige Rechner, an denen mehr als ein Benutzer arbeitet.
du hast die sicherheit angesprochen.
kurze erklaerung worum es mir ging.
bei meiner website benutze ich ein "normales" autorisations system. d.h. der benutzer loggt sich ein und hat die moeglichkeit das cookie (die autorisation) auf 3 monate zu verlaengern. ich rate davon ab. aber die moeglichkeit gebe ich. (ich kenne mein surfverhalten ;-)
um das cookie sichere zu machen, wollte ich eine benutzerspezifische information im sicherheitsstring (jetzt bestehend aus passwort und login) mitverschluesseln.
ich haette natuerlich abgefragt, ob ein computername vorhanden ist oder nicht.
das ganze war eigentlich mehr gedacht, um ein kopieren eines cookies auf eine andere maschine, oder das abfangen des cookiepacketes zu erschweren.
diese moeglichkeit faellt natuerlich jetzt weg. (technisch so nicht moeglich)
natuerlich waere das einloggen mit falschem rechnername nicht verunmoeglich worden. der user koennte ja auch mal von einem andern compi aus die seite besuchen. das cookie wuerde geloescht und eine neue autorisation waere erforderlich.
ich werde jetzt das ganze wahrscheinlich mit einer ip abfrage realisieren - natuerlich nur fuer benutzer mit einer eigenen ip (kabelmodembesitzer oder so) - optional versteht sich.
fuer andere ideen waere ich euch sehr dankbar.
tx a lot
gruesse
Siramon
hallo michael
Auf den unzureichenden Grundlagen von HTTP selbst ein Sitzungsprotokoll aufbauen, indem Du irgendwelche Informationen ständig hin- und her schickst.
Cookies sind eines der Mittel, die dafür eingesetzt werden (und Du kennst die Mentalität der Anwender bezüglich Cookies ...).
bei meinem Projekt, ist es dem benutzer ueberlassen ober cookies will oder nicht.
uebrigens, diese ads und adserver cookies von amazon und co. loesche ich nach jeder internet session. ist zwar muehsam, aber cookies haben auch ihre vorteile.
z.b. fuer ein autorisationssystem (siehe meine antwort an klaus:<115024.html>)
gruesse
Siramon
Hi!
ob und wie man den rechnernamen auslesen kann, weiss ich leider nicht, aber ich haette da ne idee (die aber leider nur hinhaut, wenn du mal zugriff auf die rechner hast, die spaeter drauf zugreifen wollen) :
und zwar modifizier den user agent. im windows ganz einfach in der registry unter : [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\User Agent\Post Platform]
dort tragst einfach einen string ein, z.b "test". dann kriegst bei einer user agent abfrage folgendes raus:
Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0; test
^hier der string den du in der reg. eintragst.
deinen eintrag kannst dann ja ganz einfach rausparsen.
ein kleiner nachteil: der string ist alerdings in allen server-logs, auf den die user zugreifen sichtbar...
vielleicht hilft's ja weiter :)
greetz,
Hoagie
Moin>
ich arbeite gerade an einem autorisations system in php.
um die sicherheit hochzuschrauben
Ich denke wenn du diese Art von Informationen auslesen möchtest, trägt das zu niemandens Sicherheit bei.
Tschüss