برگزیده های پرشین تولز

بن کردن یک رنج آی پی با استفاده از .htaccess!!

persian-earning

کاربر فعال درآمد اینترنتی
کاربر فعال
تاریخ عضویت
31 جولای 2004
نوشته‌ها
1,070
لایک‌ها
1
محل سکونت
UnderNet
همانطور که میدانید با استفاده از کد زیر میتوانیم دسترسی آی پی خاصی را به سایت محدود کنیم:
PHP:
Order Deny,Allow
Deny from 85.133.170.325

و اگر بخواهیم رنج آی پی ای را بن کنیم باید به این صورت عمل کنیم:

PHP:
Order Deny,Allow
Deny from 85.133.170.*

حالا مشکل اینجاست که روش رنج دهی مثل بالا دقیق نیست، اگر بخواهیم رنج دقیق بدهیم یعنی مثل85.133.85.96-85.133.70.25 چگونه باید در هیت اکسس عمل کنیم؟
 

hba

کاربر فعال صفحات داینامیک
کاربر فعال
تاریخ عضویت
8 آگوست 2004
نوشته‌ها
1,511
لایک‌ها
1
سن
39
محل سکونت
تهران-ونک-php-mysql
یه چیز هایی پیدا کردم
برای دینای کردن و رفتن به یه صفحه این خوبه
PHP:
<Files 403.shtml>
order allow,deny
allow from all
</Files>

اگر Cpanel داشته باشی هم خودش رنج انجام میده


این طوری هم می تونی رینج بدی
deny from 83.104.88.156/30
ولی باید فعال باشه ها
 

Pedram_carp3

Registered User
تاریخ عضویت
22 اکتبر 2006
نوشته‌ها
173
لایک‌ها
1
محل سکونت
xorg.conf
خارج از بحث :‌
کد:
http://www.google.com/search?q=htaccess+deny+IP+range&ie=utf-8&oe=utf-8&rls=org.>>>>>>>>>>>>debian<<<<<<<<<<<<<<<<<<:en-US:unofficial&client=firefox-a

میلاد , میبینم که کاا کوچ کردی !‌موفق باشی پسر !‌
 

persian-earning

کاربر فعال درآمد اینترنتی
کاربر فعال
تاریخ عضویت
31 جولای 2004
نوشته‌ها
1,070
لایک‌ها
1
محل سکونت
UnderNet
بعد از کلی گشتن فقط تونستم این سه تا لینک به درد بخور را پیدا کنم ولی یه مقدار پیچیده توضیح داده بودند، علی الخصوص اولی:
http://www.webmasterworld.com/forum92/3546.htm
http://www.aota.net/forums/showthread.php?postid=155330#post155330
http://forum.statcounter.com/vb/showthread.php?t=25767

مثل اینکه باید یک ذره مفاهیم نتورک بلد باشی تا بتوانید از اینها استفاده کنی!
از دوستان کسی هست بتونه کمک کنه؟
 

persian-earning

کاربر فعال درآمد اینترنتی
کاربر فعال
تاریخ عضویت
31 جولای 2004
نوشته‌ها
1,070
لایک‌ها
1
محل سکونت
UnderNet
خارج از بحث :‌
کد:
http://www.google.com/search?q=htaccess+deny+IP+range&ie=utf-8&oe=utf-8&rls=org.>>>>>>>>>>>>debian<<<<<<<<<<<<<<<<<<:en-US:unofficial&client=firefox-a

میلاد , میبینم که کاا کوچ کردی !‌موفق باشی پسر !‌


lol :rolleyes:
 

miladmovie

مدیر بازنشسته
کاربر فعال
تاریخ عضویت
25 دسامبر 2002
نوشته‌ها
1,939
لایک‌ها
3
سن
39
چه کار می خواهی بکنی چه رنجی رو می خواهی محدود کنی بگو تا ببنم تنظیماتی رو می شه واست گفت ؟
ولی خوب همون لینک اولی گفته بود که


------------
پدارم : متشکرم انشالله همه به راه راست هدایت بشوند ;)
 

persian-earning

کاربر فعال درآمد اینترنتی
کاربر فعال
تاریخ عضویت
31 جولای 2004
نوشته‌ها
1,070
لایک‌ها
1
محل سکونت
UnderNet
چه کار می خواهی بکنی چه رنجی رو می خواهی محدود کنی بگو تا ببنم تنظیماتی رو می شه واست گفت ؟
ولی خوب همون لینک اولی گفته بود که


------------
پدارم : متشکرم انشالله همه به راه راست هدایت بشوند ;)
میخوام چند کشور را بن کنم، با یکی از دوستان شبکه صحبت کردم، ظاهرا مشکل حل شده، با استفاده از netmask باید رنج داد!!!
 

persian-earning

کاربر فعال درآمد اینترنتی
کاربر فعال
تاریخ عضویت
31 جولای 2004
نوشته‌ها
1,070
لایک‌ها
1
محل سکونت
UnderNet
یک کد پی اچ پی هست و درست هم کار می کنه برای رنج، ولی متاسفانه توش فقط میشه یک رنج را داد نمیدونم چجوری میشه چند تا رنج را بن کرد، از دوستان کسی میتواند کمک کنید؟

PHP:
<?PHP
$ban_range_low=ip2long("217.219.50.1");
$ban_range_up=ip2long("217.219.50.254");
$ip=ip2long($HTTP_SERVER_VARS["REMOTE_ADDR"]);
if ($ip>$ban_range_low && $ip<$ban_range_up)
{
    print "Banned";
    exit(); 
}
?>
 

