You are not logged in.

wcf.regNote.message

hubtan

Unregistered

1

Saturday, October 21st 2006, 8:46pm

Anmeldung via DynDNS ??

So hallo ,

ich hab zwar mal grob gesucht aber ich hab hier noch kein post gefunden der meiner Frage irgend wie Antwort geben konnte.

Ich habe vor einen Loginbereich zu gestalten. Dort soll man ein Passwort eingeben was der Admin manuell in einer SQL DB hinterlegt hat , wenn man dann auf enter drückt soll man aber nicht sofort zu seite xy weiter geleitet werden. So jetz kommt mein Problem :
Nach dem man das Passwort eingegebn und ok gedrückt hat, soll ein Script starten, was zum einen das Passwort überprüft (das is nich das prob :P ) aber das script soll zu dem die Hostadresse überprüfen und abgleichen ob der Hostname in der Datenbank hinterlegt wurde . Also die Leute die sich da anmelden sollen werden alle DynDNS benutzen, die teieln im vorfeld dem admin mit wie ihr DynDNS adresse lautet und der trägt es dann in die db. Jetz weis ich blos nicht ( da ich kein sonderlich guter coder bin ) wie die abfrage lauten muss das er die DynDNS addresse des anzumeldenden "ausliest" und mit der in der DB hinterlegt abgleicht .....

Also noch mal kurz zusammengefasst:

Ich hab eine sql db , in der ist manuel eine DynDNS adresse und ein dementsprechender Code hitnerlegt , wie muss so ein script aussehn, das es die DynDNS des jenigen der sich anmeldet, mit der hinterlegten abgleicht.


Ich hoffe mir kann jemand weiter helfen.

Danke schon mal !

Prometheus

Administrator

Posts: 3,278

  • Send private message

2

Saturday, October 21st 2006, 9:11pm

Grundsätzlich würde ich jetzt sagen schau dir mal die Standardvariablen im Bereich HTTP an. Allerdings bei deiner Frage wirft sich mir eine ganz andere Frage auf. Hast Du denn wirklich verstanden was ein DynDNS account ist und was man damit anstellt? So wie Du das beschreibst gehst Du davon aus das das folgendermaßen läuft.

User hat eine dynamische IP von seinem ISP und damit er eine statische Adresse hat nutzt er einen DynDNS account zum Surfen. Er kommt auf deine Seite (mittels DynDNS) und loggt sich ein.

So läuft DynDNS aber nicht. DynDNS macht nichts anderes wie die dynamische IP Adresse welche Du von deinem ISP bekommst zu nehmen und einen Namen darauf zu leiten. Das heißt von überall auf der Welt kann der Name aufgerufen werden und wird über den DynDNS Server aufgelöst in deine aktuelle IP Adresse. Dafür ist natürlich ein regelmäßiger Abgleich erforderlich damit nach der 24 Stundentrennung die neue IP beim DynDNS Server hinterlegt wird. Wenn Du also einen Webserver zuhause stehen hast kannst Du über diese DynDNS Adresse erreichen das er immer von außerhalb erreichbar ist. Wenn Du jedoch dann auf eine Internet Seite gehst wird nie und nimmer der DynDNS Name mitgegeben sondern die IP Adresse deines Providers. Du hast da auch keine Möglichkeit einzugreifen da die IP Adresse nicht von dem lokalen Rechner übergeben wird sondern von dem ISP bereits festgelegt ist.

Mir würde auf Anhieb keine Lösung einfallen wie man die IP Adresse in einen DynDNS Account Namen ändern kann. Ich gehe davon aus dies ist unmöglich.

So, unter dem Gesichtspunkt dürfte sich die Frage von Dir wohl erledigt haben außer ich hab alles total falsch verstanden und Du meinst das ganz anders.
Jedwege Anfragen bitte an Technomausi oder ShaoKhan richten. Dieses Konto ist und bleibt inaktiv.

hubtan

Unregistered

3

Saturday, October 21st 2006, 11:41pm

