SHARE
TWEET

Untitled

a guest Aug 10th, 2011 134 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. <?php
  2.         ob_start();
  3.         header("Content-Type: text/html;charset=utf-8");
  4.        
  5.         $uas = array(
  6.         //Chrome
  7.         "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/525.13 (KHTML, like Gecko) Chrome/0.2.149.27 Safari/525.13",
  8.         "Mozilla/5.0 (X11; U; Linux i686; en-US) AppleWebKit/532.9 (KHTML, like Gecko) Chrome/5.0.307.9 Safari/532.9",
  9.         "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/534.1 (KHTML, like Gecko) Chrome/6.0.437.3 Safari/534.1",
  10.         //IE
  11.         "Mozilla/4.0 (compatible; MSIE 6.0; MSN 2.5; Windows 98)",
  12.         "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727)",
  13.         "Mozilla/4.0 (compatible; MSIE 7.0b; Windows NT 6.0)",
  14.         "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0; WOW64; SLCC1; .NET CLR 2.0.50727; .NET CLR 3.0.04506; .NET CLR 3.5.21022)",
  15.         //Opera
  16.         "Opera/9.02 (Windows NT 5.1; U; en)",
  17.         "Opera/10.00 (Windows NT 6.0; U; en) Presto/2.2.0",
  18.         "Opera/9.80 (Windows NT 5.1; U; ru) Presto/2.5.24 Version/10.52"
  19.         );
  20.        
  21.         function checkPhotos($host, $mask, $from, $to, $right)
  22.         {
  23.                 global $uas;
  24.                
  25.                 $host = (substr($host, strlen($host)-1, 1) == '/')?($host):($host.'/');
  26.                
  27.                 $links = array();
  28.                
  29.                 $i = 0;
  30.                 for ($i = 0; $i <= ($to - $from); $i++)
  31.                 {
  32.                         $links[] = $host.str_replace('{NUM}', ($from+$i), $mask);
  33.                 }
  34.                
  35.                 $curls = curl_multi_init();
  36.                 $threads = array();
  37.                 $results = array();
  38.                
  39.                 $i = 0;
  40.                 for ($i = 0; $i < count($links); $i++)
  41.                 {
  42.                         $threads[$i] = curl_init();
  43.                        
  44.                         curl_setopt($threads[$i], CURLOPT_URL, $links[$i]);
  45.                         curl_setopt($threads[$i], CURLOPT_USERAGENT, $uas[rand(0, count($uas)-1)]);
  46.                         curl_setopt($threads[$i], CURLOPT_RETURNTRANSFER, true);
  47.                         curl_setopt($threads[$i], CURLOPT_HEADER, true);
  48.                         curl_setopt($threads[$i], CURLOPT_NOBODY, true);
  49.                        
  50.                         curl_multi_add_handle($curls, $threads[$i]);
  51.                 }
  52.                
  53.                 $done = null;
  54.                
  55.                 do
  56.                 {
  57.                         curl_multi_exec($curls, $done);
  58.                 }
  59.                 while ($done > 0);
  60.                
  61.                 $i = 0;
  62.                 for ($i = 0; $i < count($links); $i++)
  63.                 {
  64.                         $out = curl_multi_getcontent($threads[$i]);
  65.                         if (strstr($out, trim($right)))
  66.                         {
  67.                                 $results[] = $links[$i];
  68.                         }
  69.                 }
  70.                 curl_multi_close($curls);
  71.                 return $results;
  72.         }
  73. ?>
  74. <html>
  75.         <style>
  76.                 body
  77.                 {
  78.                         background-color:black;
  79.                         color:orange;
  80.                         margin:5%;
  81.                         font-family:verdana;
  82.                         font-size:8pt;
  83.                 }
  84.                 .inpc
  85.                 {
  86.                         border:1px solid gray;
  87.                         color:orange;
  88.                         background-color: #3D3D3D;
  89.                         padding:2px;
  90.                         font-family:verdana;
  91.                         font-size:8pt;
  92.                 }
  93.                 td
  94.                 {
  95.                         font-size:8pt;
  96.                 }
  97.         </style>
  98.         <body>
  99.                 <form action="" method="post">
  100.                         <table>
  101.                                 <tr>
  102.                                         <td>
  103.                                                 Хост <span style="color:gray;">(http://xxx.com/)</span>:<br>
  104.                                                 <input type="text" name="host" class="inpc">
  105.                                         </td>
  106.                                 </tr>
  107.                                 <tr>
  108.                                         <td>
  109.                                                 Маска файлов, где {NUM} - число фотографии <span style="color:gray;">(DSC_{NUM}.jpg)</span>:<br>
  110.                                                 <input type="text" name="mask" class="inpc">
  111.                                         </td>
  112.                                 </tr>
  113.                                 <tr>
  114.                                         <td>
  115.                                                 Начальное значение {NUM} <span style="color:gray;">(3400)</span>:<br>
  116.                                                 <input type="text" name="from" class="inpc">
  117.                                         </td>
  118.                                 </tr>
  119.                                 <tr>
  120.                                         <td>
  121.                                                 Конечное значение {NUM} <span style="color:gray;">(3600)</span>:<br>
  122.                                                 <input type="text" name="upto" class="inpc">
  123.                                         </td>
  124.                                 </tr>
  125.                                 <tr>
  126.                                         <td>
  127.                                                 Успешная шапка <span style="color:gray;">(Content-Type: image/jpeg)</span>:<br>
  128.                                                 <input type="text" name="head" class="inpc">
  129.                                         </td>
  130.                                 </tr>
  131.                         </table>
  132.                         <br>
  133.                         <input type="submit" value="Search" class="inpc">
  134.                 </form>
  135.                 <?php
  136.                         if (isset($_POST['host']))
  137.                         {
  138.                                 $photos = checkPhotos($_POST['host'], $_POST['mask'], $_POST['from'], $_POST['upto'], $_POST['head']);
  139.                                 if (count($photos) > 0)
  140.                                 {
  141.                                         foreach ($photos as $photo)
  142.                                         {
  143.                                                 echo('<a href="'.$photo.'" style="text-decoration:none; color:white; margin-bottom:5px;" target="_blank">'.$photo.'</a><br>');
  144.                                         }
  145.                                 }
  146.                                 else
  147.                                 {
  148.                                         echo ('Ничего не найдено');
  149.                                 }
  150.                         }
  151.                 ?>
  152.         </body>
  153. </html>
  154. <?php ob_end_flush(); ?>
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
Top