السلام عليكم ورحمة الله وبركاته ..
مشكلة فى الحصول على ip ::1 الزائر ..
جربت اكثر من دالة والنتيجة الحصول على IP بالشكل ده (::1)
ip ::1
شكرا لكم ..
وعليكم السلام ورحمة الله وبركاته
هل جربت هكذا
$ip=$_SERVER[REMOTE_ADDR];
يفضل لكي يعرف الايبي الحقيقي تستخدم هذه الدالة
function get_ip(){ if(isset($_SERVER['HTTP_X_FORWARDED_FOR'])){ return(isset($_SERVER['HTTP_X_FORWARDED_FOR']))? $_SERVER['HTTP_X_FORWARDED_FOR']:$_SERVER['REMOTE_ADDR']; }
للتأكد من صحة ip المستخدم
هل هذه لجلب ip الزاير الحقيقي حين لو كان يستخدم وكيلا او بروكسي ؟
نعم
شكراً لك جداً - أخي : راشد ، كنت أبحث عنه مطولاً .
ولكن هل بالإمكان أيضاً معرفة إسم البلد ؟ مثل : UK , SA ... إلخ ؟
مرحبا عزيزي انا لم اجرب هذه الدالة للامانة لكن ياعزيزي وجدتها في stack overflow
function visitor_country() { $ip = $_SERVER["REMOTE_ADDR"]; if(filter_var(@$_SERVER['HTTP_X_FORWARDED_FOR'], FILTER_VALIDATE_IP)) $ip = $_SERVER['HTTP_X_FORWARDED_FOR']; if(filter_var(@$_SERVER['HTTP_CLIENT_IP'], FILTER_VALIDATE_IP)) $ip = $_SERVER['HTTP_CLIENT_IP']; $result = @json_decode(file_get_contents("
http://www.geoplugin.net/js... " . $ip)) ->geoplugin_countryName; return $result <> NULL ? $result : "Unknown"; }
المصدر هذا الرابط:
أتمنى تجريب الدالة .. واخباري بالنتائج يا عزيزي
شكراً .. سأوافيك بها حالما أستطيع :)
بالنسبة لإسم البلد
انا حاليا أستخدم قاعدة بيانات من موقع
وهي يتم تحديثها كل فترة
مشكلة انه لم يطبع الاي بي من الاساس ..
ايضا عند استخدام الدالة $ip=$_SERVER[REMOTE_ADDR];
يطبع اي بى السيرفير وليس اي بي الزائر ..
أعتقد لأنك مستخدم سيرفر محلي وليس استضافة على الإنترنت
في السيرفر الشخصي بيطلع لك بالشكل هذا، لكن ارفعه على موقع حقيقي وراح يطلع لك الايبي كامل. جرب هنا استضافة مجانية
انت بتجرب اون لاين ... ولا على localhost ؟
استخدام هذا
مجتمع مخصص للغة الـ PHP
صمم موقعك كاملا بالسحب والإفلات بدون خبرة برمجية، واحجز مكانك على الإنترنت.