×
صفحه اصلی سوالات برنامه نویسی کاربران دوره‌های آموزشی پروفایل کاربری درباره و تماس

چگونگی دریافت آیپی کاربر با PHP

0
1

با سلام و درود

 

چطوری میشه IP یک شخصی را که وارد سایتمون میشه رو با استفاده از PHP به دست بیاریم و مثلا به صورت اتوماتیک هر شخصی که وارد سایت میشه آیپیش گرفته بشه و در یک فال نوت پد در هاست ذخیره بشود.

  • 1 ماه قبل
  • 1 ماه قبل
  • 987 بازدید
  • 17 پاسخ
  • 0 0
    سبحان حائری زاده

    سبحان حائری زاده سایت جدید هم خیلی مبارک باشه :) (1 ماه قبل)

  • 0 0
    میکائیل رئیسی

    میکائیل رئیسی راستش دوست عزیز مطمئن نیستم ولی یه بخشی داخل دیتابیس هست که میتونه اینکارو براتون انجام بده و ای پی کاربر رو ذخیره کنه هرچند که یه جایی شنیدم این کار بدون داشت حکم قانونی، غیر قانونی تلقی میشه ...ولی اگه خواستین فقط کافیه توی گوگل سرچ کنید ip کاربر در دیتابیس...موفق باشید (1 ماه قبل)

  • 0 0
    سبحان حائری زاده

    سبحان حائری زاده مرسی بابت نظرتون. (1 ماه قبل)

  • 0 0
    محمد معین بابائی

    محمد معین بابائی خیلی ممنون دوست عزیز (1 ماه قبل)

سلام دوست عزیز:

function GetIp()
{
    $ip = $_SERVER['REMOTE_ADDR'];
    return $ip;
}

echo(GetIp());
  • 1 ماه قبل
  • 0 0
    مهدی خسروی

    مهدی خسروی دمت گرم معین جان. تبریک میگم بهت. اولین پاسخ صحیح سایت رو دادی :))) از سبحان هم خواهش میکنم که روی تیک طوسی رنگ کلیک کنه و پاسخ معین رو به عنوان پاسخ درست انتخاب کنه.(1 ماه قبل)

  • 0 0
    محمد معین بابائی

    محمد معین بابائی مهدی جان حرف های شما باعث دلگرمی همه برنامه نویس ها میشه امیدواریم که سایت خیلی سریع پیشرفت کنه و منبع خوبی برای برنامه نویس ها باشه(1 ماه قبل)

  • 0 0
    سبحان حائری زاده

    سبحان حائری زاده ممنونم، پاسخ شما به عنوان بهترین پاسخ این سوال ثبت شد.(1 ماه قبل)

همونطور که دوست عزیز گفتن

با متغیر سراسری

<?php
echo $_SERVER['REMOTE_ADDR'] ;
? >
  • 1 ماه قبل
  • 0 0
    سبحان حائری زاده

    سبحان حائری زاده بله درسته ممنون.(1 ماه قبل)

  • 0 0
    محمد معین بابائی

    محمد معین بابائی بله درست هستش اما نوشتن این خط کد برای هر قسمت از سایت سخت میشه و تابع رو میشه توسعه داد مثلا حتی اگر به فیلترشکن هم وصل باشه شناسایی بشه(1 ماه قبل)

درود و عرض ادب خدمت شما
خب برای اینکه بتونید IP کاربر رو در زبان PHP بدست بیارید دو تا راه وجود داره که اینجا به ترتیب براتون توضیح دادم :

- روش اول : استفاده از سوپر گلوبال ها در PHP
خب طبیعتا از نظر من برای هر برنامه نویس PHP، راحت ترین کار اینه که برای دریافت IP کاربر از سوپرگلوبال REMOTE_ADDR بیاد استفاده بکنه . ما می تونیم با استفاده از متد زیر بیایم با این سوپر گلوبال ، IP کاربر رو بدست بیاریم :

function getip()
{
    $ip = $_SERVER['REMOTE_ADDR'];
    return $ip;
}

 حالا یه نکته خیلی جالب بگم اینکه احتمال اینو بده که کاربرمون بیاد از پروکسی استفاده کنه و IP اصلی خودش رو نتونیم دریافت کنیم . اینجا یک راه حل وجود داره که بتونیم با استفاده از سوپرگلوبال های HTTP_CLIENT_IP ، HTTP_X_FORWARDED_FOR بتونیم IP اصلی شو بدست بیاریم . برای اینکار از متد نمونه زیر استفاده کن :

** فقط یک نکته ای قبلش بگم اونم اینکه امکان داره این متدها همش به خوبی روی Localhost ات کار نکنه . پس بهتره این متدها رو داخل هاست ات چک کنی که خیلی خوب اجرا بشه .

function get_realip()
{
    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;
}

روش دوم : به کمک composer
نگاه کن اگه composer رو روی سیستمت نصب داری میتونی پکیج yogeshkoli رو بیای نصب کنی توی پروژت و اونو include کنی داخل پروژت.

اگه میخوای composer رو نصب کنی برای دریافتش اینجا کلیک کن. روش نصبش رو هم خودش گفته.
بعد از نصبش هم این دستور رو داخل cmd بنویس یا از طریق Terminal داخل IDE ات اجراش کن :

- گام اول : نصب پکیج

composer require yogeshkoli/user-ip

- گام دوم : include کردن پکیج 

<?php

require __DIR__ . '/../vendor/autoload.php';

use YogeshKoli\UserIP\UserIP;

var_dump(UserIP::get());

?>

* نمونه دریافت IP اصلی کاربر با ساتفاده از این پکیج بعد از انجام گام های بالا :

<?php

require __DIR__ . '/../vendor/autoload.php';

use YogeshKoli\UserIP\UserIP;

$ip = '192.168.10.1';

var_dump(UserIP::validate($ip))
?>

امیدوارم این توضیح من برات مفید باشه :)

  • 1 ماه قبل
function get_ip(){
      $ip_address = $_SERVER['REMOTE_ADDR'];
      return $ip_address;

}
اینجا بخاطر اینکه باید از سرور یه اطاعاتی رو بگیرید باید از تابع$_SERVER استفاده کنید
  • 1 ماه قبل
افزودن پاسخ