PDA

View Full Version : سوال: بن آی پی



shahedifar
شنبه 03 تیر 1391, 21:06 عصر
سلام.دوستان میشه یه اسکریپتی بدین برام تا بتونیم رنج آی پی ببندیم باهاش؟مدیریت هم داشته باشه که داخل مدیریت اسکریپت استفاده کنیم.من اسکریپت های متفاوتی استفاده کردم.میشه آی پی بست ولی رنج رو نمیشه ببندیم باهاش.:بوس:

ravand
یک شنبه 04 تیر 1391, 08:28 صبح
من از این روش استفاده کردم و با هر بار قطع و وصل شدن به اینترنت تونستم دو شماره ی آخر آی پیم رو تغییر بدم و دیدم بازم این کد کار میکنه.
ولی نمیدونم چرا نتونستم آی پی دو نفری رو که به سایتم سر میزنن ببندم.

<?php
$bannedIP = array("88.136.120.*");
if(in_array($_SERVER['REMOTE_ADDR'],$bannedIP)) {
header("Location: http://www.domain.com");
exit();
} else {
foreach($bannedIP as $ip) {
if(eregi($ip,$_SERVER['REMOTE_ADDR'])) {
header("Location: http://www.domain.com");
exit();
}
}
}
?>

shahedifar
سه شنبه 06 تیر 1391, 00:08 صبح
دوستان اسکریپتی ندارین؟روند عزیز این فایل هست.اسکریپت دارم.نمیشه رنج بست باهاش.

.mahshid.
سه شنبه 06 تیر 1391, 01:00 صبح
کدی که شما استفاده می کنید منسوخ شده . به جای اون می تونید از تابع preg_match استفاده بکنید . با این حال این توابع سرعت خیلی کمی داره و کد شما هم کلا مشکل داره!

امیدوارم کد زیر کمک کنه :

$rangIps = array( array('127.0.0.1','127.0.0.255') , array('192.0.0.1','192.0.0.1') , array('192.0.0.0','192.0.255.255') );
$ip = '192.0.0.1';

foreach($rangIps as $rangIp)
{

if(ip2long($rangIp[0]) < ip2long($rangIp[1]))
$r = ip2long($ip) >= ip2long($rangIp[0]) && ip2long($ip) <= ip2long($rangIp[1]);
else
$r = ip2long($ip) >= ip2long($rangIp[1]) && ip2long($ip) <= ip2long($rangIp[0]);

if( $r )
{
echo 'ban shode';
exit;
}

}

ravand
سه شنبه 06 تیر 1391, 07:54 صبح
بد نبود یه کم در مورد کدی که نوشتی توضیح میدادی.
الان اگه آی پی فرد باشه 86.57.89.34 چجوری میخوای توی این کد بذاریش؟
به جای این خط میخوای بذاریش؟

$ip = '192.0.0.1';
بقیه چی هستن؟