• 1 رای - 5 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
استخراج ip کاربر
#1
سلام دوستان میخام ip کاربرها را بگیرم و ذخیره کنم میشه با یک مثال بفرمایید چگونه با php میشه ip کاربرها را استخراج کرد قبلا از زمانی که میگذارید متشکرم.
  پاسخ
تشکر شده توسط :
#2
برای بدست اوردن آی پی کاربر میتونید از دستور زیر استفاده کنید

کد پی‌اچ‌پی:
$_SERVER['REMOTE_ADDR'

در بعضی از موارد کاربران سایت شما ممکنه که با پروکسی وارد سایتتون بشن یعنی با وارد شدن توسط پروکسی آی پی کاربر هم عوض میشه برای اینکه بتونید ای پی واقعی کاربر رو بدست بیارید میتونید از تابع زیر استفاده کنید
کد پی‌اچ‌پی:
function GetRealIp()
{
    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;
}


echo(
GetRealIp());// نحوه استفاده 
  پاسخ
تشکر شده توسط : Y.P.Y ayoubsys mohammad.mm540
#3
ورژن 2 تابع پیشنهادی Kasbookar:

کد پی‌اچ‌پی:
// TODO: Add 'filter_var' for IPv4/IPv6.
function getClientIP()
{
    static 
$_list =
        [
            
'REMOTE_ADDR''HTTP_CLIENT_IP'/* Shared internet/ISP IP */'CLIENT_IP''HTTP_X_REAL_IP''HTTP_PROXY_CONNECTION''HTTP_FORWARDED''HTTP_CF_CONNECTING_IP''HTTP_X_CLUSTER_CLIENT_IP''HTTP_X_FORWARDED''HTTP_X_FORWARDED_HOST''HTTP_X_FORWARDED_SERVER''FORWARDED_FOR_IP''HTTP_FORWARDED_FOR''HTTP_FORWARDED_FOR_IP''HTTP_X_FORWARDED_FOR''FORWARDED''X_FORWARDED_FOR''FORWARDED_FOR''X_FORWARDED''HTTP_VIA''VIA'
        
];

    foreach (
$_list as $_value) {
        if (isset (
$_SERVER[$_value]) && !empty($_SERVER[$_value])) return $_SERVER[$_value];
        elseif (
getenv($_value)) return getenv($_value);
        elseif (isset (
$_ENV[$_value]) && !empty($_ENV[$_value])) return $_ENV[$_value];
        else continue;
    }

    return 
'0.0.0.0';

وبلاگ: Yousha.Blog.ir


 کد کمتر => خطای کمتر => قابل فهمتر => خوانایی بالاتر => نگهداری بهتر

  پاسخ
تشکر شده توسط : ayoubsys kasbookar Null sara147
#4
ولی این توابعی که برای گرفتن IP واقعی گذاشتید باعث میشن کلاینت بتونه IP خودش رو خیلی راحت جعل کنه. چون میشه این هدرها رو براحتی در سمت کلاینت به درخواست اضافه کرد (قبلا تست هم کردم 100% عملیه).
ضمنا فهمیدن اینکه آیا سایتی از نظیر چنین کدهایی استفاده میکنه یا نه بنظرم زیاد سخت نیست.
البته میدونم الان میخواید بگید میدونم. قبلا بحثش شده بود و گفته بودم. بهرحال وقتی چنین تابعی ارائه میدید همیشه باید به این نکته هم اشاره کنید. عملا این توابع برای کاربردهای امنیتی به درد نمیخورن. بنده در سایت خودم مثلا فقط برای مقاصد لاگینگ از چنین هدرهای استفاده کردم.
  پاسخ
تشکر شده توسط :


پرش به انجمن:


کاربران در حال بازدید این موضوع: 1 مهمان