آموزش استفاده از دیتابیس IP2Location کامل

parsmizban

Member
سلام
بعد ازین که IP2Location رو برا دانلود (برای دانلود کلیک کنید) گزاشتم حالا آموزش استفاده از اونو میخوام بزارم



IP2location از IP number استفاده می کنه نه از IP اصلی


طریقه بدست آوردن IP number :
IP number از فرمول زیر پیروی می کنه


IP Number, X = A x (256*256*256) + B x (256*256) + C x 256 + D


مثلا :

برای IP 161.132.13.1 عدد IP number می شه 2709785857


IP Number, X = 161 x (256*256*256) + 132 x (256*256) + 13 x (256) + 1
= 2709785857


خوب چه جوری اینو تو PHP در بیاریم؟

PHP:
PHP Function
function Dot2LongIP ($IPaddr)
{
    if ($IPaddr == "") {
        return 0;
    } else {
        $ips = split ("\.", "$IPaddr");
        return ($ips[3] + $ips[2] * 256 + $ips[1] * 256 * 256 + $ips[0] * 256 * 256 * 256);
    }
}

ماله ASP C# VB.net coldfasion هم function هاش هست اگه کسی می خواد بگه بزارم





خوب حالا نوبت پیدا کردن IP طرفه !
اینم کدش

PHP without Proxy detection

PHP:
<?
    $ipaddress = getenv(REMOTE_ADDR);
?>

PHP with Proxy detection

PHP:
<?
    if (getenv(HTTP_X_FORWARDED_FOR)) {
        $ipaddress = getenv(HTTP_X_FORWARDED_FOR);
    } else {
        $ipaddress = getenv(REMOTE_ADDR);
    }
?>



خوب دیتابیس رو می سازیم با MYSQL با هر اسمی که می خواین
بعد این ها رو IMPORT می کنیم
PHP:
CREATE TABLE IPCITYLATLONGISPDOMAIN
(
    ipFROM INT(10) UNSIGNED ZEROFILL NOT NULL DEFAULT '0000000000',
    ipTO INT(10) UNSIGNED ZEROFILL NOT NULL DEFAULT '0000000000',
    countrySHORT CHAR(2) NOT NULL,
    countryLONG VARCHAR(64) NOT NULL,
    ipREGION VARCHAR(128) NOT NULL,
    ipCITY VARCHAR(128) NOT NULL,
    ipLATITUDE DOUBLE,
    ipLONGITUDE DOUBLE,
    ipISP VARCHAR(255) NOT NULL,
    ipDOMAIN VARCHAR(128) NOT NULL,
    PRIMARY KEY(ipFROM, ipTO)
);


بعد با استفاده از PHPmyAdmin اون فایل CSV رو IMPORT می کنین (البته کار سختیه ولی شدنیه ) هر کس نتونست بگه من بهش یاد بدم یا براش فایل SQL بفرستم من انجامش دادم


حالا نوبت Query که به دیتا بیس می دیم هیست
PHP:
$sql=SELECT [COUNTRY NAME COLUMN], [REGION NAME COLUMN], [CITY NAME COLUMN], [LATITUDE COLUMN], [LONGITUDE COLUMN], [ISP NAME], [DOMAIN NAME]
FROM [IP-COUNTRY-REGION-CITY-LATITUDE-LONGITUDE-ISP-DOMAIN TABLE]
WHERE ([IP FROM COLUMN] <= [SEARCH IP NO]) AND ([IP TO COLUMN] >= [SEARCH IP NO])



خوب دیگه حالا IP2Location در دست شماست
موفق باشید پایان
 

hamed01

Member
من که نفهمیدم چی به چی شد

فقط میدونم ip2location برای پزتاله و خیلی از پرتال ها یه سری ای پی کم دارن و یوزر ه نمیتونن وار بشن

میشه کمک کنید ساده تر بگید.

اماتوری :D
 

parsmizban

Member
سلام
IP2Location در حقیقت نام دیتابیسی هست که با گرفتن IP address مشخصات کامل رو مثل کشور شهر ISP منطقه و طول و عرض جغرافیایی رو به ما می ده
موفق باشید
 

vahid_3d

Active Member
اگه می شه این رو بصورت یک فایل کامل برای آپلود رو هاست ضمیمه کنید.
 

BehrouzPc

پــــادشــاه فــلــــش
آقا واقعا جای تشکر داره خیلی دنبالش گشته بودم پیدا نکردم
ولی یه چیزی می خواستم ببینید هیچ کسی می تونه کمکم کنه

من یک لیستی از اسم شهر ها می خوام که هر کاربری که وارد میشه رو از روی آی پی اون اسم او شهر رو دقیقا نشون بده - از این که امکان پذیره مطمعنم ولی خیلی طول میگشه آماده کردنش - مخواستم اگه کسی آماده شده اینو داره ممنون میشم بهم کمک کنه.
:)
 

parsmizban

Member
توی این دیتابیس اسم شهر ها هم وجود داره
فقط لازمه اسمه ایران رو از تو Db بکشین بیرون
 

mahdi-vb

Member
من چیزی نفهمیدم .
ولی من خوب فهمیدم , اگه سرم خلوت شد میخام دیتابیس رو به صورت یه برنامه Windows APP در بیارم که با دادن سرور و یوزر نیم پسورد و نام دیتابیس خودش دیتابیس رو تو سرور درست کنه .. شاید هم یه DLL هم نوشتم برای استفاده اون تو برنامه های تحت ویندوز

به حرحال موفق باشید
 

جدیدترین ارسال ها

بالا