رفتن به مطلب
Milad Rafi

جداسازی و انتقال کاربران ایرانی و خارجی

پست های پیشنهاد شده

سلام

راهی هست که توی سایت کاربران ایرانی و خارجی(هرکشوری به جز ایران ) رو شناسایی کرد و برای هر کدوم یه نسخه از سایت رو نمایش داد؟

میخوام کاربر ها وقتی ادرس سایت site.com رو میزنن اگه ایرانی هستند به ادرس site.com/fa منتقل بشند و سایر کابر ها به site.com/en

به اشتراک گذاری این ارسال


لینک به ارسال

از طریق کد میتونید آی پی کاربر وارد شده را برسی و غیر ایرانی بودنش رو برسی کنید

به اشتراک گذاری این ارسال


لینک به ارسال

میشه زحمت کدش رو بکشید و بدید؟ و یا این که یه مرجع براش معرفی کنید که استفاده کنم.خودم با جستجو به نتیجه ای نرسیدم

ممنون

ویرایش شده توسط Milad Rafi

به اشتراک گذاری این ارسال


لینک به ارسال

شما محدوده رنج ایپی ایران رو بدست میارین(روی نت هست جستجو کنید پیدا میکنید)

و با استفاده از کدی مثل زیر میتونید این کارو انجام بدید

$range_start = ip2long("68.61.156.0");
$range_end = ip2long("68.61.181.255");
$ip = ip2long($_SERVER['REMOTE_ADDR']);
if ($ip >= $range_start && $ip <= $range_end) {
header("Location: http://fa.wp-parsi.com");
exit;
}else{
header("Location: http://en.wp-parsi.com");
exit;
}

به اشتراک گذاری این ارسال


لینک به ارسال

ممنون عزیز

راهی وجود نداره رنج ای پی ها خودکار از یه سایت یا لیست دریافت بشه؟

چون تعدادشون خیلی زیاد هست که دستی بخوام وارد کنم

http://services.ce3c.be/ciprg/?countrys=IRAN+%28ISLAMIC+REPUBLIC+OF%29

به اشتراک گذاری این ارسال


لینک به ارسال

سایتهای زیادی هستن که برای این کار api عرضه میکنن که میتونین از اونها استفاده کنید

    http://ipinfodb.com/ip_location_api.php
http://www.ipgeo.com/api/
http://ip2.cc/
http://www.geobytes.com/IpLocator.htm

مثال:


http://www.hostip.info/use.html
$ip = $_SERVER['REMOTE_ADDR'];
$details = json_decode(file_get_contents("http://ipinfo.io/{$ip}"));
echo $details->country; // -> "US"

از کتابخانه زیر هم میتونین استفاده کنید

https://github.com/willdurand/Geocoder

از دیتابیس زیر هم میتونین استفاده کنید


http://www.maxmind.com/app/geolite

$iplong = ip2long($_SERVER['REMOTE_ADDR']);

// should use mysqli with prepared statements etc, but just an example
mysql_query("
SELECT country
FROM ip_table
WHERE $iplong BETWEEN ip_long_from AND ip_long_to
LIMIT 1
");

به اشتراک گذاری این ارسال


لینک به ارسال

به گفتگو بپیوندید

هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .

مهمان
ارسال پاسخ به این موضوع ...

×   شما در حال چسباندن محتوایی با قالب بندی هستید.   حذف قالب بندی

  تنها استفاده از 75 اموجی مجاز می باشد.

×   لینک شما به صورت اتوماتیک جای گذاری شد.   نمایش به صورت لینک

×   محتوای قبلی شما بازگردانی شد.   پاک کردن محتوای ویرایشگر

×   شما مستقیما نمی توانید تصویر خود را قرار دهید. یا آن را اینجا بارگذاری کنید یا از یک URL قرار دهید.


×
×
  • اضافه کردن...