PDA

View Full Version : سوال: بدست آوردن ip استاتیک



fazelit
شنبه 13 شهریور 1389, 15:03 عصر
سلام دوستان.
من یه سایت طراحی کردم و می خوام آی پی بازدید کننده ها رو دریافت کنم با تابع زیر فقط آی پی ولید رو به ما میده. این مشکل زمانی اتفاقق میفته که خیلی از شرکت های ADSL میان یک آی پی valid تهیه می کنند بعد برای کاربرانشون ip استاتیک تعریف می کنند. مثلا ip valid= 94.74.150.123 و برای کرابرانشون ip: 192.168..... به این صورت تعریف می کنند حالا هر 1000 نفری که اینترنت از این شرکت بردارند وقتی وارد سایت میشند با تابع زیر آی پی اصلی رو نشون می ده یعنی 94.74.150.123 و هر 1000 نفر رو فکر میکنه یک نفر هستند. اما من کدی می خواستم که آپی استاتیک که شرکت به هر نفر میده رو می خوام بیارم بیرون برای آین کار باید چه کار کنم. خیلی ضروریه؟؟؟؟ :متفکر::متفکر::متفکر:

function getRealIpAddr()
{
if (!empty($_SERVER['HTTP_CLIENT_IP'])) //check ip from share internet
{
$ip=$_SERVER['HTTP_CLIENT_IP'];
}
elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) //to check ip is pass from proxy
{
$ip=$_SERVER['HTTP_X_FORWARDED_FOR'];
}
else
{
$ip=$_SERVER['REMOTE_ADDR'];
}
return $ip;
}

صابر طهماسبی
شنبه 13 شهریور 1389, 16:13 عصر
سلام
این کار شدنی نیست اون IP که شما می خواید حالت یک آی پی داخلی داره و نمی شه بدستش آورد.

fazelit
شنبه 13 شهریور 1389, 17:03 عصر
ممنون حالا با php نشه مثلا با برنامه های دیگه مثل جاوا یا غیره که بشه در php هم استفاده کرد؟

mohmadd
شنبه 13 شهریور 1389, 21:16 عصر
بلاخره شما ای پی public یوزر رو میخوای ؟ یا private(دینامیک و استاتیک public که فرقی نداره !)


echo GetHostByName($REMOTE_ADDR);

kazemproger
یک شنبه 14 شهریور 1389, 01:22 صبح
من فکر می کنم بشه این کارو کرد ولی متاسفانه بلد نیستم:ناراحت:
احتمالا یک برنامه نویس فوق حرفه ای می تونه این کارو بکنه:گیج:

vahidmoghadam
یک شنبه 14 شهریور 1389, 05:17 صبح
يه مساله اي مطرح هست

اومديمو به طور شركت A به كاربرهاش IP داخلي از 192.168.1.1 تا 192.168.1.255 داد و شركت B هم همين كار رو كرد . حالا اگه دو نفر كه از شركت A و B سرويس ميگيرن بيان سايت شما ، سايتتون يك نفر تشخيص ميده.

تو ايران به خاطر اينكه هر شخصي IP خودش رو نداره نميشه اين موضوع رو از IP كنترل كرد. شما براي شناسايي دنبال راه هاي ديگه اي بايد باشيد.

من يه مدت خيلي دنبالش بودم كه از طريق شماره سريال هارد ديسك يا مادربرد اين كار رو بكنم ، تو ويژوال بيسيك و سي و خيلي برنامه هاي ديگه كه Operating System Application مينيويسيم اين كار رو به راحتي ميشه انجام داد ولي خيلي دنبالش بودم كه با PHP هم اينكار رو تو Application Web ها انجام بدم اما متاسفانه نتونستم راهي پيدا كنم. در كل اگه بشه شناسايي كاربران رو از طريق سخت افزارشون انجام داد خيلي بهتر و مطمئن تر هست.

راه هاي ديگه اي مثل استفاده از كوكي و ... داره كه هر كدوم مشكلات خاص خودشون رو دارن ، در حقيقت يه مشكلي رو حل كردن ولي يه مشكل جديد اضافه كردن.

به هر حال اگه جاي ديگه به جوابي رسيديد ما رو هم بي نصيب نزاريد لطفا.

ممنون

صابر طهماسبی
یک شنبه 14 شهریور 1389, 11:15 صبح
این کار از نظر بحث شبکه نشدنی است.
مگر اینکه همه به خطوط اصلی اینترنت وصل باشند!!:متعجب:

alirayaneh
یک شنبه 14 شهریور 1389, 13:43 عصر
اگه بشه از طریق جاوا اسکریپ یک کلید توی رجیستری سیستم کاربر ایجاد کرد. یه جا خوندم که با جاوا میشه به رجیستری دست یافت
فکرشو بکن این کار که شدنیه هیچ خیلی کارار دیگه هم میشه کرد به نوعی دمار از روزگار کاربر در آورد:چشمک: