HOME FORUMS MEMBERS RECENT POSTS LOG IN  
× Авторизация
Имя пользователя:
Пароль:
Нет аккаунта? Регистрация
Баннер 1   Баннер 2
НОВЫЕ ТОРГОВАЯ НОВОСТИ ЧАТ
loading...
Скрыть
Вернуться   ANTICHAT > ПРОГРАММИРОВАНИЕ > PHP
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #11371  
Старый 16.07.2009, 14:33
mailbrush
Познавший АНТИЧАТ
Регистрация: 24.06.2008
Сообщений: 1,996
С нами: 9410786

Репутация: 2731


По умолчанию

А это не здесь задавай. Тут вопросы по PHP, а не по движкам.
 
Ответить с цитированием

  #11372  
Старый 16.07.2009, 15:05
Spaise
Познающий
Регистрация: 21.03.2008
Сообщений: 39
С нами: 9547025

Репутация: 21
По умолчанию

Цитата:
Сообщение от ANTIHАCK  
мм.. и еще вопросик) как вывести это в DLE?)) Просто в шаб вставить естественно не робит.
Сделай как блок рекламы, ну и в шаблоне тег рекламы не забудь.

Люди, подскажите пожалуйста любой готовый простенький пример авторизации PHP+CURL с cookie.
 
Ответить с цитированием

  #11373  
Старый 16.07.2009, 15:53
heretic1990
Постоянный
Регистрация: 02.07.2008
Сообщений: 472
С нами: 9399011

Репутация: 444
Unhappy

вобще делаю скрипт накрутки хостов. но он чегото не работает, я вроде всё сделал правильно. в чём ошибка? поправте пожалуйста!

PHP код:
<?php
function error$error false )
{
    
header"Expires: Thu, 19 Feb 1998 13:24:18 GMT" );
    
header"Last-Modified: ".gmdate"D, d M Y H:i:s" )." GMT" );
    
header"Cache-Control: no-cache, must-revalidate" );
    
header"Cache-Control: post-check=0, pre-cache=0" );
    
header"Cache-Control: max-age=0" );
    
header"Pragma: no-cache" );
    
header"Content-Type: text/html; charset=windows-1251" );
    
$rand mt_rand099999 );
    echo 
"<html>\r\n
<head>\r\n
<meta http-equiv=\"Content-Type\" content=\"text/html; charset=windows-1251\" />
<title>Накрутка хостов</title>\r\n
</head>\r\n
<body>\r\n
<form action=\"index.php\" method=\"post\">\r\n"
;
    if ( 
$error == "agents" )
    {
        echo 
"<b>Файл с браузерами недоступен или пуст!</b><br/>\n";
    }
    if ( 
$error == "proxys" )
    {
        echo 
"<b>Файл с прокси адресами недоступен или пуст!</b><br/>\n";
    }
    echo 
"Количество хостов:<br/>\n";
    if ( 
$error == "kol" )
    {
        echo 
"Мин:1 Макс:10000<br/>\n";
    }
    echo 
"<input name=\"kol\" type=\"text\" value=\"100\" maxlength=\"5\" size=\"5\" /><br/>\r\nАдрес:<br/>\n";
    if ( 
$error == "link" )
    {
        echo 
"Не корректно!<br/>\n";
    }
    echo 
"<input name=\"link\" type=\"text\" value=\"http://\" maxlength=\"100\" /><br/>\r\nМакс. время соединений:<br/>\n";
    if ( 
$error == "time" )
    {
        echo 
"Мин:1 Макс:30<br/>\n";
    }
    echo 
"<input name=\"time\" type=\"text\" value=\"10\" maxlength=\"2\" size=\"2\" /><br/>\r\nМетод передачи:<br/>\n";
    if ( 
$error == "method" )
    {
        echo 
"GET или POST<br/>\n";
    }
    echo 
"<select name=\"method\">\r\n
<option value=\"1\">GET</option>\r\n
<option value=\"2\">POST</option>\r\n
</select><br/>\r\nПротокол передачи:<br/>\n"
;
    if ( 
$error == "protokol" )
    {
        echo 
"HTTP/1.0 или HTTP/1.1<br/>\n";
    }
    echo 
