View Full Version : چرا گاهی فرمت آی پی ها شناسایی نمی شه
i-php-i
پنج شنبه 18 اردیبهشت 1393, 17:49 عصر
از تابع زیر برای چک کردن فرمت صحیح آی پی کاربر استفاده می کنم اما گاهی مقدار خالی برمیگردونه دلیل این موضوع چیه؟
function ip_format($ip){
if ( !preg_match("(^[0-9\.]+$)",$ip)){
return false;
}
return true;
}
hamedarian2009
پنج شنبه 18 اردیبهشت 1393, 18:38 عصر
چرا از توابع filter_var استفاده نمی کنید :
filter_var($ip, FILTER_VALIDATE_IP)
***BiDaK***
پنج شنبه 18 اردیبهشت 1393, 18:42 عصر
ضمن اینکه regex هم اشتباه است.برای مثال هر عددی میتونه باش و رقم ها مهم نیست و نقطه هر جایی میتونه باشه و ....مثلا این رو آیپی میدونه :
....6666666
qartalonline
پنج شنبه 18 اردیبهشت 1393, 19:17 عصر
من قبلا با این تابع ip رو بدست می آوردم مشکلی نداشتم باهاش.
function getIp(){
foreach (array('HTTP_CLIENT_IP', 'HTTP_X_FORWARDED_FOR', 'HTTP_X_FORWARDED', 'HTTP_X_CLUSTER_CLIENT_IP', 'HTTP_FORWARDED_FOR', 'HTTP_FORWARDED', 'REMOTE_ADDR') as $key)
if (array_key_exists($key, $_SERVER) === true)
foreach (explode(',', $_SERVER[$key]) as $ip)
if (filter_var($ip, FILTER_VALIDATE_IP) !== false)
return $ip;
}
i-php-i
پنج شنبه 18 اردیبهشت 1393, 20:40 عصر
ضمن اینکه regex هم اشتباه است.برای مثال هر عددی میتونه باش و رقم ها مهم نیست و نقطه هر جایی میتونه باشه و ....مثلا این رو آیپی میدونه :
....6666666
کاربرها با آی پی ناشناخته توی سایت می چرخن و پیام درج می کنن و...، اگر آی پی ساختگی بدن نمی تونن بخوبی با سایت تعامل داشته باشن، بخاطر ورژن جدید آی پی ها این مشکل بوجود نمی یاد؟
***BiDaK***
پنج شنبه 18 اردیبهشت 1393, 20:53 عصر
شما بهتره از توابعی که دوستان گفتن استفاده کنید.
پارسال یه کلاسی هم آقای شهرکی فک میکنم تو همین تالار گذاشته بودن.
saeedvir
پنج شنبه 18 اردیبهشت 1393, 23:13 عصر
https://www.sixxs.net/wiki/Detecting_IPv6_In_a_Web_Page
و
https://www.google.com/search?q=GET+IPV6+IN+PHP&oq=GET+IPV6+IN+PHP&aqs=chrome.0.57j0l2.5041j0&sourceid=chrome&ie=UTF-8
vBulletin® v4.2.5, Copyright ©2000-1403, Jelsoft Enterprises Ltd.