IP واقعی کاربر
برای دریافت آی پی واقعی کاربر میتوانید از روش زیر استفاده نمایید، به دلایل امنیتی و استفاده از Revers Proxy در چایکان، تمامی درخواست رسیده به سرور های اصلی وبسایت به ظاهر از IPهای چابکان آمده است. بهمنظور اطلاع یافتن از آدرس IP واقعی کاربر، میتوانید آنرا در هدر HTTP در فیلد مشخصی پیدا نمایید. با توجه به برنامه خود میتوانید آی پی واقعی کاربر را با استفاده از کد های زیر استخراج نمایید:
IP واقعی کاربر در Nodejs
برای فعال کردن دریافت IP واقعی کاربر از طریق پراکسی در سرویس های Node.js که از Express.js استفاده میکنند، میتوانید از روش زیر استفاده نمایید.
ابتدا میبایست از طریق instance که از express ایجاد نموده اید گزینه trust proxy را روی true تنظیم کنید. این کار به Express اعلام میکند که به IP های ارسال شده توسط اعتماد کند.
const app = express();
app.set('trust proxy', true);
سپس در قسمت هایی که نیاز به ip کاربر دارید از طریق req.ips آیپی کاربر را دریافت نمایید.
req.ips.length ? req.ips[0] : req.ip
IP واقعی کاربر در Laravel
برای مشاهده IP واقعی کاربر در برنامه Laravel، میبایست به مسیر زیر رفته:
/app/Http/Middleware
سپس فایل TrustProxies.php را ادیت کرده و در بخش protected $proxies مقدار * را اضافه نمایید:
...
{
/**
* The trusted proxies for this application.
*
* @var array<int, string>|string|null
*/
protected $proxies = '*';
...
}
IP واقعی کاربر در ASP.Net
برای گرفتن IP اصلی کاربر در ASP.Net از تکه کد زیر استفاده میکنیم:
Public string function get_real_ip_add (){
if (!IsEmpty(Request.ServerVariables["REAL_IP"]))
return Request.ServerVariables["REAL_IP"];
else if (!IsEmpty(Request.ServerVariables["REMOTE_ADDR"]))
return Request.ServerVariables["REMOTE_ADDR"]
{
String ip = get_real_ip_add();
IP واقعی کاربر در PHP
برای گرفتن IP اصلی کاربر در PHP از تکه کد زیر استفاده میکنیم:
function get_real_ip_addr(){
if (!empty($_SERVER['REAL_IP'])){
$ip = $_SERVER['REAL_IP'];
{
} elseif(!empty($_SERVER['REMOTE_ADDR']))
$ip = $_SERVER['REMOTE_ADDR'];
{
return $ip;
{
$ip = get_real_ip_addr()
IP واقعی کاربر در Python
برای گرفتن IP اصلی کاربر در Python از تکه کد زیر استفاده میکنیم:
import socket
def get_real_ip_addr(request):
real_ip = request.META.get('REAL_IP')
remote_addr = request.META.get('REMOTE_ADDR')
if real_ip:
ip = real_ip
elif remote_addr:
ip = remote_addr
else:
ip = request.META.get('REAL_IP')
return ip
ip = get_real_ip_addr(request)