"<select name=\"protoko\">\r\n
<option value=\"1\">HTTP/1.0</option>\r\n
<option value=\"2\">HTTP/1.1</option>\r\n
</select><br/>\r\nСоединение:<br/>\n"
;
    if ( 
$error == "connection" )
    {
        echo 
"Close или Keep-Alive<br/>\n";
    }
    echo 
"<select name=\"connection\">\r\n
<option value=\"1\">Close</option>\r\n
<option value=\"2\">Keep-Alive</option>\r\n
</select><br/>\r\nВыбор телефона:<br/>\n"
;
    if ( 
$error == "agent" )
    {
        echo 
"случайно или по порядку<br/>\n";
    }
    echo 
"<select name=\"agent\">\r\n
<option value=\"1\">случайно</option>\r\n
<option value=\"2\">по порядку</option>\r\n
</select><br/>\r\nВыбор прокси:<br/>\n"
;
    if ( 
$error == "proxy" )
    {
        echo 
"случайно или по порядку<br/>\n";
    }
    echo 
"<select name=\"proxy\">\r\n
<option value=\"1\">случайно</option>\r\n
<option value=\"2\">по порядку</option>\r\n
</select><br/>\r\n<input name=\"submit\" type=\"submit\" value=\"Крутить\">\r\n
</form>\r\n

</body>\r\n
</html>\n"
;
}

error_reporting);
$kol intval$_POST['kol'] );
$link $_POST['link'];
$time intval$_POST['time'] );
$method intval$_POST['method'] );
$protokol intval$_POST['protokol'] );
$connection intval$_POST['connection'] );
$agent intval$_POST['agent'] );
$proxy intval$_POST['proxy'] );
$agents = array( );
$proxys = array( );
$agents file"agents.txt" );
$proxys file"proxys.txt" );
$cagents count$agents );
$cproxys count$proxys );
if ( empty( 
$kol ) || empty( $link ) || empty( $time ) || empty( $method ) || empty( $protokol ) || empty( $connection ) )
{
    
error( );
}
else if ( 
$kol || 10000 $kol )
{
    
error"kol" );
}
else if ( 
strlen$link ) < 15 || 100 strlen$link ) || substr$link0) !== "http://" )
{
    
error"link" );
}
else if ( 
$time || 30 $time )
{
    
error"time" );
}
else if ( 
$method || $method )
{
    
error"method" );
}
else if ( 
$protokol || $protokol )
{
    
error"protokol" );
}
else if ( 
$connection || $connection )
{
    
error"connection" );
}
else if ( 
$agent || $agent )
{
    
error"agent" );
}
else if ( 
$proxy || $proxy )
{
    
error"proxy" );
}
else if ( 
$cagents )
{
    
error"agents" );
}
else if ( 
$cproxys )
{
    
error"proxys" );
}
else
{
    
$na = -1;
    
$np = -1;
    
$link substr$link);
    
$host strtok$link"/" );
    if ( 
$host == false )
    {
        
$host $link;
    }
    if ( 
$method == )
    {
        
$method "GET";
    }
    else
    {
        
$method "POST";
    }
    if ( 
$protokol == )
    {
        
$protokol "HTTP/1.0";
    }
    else
    {
        
$protokol "HTTP/1.1";
    }
    if ( 
$connection == )
    {
        
$connection "Close";
    }
    else
    {
        
$connection "Keep-Alive";
    }
    
$i 0;
    for ( ; 
$i $kol; ++$i )
    {
        if ( 
$agent == )
        {
            
$na mt_rand0$cagents );
        }
        else
        {
            ++
$na;
        }
        if ( 
$proxy == )
        {
            
$np mt_rand0$cproxys );
        }
        else
        {
            ++
$np;
        }
        if ( 
$cagents <= $na )
        {
            
$na 0;
        }
        if ( 
$cproxys <= $np )
        {
            
$np 0;
        }
        
$a trim$agents[$na] );
        
$p trim$proxys[$np] );
        if ( empty( 
$a ) || empty( $p ) )
        {
        }
        else
        {
            
$hd "{$method} http://{$link} {$protokol}\r\n";
            
$hd .= "Host: {$host}\r\n";
            
$hd .= "Proxy-Connection: {$connection}\r\n";
            
$hd .= "User-Agent: {$a}\r\n\r\n";
            
$p explode":"$p );
            
