Ihnen fehlen die Rechte dazu um den Inhalt dieser Box zu sehen.
Guckloch
Hier kann man sich über die letzten Beiträge im Board live informieren, das kleine Fenster welches sich durch einen Klick öffnet aktualisiert sich von alleine alle 60 Sekunden.
Dabei seit: 25.11.2007
Beiträge: 8
Dieser User hat sich mal bedankt
IP einem Land zuordnen
Tagchen,
ich kam eher zufällig auf die Idee in PHP ein Skript zu schreiben, das das Land aus dem die IP kommt zu ermitteln.
Wie vielleicht der ein oder andere weiß wird eine IP dafür folgendermaßen zersetzt:
Beispiel IP:
202.186.13.14
A = 202
B = 186
C = 13
D = 14
16777216*A + 65536*B + 256*C + D
also
16777216*202 + 65536*186 + 256*13 + 14
Was dann hier
3401190670
ergeben würde.
Das liegt in Bereich von Malaysia:
3401056256 3401400319 MY MALAYSIA
Jetzt habe ich folgende Probleme:
1. Wie zersetze ich die IP? (Also so, dass ich die einzelnen Zahlen als Variablen hab und damit weiterrechnen kann)
2. Ich kenne mich mit MySQL nicht besonders aus, ich müsste aus der Datenbank "iplocate" die Ranges aus der "ip-to-country"-Tabelle auslesen und gucken in welchen Bereich die IP passt.
Könnte mir da wohl jemand helfen?
Mit freundlichen Grüßen,
wizard051
16.01.2008 17:30
GambaJo
User des Monats 9 & 10
Dabei seit: 16.09.2007
Beiträge: 1.479
Dieser User hat sich mal bedankt
CPU: AMD Athlon 64 X2 4600+
Zu 1: Ich kenne mich nicht mit PHP aus, aber es sollte doch eine Funktion geben, mit der man einen String nach bestimmten Zeichen oder Zeichenfolgen durchsuchen kann. Weiterhin sollte es eine Funktion geben, mit der man bestimmte Teile aus einem String kopieren kann. Wenn Du also die Start- und End-Position zum Kopieren weißt (von Punkt zu Punkt), kannst Du die Zahlen zunächst als String rauskopieren und dann in Integer umwandeln.
Zu 2: Mit SQL habe ich lange nicht mehr gearbeitet, aber ich könnte mir vorstellen, dass es mit "where" und "like" funktionieren könnte.
__________________
Dieser Link wird erst nach der Registrierung angezeigt.
Es ist kein Tornado, es ist kein Twister, es ist ein Tornister!
16.01.2008 22:53
Viktor
Grünschnabel
Dabei seit: 07.11.2006
Beiträge: 2
Dieser User hat sich mal bedankt
CPU: P4 3GHz
RE: IP einem Land zuordnen
Hallo,
das gibt es schon.
Schaue mal in dem Board nach Dieser Link wird erst nach der Registrierung angezeigt..
Da gibt es den Hack "IP-Land" der macht das.
Es ist zwar für dein wBB-Board aber den Code kannst du bestimmt auch so benutzen.
Gruß
Viktor
25.01.2008 11:45
tomtaz
Grünschnabel
Dabei seit: 11.03.2008
Beiträge: 3
Dieser User hat sich mal bedankt
CPU: AMD Athlon XP X2 6600+
Zitat:
Original von GambaJo
Zu 1: Ich kenne mich nicht mit PHP aus, aber es sollte doch eine Funktion geben, mit der man einen String nach bestimmten Zeichen oder Zeichenfolgen durchsuchen kann. Weiterhin sollte es eine Funktion geben, mit der man bestimmte Teile aus einem String kopieren kann. Wenn Du also die Start- und End-Position zum Kopieren weißt (von Punkt zu Punkt), kannst Du die Zahlen zunächst als String rauskopieren und dann in Integer umwandeln.
Zu 2: Mit SQL habe ich lange nicht mehr gearbeitet, aber ich könnte mir vorstellen, dass es mit "where" und "like" funktionieren könnte.
Zum SQL Statement bieten sich mehrere Möglichkeiten an. Wenn die Tabelle so aufgebaut ist, dass es in einem bestimmten Zahlenbereich ist, so kann man folgendes machen
php:
1:
2:
3:
4:
5:
6:
7:
8:
9:
$ip_hash = 132121321; // hier nur irgendeine Zahl
$sql = '
SELECT *
FROM ip_table
WHERE ip_hash < ' . (int) $ip_hash . '
LIMIT 0,1';
$result = mysql_query( $sql ) or die ('Cant send query to db! ' . mysql_error( ) );