:P danke für die nett gemeinte einführung in DynDNS aber deren Funktionsweise bin ich mir schon bewusst.

Das script soll folgendes können,
1) password abgleichen
2) die auf der Datenbank hinterlegte DynDNS addresse mit der vom Anzumeldendens IP Addresse überprüfen also ,

ist z.b in der der db die dyndns adresse xxx.yyyy.zzzz hinterlegt, soll das script nun die ip vom Anzumledenden abfragen und versuchen ob die ip auch über die DynDNS adresse (die zu dem passenden passwort hinterlegt wurde) erreichbar ist, und dann je nach dem weiterletein oder abbrechen.

Doch genau da bin ich bei der realisierung überfordert :)

Fals das garnicht realisierbar ist , was gäbe es denn für alternative anmeldemöglichkeiten, die ein ziehmlich hohes mas an sicherheit bieten?
PHP Login Scripte mit Session ID is ja auch nich grade sooo sicher .

Prometheus

Administrator

Posts: 3,278

  • Send private message

4

Sunday, October 22nd 2006, 12:55am

Jetzt verstehe ich das. Das heißt Du willst quasie das der beim Login hin geht und einen Pink auf die DynDNS adresse macht und die IP die daraus resultiert mit der IP vergleicht von der Person die sich grade anmeldet. Jetzt stellt sich nur die Frage wie Du am besten die DNS Auflösung mit der DynDNS Adresse machst. Möglich wäre z.B. mittels ping und das Resultat dann in eine Variable packen und so parsen das Du die IP erhällst. Diese kannst Du dann ja vergleichen mit der die grade anwesend ist. Einen Ping in PHP führst Du so aus.

PHP Source code

1
system("ping -w4 -c4 www.google.de");

So bekommst Du 4 Ping Anfragen an den Host www.google.de gesendet. Den Returnstring dann in ne Variable und mit preg_replace alles was keine IP Adresse ist löschen damit die IP über bleibt.

Oder weiß jemand ne bessere Lösung als diese?
Jedwege Anfragen bitte an Technomausi oder ShaoKhan richten. Dieses Konto ist und bleibt inaktiv.

hubtan

Unregistered

5

Sunday, October 22nd 2006, 1:41pm

ah cool das mit dem ping is ne gute idee, aber wie heißt dann die variable die die angepingte ip enthält ? Kannst das mit dem preg_replace noch bischen genauer erklären :) ??

This post has been edited 1 times, last edit by "hubtan" (Oct 22nd 2006, 1:42pm)


Prometheus

Administrator

Posts: 3,278

  • Send private message

6

Sunday, October 22nd 2006, 1:47pm

Die Variable heißt so wie Du sie nennst.

PHP Source code

1
$DeineVariable system("ping -w1 -c1 www.google.de");


Und das preg_replace funktioniert mit regex da musst Du dich ein wenig einlesen. Ganz einfach ist es nicht aber wenn man es mal begriffen hat auch nicht so sonderlich schwer.
Jedwege Anfragen bitte an Technomausi oder ShaoKhan richten. Dieses Konto ist und bleibt inaktiv.

bauser

Intermediate

Posts: 384

Occupation: Senior Software Engineer

  • Send private message

7

Friday, October 27th 2006, 10:09am

PHP Source code

1
$ip gethostbyname("youraddresshere.dyndns.org");


gethostbyname liefert die ipadresse eines hosts zurück. ganz ohne lästiges pingen oder reguläre ausdrücke
I'm Tony Menthanar! You fuck wit me, you fuckin' wit da best!

This post has been edited 1 times, last edit by "bauser" (Oct 27th 2006, 10:10am)


Prometheus

Administrator

Posts: 3,278

  • Send private message

8

Friday, October 27th 2006, 11:52am

Man lernt nie aus. Werd ich mal notieren das kann ich sicherlich nochmal brauchen.
Jedwege Anfragen bitte an Technomausi oder ShaoKhan richten. Dieses Konto ist und bleibt inaktiv.

wcf.user.socialbookmarks.titel