$sock trim$p['0'] );
            
$port trim$p['1'] );
            if ( empty( 
$sock ) || empty( $port ) )
            {
            }
            else
            {
                
$fo fsockopen$sock$port$er1$er2$time );
                
fputs$fo$hd );
            }
        }
    }
    
$text "";
    while ( !
feof$fo ) )
    {
        
$text .= fgets$fo1024 );
    }
    
$hd substr$text0strpos$text"\r\n\r\n" ) );
    
$text substr$textstrpos$text"\r\n\r\n" ) + );
    if ( 
$powered strtokstrstr$hd"X-Powered-By:" ), "\r\n" ) )
    {
        
header$powered );
    }
    if ( 
$cache strtokstrstr$hd"Cache-Control:" ), "\r\n" ) )
    {
        
header$cache );
    }
    if ( 
$expires strtokstrstr$hd"Expires:" ), "\r\n" ) )
    {
        
header$expires );
    }
    if ( 
$pragma strtokstrstr$hd"Pragma:" ), "\r\n" ) )
    {
        
header$pragma );
    }
    if ( 
$modified strtokstrstr$hd"Last-Modified:" ), "\r\n" ) )
    {
        
header$modified );
    }
    if ( 
$type strtokstrstr$hd"Content-Type:" ), "\r\n" ) )
    {
        
header$type );
    }
    if ( 
$disposition strtokstrstr$hd"Content-Disposition:" ), "\r\n" ) )
    {
        
header$disposition );
    }
    if ( 
$etag strtokstrstr$hd"ETag:" ), "\r\n" ) )
    {
        
header$etag );
    }
    if ( 
$ranges strtokstrstr$hd"Accept-Ranges:" ), "\r\n" ) )
    {
        
header$ranges );
    }
    exit( 
$text );
}
?>
 
Ответить с цитированием

  #11374  
Старый 16.07.2009, 16:25
FireFenix
Постоянный
Регистрация: 03.06.2009
Сообщений: 385
С нами: 8915117

Репутация: 389
По умолчанию

Редкий говнокод

1) Отдели HTML от PHP
2) Вместо If используй switch

^- Повысит шансы найти проблему

3) Перепишы на CURL, чтобы непариться отладкой и чтобы уменьшить на порядок код
 
Ответить с цитированием

  #11375  
Старый 16.07.2009, 16:38
heretic1990
Постоянный
Регистрация: 02.07.2008
Сообщений: 472
С нами: 9399011

Репутация: 444
По умолчанию

Цитата:
Редкий говнокод
я старался
 
Ответить с цитированием

КАк выйти из рекурсии
  #11376  
Старый 16.07.2009, 16:56
DTW
Участник форума
Регистрация: 11.05.2008
Сообщений: 202
С нами: 9473484

Репутация: 104
По умолчанию КАк выйти из рекурсии