hba

کاربر فعال صفحات داینامیک
کاربر فعال
تاریخ عضویت
8 آگوست 2004
نوشته‌ها
1,511
لایک‌ها
1
سن
39
محل سکونت
تهران-ونک-php-mysql
خوب php بخواهی که دیگه کاری نداره


این یک مدل
PHP:
<?php 
$banned_ip = array(); 
$banned_ip[] = '111.111.111.110'; // first IP 
$banned_ip[] = '111.111.111.111'; // second IP 
$banned_ip[] = '111.111.111.112'; // third IP, just add more if you need 

foreach($banned_ip as $banned) {  
    $ip = $_SERVER['REMOTE_ADDR']; 
    if($ip == $banned){  
        echo "You have been banned! Sorry!"; 
        exit();  
    }  
}  

// The rest of your PHP script goes here 
?>

این یکی دیگه با رینج
PHP:
<?php
        // Addresses to block.
        $range = array('0'=>'127.0.0',
                       '1'=>'198.168'        
        );
    
        // Check current IP.
        foreach($range as $list){
            if(strstr($_SERVER['REMOTE_ADDR'], $list)){
                echo 'BANNED!';
                exit();
            }
        }
?>
 

Pedram_carp3

Registered User
تاریخ عضویت
22 اکتبر 2006
نوشته‌ها
173
لایک‌ها
1
محل سکونت
xorg.conf
حامد جان اسکریپت دومی ممکنه اشتباه کنه ٫
−−−−−−−−−

این باید کار کنه : − البته تست نکردم
PHP:
<?
$rang = array();
// Mix / Max
$rang[] = array("192.168.1.0","192.168.1.200");
$rang[] = array("127.0.0.1"."127.0.0.255");
$rang[] = array("82.99.233.10"."82.99.233.150");
$rang[] = array("217.0.0.1"."217.0.0.255");

foreach ($rang as $ban){
	  $a = explode(".",$ban[0]);
	  $b = explode(".",$ban[1]);
	  $c = explode(".",$_SERVER['REMOTE_ADDR']);
	  if($c[3] >= $a[3] and $c[3] <= $b[3]){
	  	die("I'm sorry,But you have been banned!,Go and fuck your self! ");
	  }
}
?>
 

hba

کاربر فعال صفحات داینامیک
کاربر فعال
تاریخ عضویت
8 آگوست 2004
نوشته‌ها
1,511
لایک‌ها
1
سن
39
محل سکونت
تهران-ونک-php-mysql
نه چرا اشتباه کنه strstr بعد اون مقدار لیست رو می زنه که با انجام شدنش مقدار true رو میده که if عمل مب کنه و ban می زنه
امکان اشتباه نداره ها strstr داخلش بشه true میده اگر هم اولش با اون نخونه ok نمیده


اگرچه Range کلی میشه که برای تو بهتره که بینی عمل می کنه
ولی یه اشتباهی کردی در ارایه اولی به بعد باید , باشه نه .


مرسی
 

Pedram_carp3

Registered User
تاریخ عضویت
22 اکتبر 2006
نوشته‌ها
173
لایک‌ها
1
محل سکونت
xorg.conf
این آیپی جزو رنج نیست ٫ ولی اسکریپت شما جلوشو میگیره . :)
82.99.198.168
 

miladmovie

مدیر بازنشسته
کاربر فعال
تاریخ عضویت
25 دسامبر 2002
نوشته‌ها
1,939
لایک‌ها
3
سن
39
والا همش که یکجوری کار می کنه ولی به نظر من بهتر از تابعی استفاده بشه که واسه این کاره :
http://ir.php.net/manual/en/function.in-array.php
حتما دلیلی داره که ساختنش
 

hba

کاربر فعال صفحات داینامیک
کاربر فعال
تاریخ عضویت
8 آگوست 2004
نوشته‌ها
1,511
لایک‌ها
1
سن
39
محل سکونت
تهران-ونک-php-mysql
in_array چه کاری می شه کرد باید حدود تشخیص بده نه دقیق اون رو
اره اون من رو می گیره
همون که دادی خوب کار می کنه
 

miladmovie

مدیر بازنشسته
کاربر فعال
تاریخ عضویت
25 دسامبر 2002
نوشته‌ها
1,939
لایک‌ها
3
سن
39
آهان !
آره حواسم نبود
 

persian-earning

کاربر فعال درآمد اینترنتی
کاربر فعال
تاریخ عضویت
31 جولای 2004
نوشته‌ها
1,070
لایک‌ها
1
محل سکونت
UnderNet
از تمام دوستان عزیز تشکر می کنم، تست می کنم و همین جاخبرش را میدم!
 

persian-earning

کاربر فعال درآمد اینترنتی
کاربر فعال
تاریخ عضویت
31 جولای 2004
نوشته‌ها
1,070
لایک‌ها
1
محل سکونت
UnderNet
به توصیه یکی از دوستان از کد زیر استفاده کردم و کاملا درست و بدون اشکال کار کرد، گفتم اینجا بزارم شاید به درد کسی بخوره :)


PHP:
$ip=ip2long($_SERVER['REMOTE_ADDR']);
	
	if(mysql_num_rows(mysql_query("SELECT id From ranges where start<=$ip and end>=$ip")))
	{
		header("Location: outofservice.php");
		exit();
		}
 
بالا