PDA

View Full Version : هدایت یک ای پی خاص



soheil2020
یک شنبه 26 آذر 1391, 09:39 صبح
سلام من چه طوری میتونم یه ای پی خاص رو به یک صفحه دیگه منتقل کنم ؟

siavashsay
یک شنبه 26 آذر 1391, 10:08 صبح
بسیار ساده هست :


$your_ip="111.111.111.111";
$get_ip=$_SERVER['REMOTE_ADDR'];
if($your_ip==$get_ip){
header("Location:Your_Page.php");
}

در اینجا شما اول IP مورد نظرتون رو دارید : $your_ip و بعد با دستور
$_SERVER['REMOTE_ADDR']; آی پی وارد شده به سایت خود رو میگیرید !
چنانچه اون آی پی برابر با آی پی مورد نظر شما بود با دستور Header اون فرد به صفحه مورد نظر شما هدایت میشه !

soheil2020
یک شنبه 26 آذر 1391, 16:21 عصر
بسیار ساده هست :


$your_ip="111.111.111.111";
$get_ip=$_SERVER['REMOTE_ADDR'];
if($your_ip==$get_ip){
header("Location:Your_Page.php");
}

در اینجا شما اول IP مورد نظرتون رو دارید : $your_ip و بعد با دستور
$_SERVER['REMOTE_ADDR']; آی پی وارد شده به سایت خود رو میگیرید !
چنانچه اون آی پی برابر با آی پی مورد نظر شما بود با دستور Header اون فرد به صفحه مورد نظر شما هدایت میشه !
ممنونم
ولی ای پی مد نظر من کلاس B ای پی هست در واقع یک رنج هست
تک ای پی نیست

Unique
یک شنبه 26 آذر 1391, 16:40 عصر
البته با htaccess. هم میشه ، خدایی این apache معرکست :



RewriteEngine on
RewriteCond %{REMOTE_ADDR} ^111\.111\.111\.111
RewriteRule .* /see_this_page.php [R=301,L]

با این روش میتونید ip range ها را هم محدود کنید.

siavashsay
یک شنبه 26 آذر 1391, 17:27 عصر
بله ! با htaccess هم میشه !
اما شما میتونید ای پی رنج خودتون رو مثلا در دیتابیس ذخیره کنید ! و بعد با دستورات PHP و MYSQL همین حرکت رو انجام بدید !

soheil2020
یک شنبه 26 آذر 1391, 21:03 عصر
البته با htaccess. هم میشه ، خدایی این apache معرکست :



RewriteEngine on
RewriteCond %{REMOTE_ADDR} ^111\.111\.111\.111
RewriteRule .* /see_this_page.php [R=301,L]

با این روش میتونید ip range ها را هم محدود کنید.
ببنید
مثلا بخوام رنج
60.15.1.1.
تا
60.15.255.255
رو هدایت کنم
اینجا دقیقا "111\.111\.111\.111 " چی بنویسم مختصر توضیح میشه بدید ؟

siavashsay
دوشنبه 27 آذر 1391, 00:28 صبح
دوست عزیز !
نمیدونم شما ip ها رو چطور وارد کردید ! اما ازین 2 حالت خارج نیست !
1- یا در دیتابیس وارد کردید !
2- یا از API استفاده میکنید !
--
اگر گزینه 1 باشه پس باید ip Num هم داشته باشید ! یعنی معمولا لیست ip ها رو تحت 6 فیلد تو دیتابیس ذخیره میکنن !

begin_ip | end_ip | begin_ip_num | end_ip_num | country_name | country_code

حالا شما مثلا باید یک کشور رو در نظر بگیرید که میخواید مراجعه کنندگان اون کشور به صفحه مورد نظر شما هدایت شن!
وقتی شما یک ip رو از کاربر میگیرید باید اون رو به ip num تبدیل کنید توسط تابع ip2long !
حالا به راحتی شما میتونید ip کاربر رو چک و تبدیل به عدد ای پی کرده و کد اختصاری اون کشور رو بدست بیارید و اگر مطابق با کشور مورد نظر شما بود به صفحه مورد نظر شما هدایت شن !

مثال :


$get_ip=$_SERVER['REMOTE_ADDR'];
$ip_num=ip2long($get_ip);
$sql=mysql_query("SELECT * FROM `ip` WHERE ".$ip_num." BETWEEN `begin_ip_num` AND `end_ip_num`");
$obj=mysql_fetch_object($sql);
$c_code=$obj->country_code;
if($c_code=="US"){
header("Location:Your_Page.php");
}


همچنین اگر از طریق API استفاده میکنید اینکار دیگه راحت تر هم میشه !

Unique
دوشنبه 27 آذر 1391, 01:22 صبح
دوست عزیز این داستانها را نمیخواد ، اینطوری عمل کنید :


RewriteEngine on
RewriteCond %{REMOTE_ADDR} ^60\.15\.
RewriteRule .* /see_this_page.php [R=301,L]