PHP код:
 function Findurl($http,$path,$lv=0)
 {

  
$curl curl_init($http.$path);
 
// Параметры соединения
 
curl_setopt($curlCURLOPT_RETURNTRANSFER,1);
 
curl_setopt($curlCURLOPT_USERAGENT'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.0.4) Gecko/20060516 SeaMonkey/1.0.2'); 
 
// Получаем соедржимое страницы
 
$id2 curl_exec($curl);
 
curl_close($curl);
 
//ищем ссылки на обьявления
 
$pat2 '#href=\"(\d+\.html)\"#im';  
 
$total preg_match_all($pat2,$id2,$poc2) ;
 
//echo("<pre>");
 //print_r($poc2[1]);
 // echo("</pre>");
  
  
for($i=0$i $total-1;  $i++) {
  
  if(
cheak($poc2[1][$i],'url','link')) {
    
links($poc2[1][$i]);
  }
   
 }
        
   
$pats3='#href=\"(table\d+\.html)\"#im';       
  
$tot preg_match_all($pats3$id2,$pock);
   echo(
"<pre>");
        
print_r($pock[1]);
   echo(
"</pre>"); 
      
       if(
$lv $tot) {
     for(
$i=0$i $tot ;  $i++)
     {
 
Findurl('http://site.ws/page/'.$pock[1][$i],$lv+1);
     }      
  
       } 
       

Допутим там линков на 20 страниц

как сделать что он повторно не ходил по линкам

у меня все зацыкливаеться?
------------------------------------
Все решил создал таблицу туда все страницы вбил

после завершение раб фун вызываю фун для удаление страниц из таблицы

Последний раз редактировалось DTW; 16.07.2009 в 17:35..
 
Ответить с цитированием

  #11377  
Старый 16.07.2009, 21:52
FireFenix
Постоянный
Регистрация: 03.06.2009
Сообщений: 385
С нами: 8915117

Репутация: 389
По умолчанию

Вести историю переходов в массиве, потом при переходе проверять in_array
 
Ответить с цитированием

  #11378  
Старый 16.07.2009, 22:05
sNt
Участник форума
Регистрация: 30.07.2008
Сообщений: 152
С нами: 9358231

Репутация: 34
По умолчанию

Имхо если их куда-то записывать и проверять, была ли такая уже в рамках данного цикла (или вообще все их писать)
 
Ответить с цитированием

  #11379  
Старый 16.07.2009, 23:26
j0ker13
Участник форума
Регистрация: 28.07.2008
Сообщений: 199
С нами: 9361870

Репутация: 58
По умолчанию

такой код
Цитата:
$result=mysql_query('SELECT * FROM `tableA` inner join tableB on tableA.delivery=tableB.id');
while($row = mysql_fetch_array($result)){
echo $row['id'];}
в обоих таблицах столбик ид.
надо вывести ид из первой таблицы а он выводит из второй. так не помогает $row['tableA.id']
как сделать?)
 
Ответить с цитированием

  #11380  
Старый 16.07.2009, 23:41
sNt
Участник форума
Регистрация: 30.07.2008
Сообщений: 152
С нами: 9358231

Репутация: 34
По умолчанию

To heretic1990:

PHP код:
<?php 

function error$error false 

    
header"Expires: Thu, 19 Feb 1998 13:24:18 GMT" ); 
    
header"Last-Modified: ".gmdate"D, d M Y H:i:s" )." GMT" ); 
    
header"Cache-Control: no-cache, must-revalidate" ); 
    
header"Cache-Control: post-check=0, pre-cache=0" ); 
    
header"Cache-Control: max-age=0" ); 
    
header"Pragma: no-cache" ); 
    
header"Content-Type: text/html; charset=windows-1251" ); 
    
$rand mt_rand099999 ); 
    echo 
