Registrierung
Teammitglieder
Download-Support
Zur Startseite
Mitgliederliste
Suche
Kalender
Häufig gestellte Fragen
Portal
Chat
Link Us

 
Boardmenü
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.

Guckloch öffnen

Rechner-Support Toolbar

toolbar powered by Conduit

Team
Ihnen fehlen die Rechte dazu um den Inhalt dieser Box zu sehen.

Boardsuche
Ihnen fehlen die Rechte dazu um den Inhalt dieser Box zu sehen.

TopForen
» Off-Topic
mit 23295 Beiträgen
in 1912 Themen

» PC- Probleme allgemein
mit 20836 Beiträgen
in 1613 Themen

» Treiber Bereich- Feedback
mit 10780 Beiträgen
in 3437 Themen

» Fun-Area
mit 10414 Beiträgen
in 608 Themen

» Spiele
mit 7199 Beiträgen
in 52 Themen


Links
zur Linkliste
- Andere Foren
- Internet
- Online Shops
- Treiber

Forenliste
Ihnen fehlen die Rechte dazu um den Inhalt dieser Box zu sehen.

Rechner-Support » Software / Internet / Handy / Treiber- Feedback » Programmieren » PHP IP einem Land zuordnen » Hallo Gast [Anmelden|Registrieren]
Letzter Beitrag | Erster ungelesener Beitrag Druckvorschau | An Freund senden | Thema zu Favoriten hinzufügen
Neues Thema erstellen Antwort erstellen
Zum Ende der Seite springen IP einem Land zuordnen
Autor
Beitrag « »

wizard051
Grünschnabel


Dabei seit: 25.11.2007
Beiträge: 8
Dieser User hat sich mal bedankt
IP einem Land zuordnen Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

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 wizard051 ist offline E-Mail an wizard051 senden Beiträge von wizard051 suchen Nehmen Sie wizard051 in Ihre Freundesliste auf

GambaJo GambaJo ist männlich
User des Monats 9 & 10


images/avatars/avatar-1008.jpg

Dabei seit: 16.09.2007
Beiträge: 1.479
Dieser User hat sich mal bedankt CPU: AMD Athlon 64 X2 4600+

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

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 GambaJo ist offline Homepage von GambaJo Beiträge von GambaJo suchen Nehmen Sie GambaJo in Ihre Freundesliste auf Fügen Sie GambaJo in Ihre Kontaktliste ein MSN Passport-Profil von GambaJo anzeigen

Viktor   Zeige Viktor auf Karte Viktor ist männlich
Grünschnabel


images/avatars/avatar-314.jpg

Dabei seit: 07.11.2006
Beiträge: 2
Dieser User hat sich mal bedankt CPU: P4 3GHz

RE: IP einem Land zuordnen Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Hallo,

das gibt es schon. großes Grinsen

Schaue mal in dem Board nach Dieser Link wird erst nach der Registrierung angezeigt..

Da gibt es den Hack "IP-Land" der macht das. Freude

Es ist zwar für dein wBB-Board aber den Code kannst du bestimmt auch so benutzen. smile

Gruß
Viktor Augenzwinkern
25.01.2008 11:45 Viktor ist offline Homepage von Viktor Beiträge von Viktor suchen Nehmen Sie Viktor in Ihre Freundesliste auf

tomtaz   Zeige tomtaz auf Karte tomtaz ist männlich
Grünschnabel


Dabei seit: 11.03.2008
Beiträge: 3
Dieser User hat sich mal bedankt CPU: AMD Athlon XP X2 6600+

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

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.


Ja die Funktion gibt es, nennt sich explode( );

Anwenden kannst du sie so:

php:
1:
2:
3:
4:
5:
6:
$ip '127.0.0.1';

$ip_blocks explode'.'$ip );

var_dump$ip_blocks );
exit();


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( ) );


wie gesagt sind nur beispiele!
28.03.2008 14:47 tomtaz ist offline E-Mail an tomtaz senden Homepage von tomtaz Beiträge von tomtaz suchen Nehmen Sie tomtaz in Ihre Freundesliste auf Fügen Sie tomtaz in Ihre Kontaktliste ein
Baumstruktur | Brettstruktur
Gehe zu:
Neues Thema erstellen Antwort erstellen
Rechner-Support » Software / Internet / Handy / Treiber- Feedback » Programmieren » PHP IP einem Land zuordnen

Views heute: 24.855 | Views gestern: 25.480 | Views gesamt: 21.444.626


Impressum


Forensoftware: Burning Board 2.3.6, entwickelt von WoltLab GmbH

Designed by:Designed by: vbdesigns.devbdesigns.de