Очень неприятно, когда в
интеренете появляются сайты,
сделаные методом скачивания
содержимого с твоего, долгими
трудами созданного. Вот от таких
непорядочных людей и помогает этот скрипт. Запись запрещающей
строки в .htaccess осуществляется
автоматически. Скрипт вставляется
в каждую страницу сайта с
помощью include. Описание
настроек скрипта: // error_reporting(0) После
установки и настройки скрипта
комментарий снять.
$limit // Максимально допустимое
количество обращений к сайту с
одного IP-адреса в минуту. $htaccess // Путь к файлу .htaccess
$htstring // Комментарий к строке
в файле .htaccess
$dirfiles // Путь к папке с
временными файлами
$logfiles // Имена временных файлов
$excludes // Массив исключений с
именами хостов, которым "можно
всё"

                        
< ? p h p / / e r r o r _ r e p o r t i n g ( 0 ) ; $ a d d r e s s = $ _ S E R V E R [ ' R E MO T E _ AD D R ' ] ; $ r e f = $ _ S E R V E R [ ' H T T P _ R E F E R E R ' ] ; $ u r l = u r l d e c o d e ( $ _ S E R V E R [ ' R E Q U E S T _ U R I ' ] ) ; $ l i m i t = 2 0 ; $ t i me n ow = t i me ( ) ; $ b r ows e r = $ _ S E R V E R [ ' H T T P _ U S E R _ AG E N T ' ] ; $ h t a c c e s s = $ _ S E R V E R [ ' D O C U M E N T _ R O O T ' ] . " / . h t a c c e s s " ; $ d i r f i l e s = $ _ S E R V E R [ ' D O C U M E N T _ R O O T ' ] . " / a n t i r i p / l o g f i l e s / " ; $ l o g f i l e s = " $ d i r f i l e s " . $ a d d r e s s ; $ h o s t n ame = g e t h o s t b y a d d r ( $ a d d r e s s ) ; $ d a t e t i me = d a t e ( " Y - m - d H : i : s " ) ; $ i p 1 = g e t e n v ( " H T T P _ X _ F O RWAR D E D _ F O R " ) ; $ i p 2 = g e t e n v ( " R E MO T E _ AD D R " ) ; $ h o s t i p 1 = g e t h o s t b y a d d r ( $ i p 1 ) ; $ h o s t i p 2 = g e t h o s t b y a d d r ( $ i p 2 ) ; i f ( $ i p 1 ! = $ i p 2 ) { $ h t s t r i n g = NU L L ; i f ( ! emp t y ( $ i p 1 ) ) { p r e g _ ma t c h _ a l l ( ' / [ 0 - 9 ] { 1 , 3 } . [ 0 - 9 ] { 1 , 3 } . [ 0 - 9 ] { 1 , 3 } . [ 0 - 9 ] { 1 , 3 } / ' , $ i p 1 , $ i p 1 ) ; $ i p 1 = a r r a y _ u n i q u e ( $ i p 1 [ 0 ] ) ; f o r e a c h ( $ i p 1 a s $ v ) { $ h t s t r i n g . = " D e n y f r om " . $ v . "  З а б л о к и р о в а н В н у т р е н н и й I P  $ h o s t i p 1 r n " ; } } i f ( ! emp t y ( $ i p 2 ) ) { $ h t s t r i n g . = " D e n y f r om " . $ i p 2 . "  З а б л о к и р о в а н I P P r o x y  $ h o s t i p 2 r n " ; } } e l s e { $ h t s t r i n g = " D e n y f r om " . $ a d d r e s s . "  З а б л о к и р о в а н В н ешн и й I P  $ h o s t n ame r n " ; } $ e x c l u d e s = a r r a y ( " y a n d e x . r u " , " r amb l e r . r u " , " g o o g l e b o t . c om" , " we b a l t a b o t . c om" , " i n k t om i s e a r c h . c om" , " s e a r c h . l i v e . c om" , ) ; i f ( $ o p e n d i r = o p e n d i r ( $ d i r f i l e s ) ) { wh i l e ( f a l s e ! = = ( $ l o g = r e a d d i r ( $ o p e n d i r ) ) ) { i f ( $ l o g ! = " . " a n d $ l o g ! = " . . " ) { $ t i me l o g = d a t e ( f i l em t i me ( " $ d i r f i l e s " . " $ l o g " ) ) ; i f ( $ t i me l o g < ( $ t i me n ow - 6 0 ) ) { u n l i n k ( " $ d i r f i l e s " . " $ l o g " ) ; } } } } f o r e a c h ( $ e x c l u d e s a s $ v ) { i f ( p r e g _ ma t c h ( ' / ' . $ v . ' / ' , $ h o s t n ame ) ) { e x i t ; } } i f ( ! f i l e _ e x i s t s ( $ l o g f i l e s ) ) { f o p e n ( $ l o g f i l e s , " w+ " ) ; } $w r i t e = " $ d a t e t i me - $ h o s t n ame B r ows e r : $ b r ows e r R e f e r e r : $ r e f U R L : $ u r l r n " ; i f ( $ l o g f i l e s ) { i f ( i s _ w r i t a b l e ( $ l o g f i l e s ) ) { i f ( ! $ h a n d l e = f o p e n ( $ l o g f i l e s , ' a ' ) ) { e x i t ; } i f ( f w r i t e ( $ h a n d l e , $w r i t e ) = = = F A L S E ) { e x i t ; } f c l o s e ( $ h a n d l e ) ; } } i f ( ( c o u n t ( f i l e ( $ l o g f i l e s ) ) > $ l i m i t ) a n d ( $ t i me l o g > ( $ t i me n ow - 6 0 ) ) ) { i f ( $ h t a c c e s s ) { f o r e a c h ( f i l e ( $ h t a c c e s s ) a s $ h ) { i f ( $ h = = = $ h t s t r i n g ) { e x i t ; } } i f ( i s _ w r i t a b l e ( $ h t a c c e s s ) ) { i f ( ! $ h a n d l e = f o p e n ( $ h t a c c e s s , ' a ' ) ) { e x i t ; } i f ( f w r i t e ( $ h a n d l e , $ h t s t r i n g ) = = = F A L S E ) { e x i t ; } f c l o s e ( $ h a n d l e ) ; } } } ? >
-6 13 0
0

Нет фото
TheNames * 10.92
• 22 май 2014, 18:08


Как установить?