"<html>\r\n 
<head>\r\n 
<meta http-equiv=\"Content-Type\" content=\"text/html; charset=windows-1251\" /> 
<title>Накрутка хостов</title>\r\n 
</head>\r\n 
<body>\r\n 
<form action=\"test.php\" method=\"post\">\r\n"


    if ( 
$error == "agents" 
    { 
        echo 
"<b>Файл с браузерами недоступен или пуст!</b><br/>\n"
    } 
    if ( 
$error == "proxys" 
    { 
        echo 
"<b>Файл с прокси адресами недоступен или пуст!</b><br/>\n"
    } 
    echo 
"Количество хостов:<br/>\n"
    if ( 
$error == "kol" 
    { 
        echo 
"Мин:1 Макс:10000<br/>\n"
    } 
    echo 
"<input name=\"kol\" type=\"text\" value=\"100\" maxlength=\"5\" size=\"5\" /><br/>\r\nАдрес:<br/>\n"
    if ( 
$error == "link" 
    { 
        echo 
"Не корректно!<br/>\n"
    } 
    echo 
"<input name=\"link\" type=\"text\" value=\"http://\" maxlength=\"100\" /><br/>\r\nМакс. время соединений (секунд):<br/>\n"
    if ( 
$error == "time" 
    { 
        echo 
"Мин:1 Макс:30<br/>\n"
    } 
    echo 
"<input name=\"time\" type=\"text\" value=\"10\" maxlength=\"2\" size=\"2\" /><br/>\r\nМетод передачи:<br/>\n"
    if ( 
$error == "method" 
    { 
        echo 
"GET или POST<br/>\n"
    } 
    echo 
"<select name=\"method\">\r\n 
<option value=\"GET\">GET</option>\r\n 
<option value=\"POST\">POST</option>\r\n 
</select><br/>\r\nПротокол передачи:<br/>\n"

    if ( 
$error == "protokol" 
    { 
        echo 
"HTTP/1.0 или HTTP/1.1<br/>\n"
    } 
    echo 
"<select name=\"protokol\">\r\n 
<option value=\"HTTP/1.0\">HTTP/1.0</option>\r\n 
<option value=\"HTTP/1.1\">HTTP/1.1</option>\r\n 
</select><br/>\r\nСоединение:<br/>\n"

    if ( 
$error == "connection" 
    { 
        echo 
"Close или Keep-Alive<br/>\n"
    } 
    echo 
"<select name=\"connection\">\r\n 
<option value=\"Close\">Close</option>\r\n 
<option value=\"Keep-Alive\">Keep-Alive</option>\r\n 
</select><br/>\r\nВыбор телефона:<br/>\n"

    if ( 
$error == "agent" 
    { 
        echo 
"случайно или по порядку<br/>\n"
    } 
    echo 
"<select name=\"agent\">\r\n 
<option value=\"1\">случайно</option>\r\n 
<option value=\"2\">по порядку</option>\r\n 
</select><br/>\r\nВыбор прокси:<br/>\n"

    if ( 
$error == "proxy" 
    { 
        echo 
"случайно или по порядку<br/>\n"
    } 
    echo 
"<select name=\"proxy\">\r\n 
<option value=\"1\">случайно</option>\r\n 
<option value=\"2\">по порядку</option>\r\n 
</select><br/>\r\n<input name=\"submit\" type=\"submit\" name=\"start\" value=\"Крутить\">\r\n 
</form>\r\n 

</body>\r\n 
</html>\n"



error_reporting); 
$kol intval$_POST['kol'] ); 
$link $_POST['link']; 
$time intval$_POST['time'] ); 
$method $_POST['method']; 
$protokol $_POST['protokol']; 
$connection $_POST['connection']; 
$agent intval$_POST['agent'] ); 
$proxy intval$_POST['proxy'] ); 
$agents = array( ); 
$proxys = array( ); 
$agents file"agents.txt" ); 
$proxys file"proxys.txt" ); 
$cagents count$agents ); 
$cproxys count$proxys ); 
if ( empty( 
$kol ) || empty( $link ) || empty( $time ) || empty( $method ) || empty( $protokol ) || empty( $connection ) ) 

    
error( ); 

else if ( 
$kol || 10000 $kol 

    
error"kol" ); 

else if ( 
strlen$link ) < 15 || 100 strlen$link ) || substr$link0) !== "http://" 

    
error"link" ); 

else if ( 
$time || 30 $time 

    
error"time" ); 

else if ( 
$method || $method 

    
error"method" ); 

else if ( 
$protokol || $protokol 

    
error"protokol" ); 

else if ( 
$connection || $connection 

    
error"connection" ); 

else if ( 
$agent || $agent 

    
error"agent" ); 

else if ( 
$proxy || $proxy 

    
error"proxy" ); 

else if ( 
$cagents 

    
error"agents" ); 

else if ( 
$cproxys 

    
error"proxys" ); 

else 

    
$na = -1
    
$np = -1
    
$link substr$link); 
    
