IP/MAC-Abfrage in PHP???
-
Hier schrieb Magoon:
Du kannst zusätzlich noch IP/MAC überprüfungen vornehmen. Dadurch kannst Du bestimmte Rechner komplett von der Seite ausschließen. Dies aber nur als Ergänzung zu z.B. Sessions, da man beide Adressen spoofen kann.
Und wie geht das (IP/MAC)?
-
Nun ja, die IP - falls nicht gespoofed - gibt's über das $_SERVER[]-Array
\_SERVER['REMOTE\_ADDR'] _SERVER['REMOTE_HOST']
$_SERVER['HTTP_REFERER']die MAC-Adresse fänd ich auch spannend zu wissen...
-
MAC auslesen geht mit PHP nicht. Dazu müsste die MAC-Adresse ja vom Browser mitgeschickt werden, und das wird sie nicht.
Gruß - Xaron
-
Das denke ich auch... aber mich würde interessieren, was Maroon herausgefunden hat...
-
Windoof schrieb:
Das denke ich auch... aber mich würde interessieren, was Maroon herausgefunden hat...
Noch nicht viel...
Also es müsste IMHO schon funktionieren(im Lan). Eine Möglichkeit wäre eine kleine ARP Implementierung als PHP Modul zu schreiben.
-
Magoon schrieb:
Noch nicht viel...
Dessen bin ich mir sicher.
Also es müsste IMHO schon funktionieren(im Lan). [...]
Ähm... Macht ein Browser im LAN Unterschiede was die Übertragung von solchen Daten angeht? Ich denke nicht. Und den Browser kann man mit PHP nicht beeinflussen.
Sollte ich mich irren und du beweisen können, dass man es kann, so poste es ruhig, es interessiert mich nämnlich auch sehr, wie ich einzelne PCs von meiner Website bannen kann... *g*
-
Naja im LAN dürfte ein
arping $_SERVER['REMOTE_ADDR']
per shell-execute helfen, aber mehr fiele mir auch nicht ein...
-
Windoof schrieb:
Ähm... Macht ein Browser im LAN Unterschiede was die Übertragung von solchen Daten angeht? Ich denke nicht. Und den Browser kann man mit PHP nicht beeinflussen.
Brauch der Browser auch nicht. Ich habe seine IP. Den Rest kann ich per ARP abfragen.
Windoof schrieb:
Sollte ich mich irren und du beweisen können, dass man es kann, so poste es ruhig, es interessiert mich nämnlich auch sehr, wie ich einzelne PCs von meiner Website bannen kann... *g*
Eine Lösung findest Du von Wegus, die andere wäre ein PHP Modul zu schreiben, was dasselbe tut.
Gruss
-
Wer ist Wegus? Bztw. wo finde ich seine/ihre Lösung?
-
2. Post über Dir
wegus schrieb:
Naja im LAN dürfte ein
arping $_SERVER['REMOTE_ADDR']
per shell-execute helfen, aber mehr fiele mir auch nicht ein...
-
ok, ich bin heut sowieso etwas verpennt
-
hab da nicht so viel Ahnung, aber warum geht die Lösung im Internet nicht? Wird da von irgendwelchen Routern und firewalls der Ping geblockt, oder is dass weil man nicht zwangsläufig ne MAC adresse hat, zB mit Modem (oder doch?)?
-
Weil das Internet nicht ein Netzwerk ist, sondern ein Verbund vieler Netzwerke. Und viele davon nutzen nichtmal Ethernet, da gibts also sowas wie Mac-Adressen gar nicht.
-
und wie kann ich dann einzelne pcs blocken?
-
Windoof schrieb:
und wie kann ich dann einzelne pcs blocken?
Neben der IP wird doch auch noch eine Adresse ala c193124.adsl.hansenet.de, wie
sie z.B. auch im IRC fürs bannen genutzt wird. Die sollte sich per PHP auslesen
lassen. Selbst, wenn man sich neu einwählt, bleibt diese Adresse ähnlich.
-
Aber eben nur ähnlich...
-
Windoof schrieb:
Aber eben nur ähnlich...
Im IRC wird dann einfach jeder geblockt, dessen Name *.adsl.hansenet.de
entspricht. Klar sperrt man dann auch andere aus, aber man kann das ja schon
mal als Hinweis nehmen.Zusätzlich könnte man noch Cookies, ähnliche IP, Zeitdifferenz, Browserversion,
etc. nehmen.Daraus ließe sich dann -ähnlich wie bei Spam-Filtern- ein Wert errechnen, der
die Wahrscheinlichkeit angibt, dass es der selbe User ist.
-
Hmm, das ist ne gute Idee, ich werd's mal probieren... Danke für die Hilfe erstmal.
-
SG1 schrieb:
Weil das Internet nicht ein Netzwerk ist, sondern ein Verbund vieler Netzwerke. Und viele davon nutzen nichtmal Ethernet, da gibts also sowas wie Mac-Adressen gar nicht.
diese Aussage ist müll. Schau dir mal das TCP Protokoll an. http://www.freesoft.org/CIE/Course/Section4/8.htm
Der Grund wieso man im Internet nicht die Mac Adressen herauskriegen kann liegt an der Art wie man seine Daten bekommt. Das Internet ist ein weltweiter Verbund aus Routern .. Dadurch das diese Router NAT und Masquerading betreiben ... sendet man nur Daten an den Router .. sprich im TCP/IP Header steht die MAC des Routers und die Ip des Clients.. man bekommt die Antwort mit der MAC des Routers und der IP des Clients.
Die Wahrscheinlichkeit das du im gleichen Subnet bist wie der eigentliche Router des Clients ist so verschwindend gering das eine Kontrolle auf MAC basis eigentlich hinfällig ist. Sobald du in einem anderen Subnet bist werden die Daten über einen anderen Router gesendet und erst minimal der nächste Hop landet auf dem eigentlichen Router des Clients.
-
EnERgYzEr schrieb:
Im IRC wird dann einfach jeder geblockt, dessen Name *.adsl.hansenet.de
entspricht. Klar sperrt man dann auch andere aus, aber man kann das ja schon
mal als Hinweis nehmen.Zusätzlich könnte man noch Cookies, ähnliche IP, Zeitdifferenz, Browserversion,
etc. nehmen.Im Irc wird nicht jeder *.adsl.hansenet.de .. geblockt sondern der Block beschränkt sich auf die exakte Adresse.Über IRC werden jedoch noch mehr Daten gesendet ... realname nickname .. dort würde / lohnt sich eine solche überprüfung.
User wie banne ich sinnvoll ? Das ist echt eine gute Frage. Ich kämpfe auch mit solchen Problemen ... in manchen meiner Projekte. Imho lohnt es sich gar nicht stunden bzw tagelang irgendwelche Algos zu entwickeln die eh in 5 min umgangen werden können. Ich hab mich persönlich auf einen Email Ban beschränkt und meine zeit genutzt die Spam bzw Bannmöglichkeit verschnellert..
-
1ntrud0r schrieb:
SG1 schrieb:
Weil das Internet nicht ein Netzwerk ist, sondern ein Verbund vieler Netzwerke. Und viele davon nutzen nichtmal Ethernet, da gibts also sowas wie Mac-Adressen gar nicht.
diese Aussage ist müll.
Was _genau_ stimmt daran jetzt nicht? (Bis auf s/Mac/Ethernet/, ok)
Schau dir mal das TCP Protokoll an.
TCP kenn ich. Was hat das mit Adressierung auf ISO/OSI-Schicht 2 zu tun?
Der Grund wieso man im Internet nicht die Mac Adressen herauskriegen kann liegt an der Art wie man seine Daten bekommt. Das Internet ist ein weltweiter Verbund aus Routern .. Dadurch das diese Router NAT und Masquerading betreiben ...
LOL? NAT? Masquerading? Solche Krankheiten verwendet man "im Internet" nicht. Nur "am Rand" (also in privaten oder firmen-internen Netzen) sieht man sowas leider immer mehr.
sprich im TCP/IP Header steht die MAC des Routers und die Ip des Clients..
Falsch. Erstens gibt es keinen TCP/IP Header, sondern einen TCP und einem IP Header. Zweitens steht in keinem von beiden die Mac-Adresse. Im IP-Header steht die IP von Absender und Empfänger, die Mac-Adressen stehen im Header des L2-Protokolls, also beispielsweise im Ethernet-Header man bekommt die Antwort mit der MAC des Routers und der IP des Clients.
Die Wahrscheinlichkeit das du im gleichen Subnet bist wie der eigentliche Router des Clients ist so verschwindend gering das eine Kontrolle auf MAC basis eigentlich hinfällig ist. Sobald du in einem anderen Subnet bist werden die Daten über einen anderen Router gesendet und erst minimal der nächste Hop landet auf dem eigentlichen Router des Clients.
Ach.