$host strtok$link"/" ); 
    if ( 
$host == false 
    { 
        
$host $link
    } 
    if ( 
$method == 
    { 
        
$method "GET"
    } 
    else 
    { 
        
$method "POST"
    } 
    if ( 
$protokol == 
    { 
        
$protokol "HTTP/1.0"
    } 
    else 
    { 
        
$protokol "HTTP/1.1"
    } 
    if ( 
$connection == 
    { 
        
$connection "Close"
    } 
    else 
    { 
        
$connection "Keep-Alive"
    } 
    
$i 0
    for ( ; 
$i $kol; ++$i 
    { 
        if ( 
$agent == 
        { 
            
$na mt_rand0$cagents ); 
        } 
        else 
        { 
            ++
$na
        } 
        if ( 
$proxy == 
        { 
            
$np mt_rand0$cproxys ); 
        } 
        else 
        { 
            ++
$np
        } 
        if ( 
$cagents <= $na 
        { 
            
$na 0
        } 
        if ( 
$cproxys <= $np 
        { 
            
$np 0
        } 
        
$a trim$agents[$na] ); 
        
$p trim$proxys[$np] ); 
        if ( empty( 
$a ) || empty( $p ) ) 
        { 
        } 
        else 
        { 

        } 
    } 
    
$text ""
    while ( !
feof$fo ) ) 
    { 
        
$text .= fgets$fo1024 ); 
    } 
    
$hd substr$text0strpos$text"\r\n\r\n" ) ); 
    
$text substr$textstrpos$text"\r\n\r\n" ) + ); 
    if ( 
$powered strtokstrstr$hd"X-Powered-By:" ), "\r\n" ) ) 
    { 
        
header$powered ); 
    } 
    if ( 
$cache strtokstrstr$hd"Cache-Control:" ), "\r\n" ) ) 
    { 
        
header$cache ); 
    } 
    if ( 
$expires strtokstrstr$hd"Expires:" ), "\r\n" ) ) 
    { 
        
header$expires ); 
    } 
    if ( 
$pragma strtokstrstr$hd"Pragma:" ), "\r\n" ) ) 
    { 
        
header$pragma ); 
    } 
    if ( 
$modified strtokstrstr$hd"Last-Modified:" ), "\r\n" ) ) 
    { 
        
header$modified ); 
    } 
    if ( 
$type strtokstrstr$hd"Content-Type:" ), "\r\n" ) ) 
    { 
        
header$type ); 
    } 
    if ( 
$disposition strtokstrstr$hd"Content-Disposition:" ), "\r\n" ) ) 
    { 
        
header$disposition ); 
    } 
    if ( 
$etag strtokstrstr$hd"ETag:" ), "\r\n" ) ) 
    { 
        
header$etag ); 
    } 
    if ( 
$ranges strtokstrstr$hd"Accept-Ranges:" ), "\r\n" ) ) 
    { 
        
header$ranges ); 
    } 
    exit( 
$text ); 


if(
$_POST['link']) {
$str=str_replace("http://"""$link);
$srv=substr($str,0,strpos($str,"/"));

for(
$i=0$i<$kol$i++) {
$fp fsockopen($srv'80'$er1$er2$time);     

if (
$fp
    {   
      
$hd  "".$method." ".$link." ".$protokol."\n"
      
$hd .= "Content-Length: 0\n\n";
      
$hd .= "Proxy-Connection: $connection\r\n"
      
$hd .= "User-Agent: Win98, MSIE\r\n\r\n";
   

      
fwrite($fp$hd);   
      
$line='';  
      while (!
feof($fp))  
      {   
        
$line .= fgets($fp1024);   
      }   
      
fclose($fp);   

       

            } 
            }
}

?>
Код просто ппц. Я чуть руки не сломал себе. Вообще не могу понять, как ты его писал? Сначала пишем, потом проверяем? Там столько трабл, то можно сделать вывод, что ты толком скрипт и не тестил, тупо отстрочил, а потом "что у меня не работает". Мой тебе совет: перепиши код, не позорься. Столько глупых затей реализовал, совершенно непонятных. Например: нафига при выборе той или иной функции, ты присваивал ей число (1 или 0), потом ещё делал распознание, что там там значит единица, что нолик, когда можно было бы сразу вставлять в отсылку заголовоков полученный результат? В общем, я плакаль. С таким кодом не каждый хочет иметь дело, так что тебе ОЧЕНЬ повезло.

Последний раз редактировалось sNt; 17.07.2009 в 15:58..
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[c/c++] Новичкам: задаем вопросы _Great_ С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby 5421 21.04.2026 07:37
Интернетчики задали российскому президенту очень странные вопросы podkashey Мировые новости. Обсуждения. 4 07.07.2006 16:53
Вопросы по Ipb 2.0 Voodoo_People Уязвимости CMS / форумов 26 15.02.2005 22:57



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT ™ © 2001- Antichat Kft.