ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2
Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей. Здесь обсуждаются безопасность, программирование, технологии и многое другое. Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Вернуться   Форум АНТИЧАТ > Программирование > PHP, PERL, MySQL, JavaScript
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #13041  
Старый 25.10.2009, 16:43
Аватар для Komyak
Komyak
Участник форума
Регистрация: 15.01.2009
Сообщений: 158
Провел на форуме:
469704

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

Помогите разобраться с кодом:
PHP код:
<?php
$handler
=fopen('log.txt','a+');
$zapros 'inurl:"/?p=1" inurl:"ru"';
$request 'http://www.google.com/ie?q='.urlencode(trim($zapros)).'&num=100&hl=ru&lr=&start=1&sa=N';
$result file_get_contents($request);
$regulyar='/((?:http:\/\/)[\-\,\.\,A-Za-z1-9]*(.?)[a-z]*[\=\,\?\,\/a-z1-9]*).*?/isU';
  if (
preg_match_all ($regulyar$result$matches))
  {
 for (
$i=0$i<count($matches[0]); $i++) 
 {
      
$httpurl1=$matches[1][$i];
$serp[] = $httpurl1;
  }}
$log implode('\n',$serp);
fwrite($handler,$log);
fclose($handler);
echo 
'Данные были сохранены в log.txt';
?>
Понимаю, выглядит дико и ужасно, но один из первых опытов.
Получается две проблемы:
1.Результат записывается в одну строчку, на нуледе читал что нужно использовать U, но не помогает.
И вторая проблема, не могу никак справиться с изменением "start=$nomer" номера страницы при парсинге.
Помогите пожалуйста.
Здесь в теме похожий скрипт, но не могу никак приладить функцию.
 
Ответить с цитированием

  #13042  
Старый 25.10.2009, 16:51
Аватар для Patronik
Patronik
Познающий
Регистрация: 16.03.2009
Сообщений: 82
Провел на форуме:
148667

Репутация: 23
Отправить сообщение для Patronik с помощью ICQ
По умолчанию

Цитата:
Сообщение от Komyak  
Помогите разобраться с кодом:
PHP код:
<?php
$handler
=fopen('log.txt','a+');
$zapros 'inurl:"/?p=1" inurl:"ru"';
$request 'http://www.google.com/ie?q='.urlencode(trim($zapros)).'&num=100&hl=ru&lr=&start=1&sa=N';
$result file_get_contents($request);
$regulyar='/((?:http:\/\/)[\-\,\.\,A-Za-z1-9]*(.?)[a-z]*[\=\,\?\,\/a-z1-9]*).*?/isU';
  if (
preg_match_all ($regulyar$result$matches))
  {
 for (
$i=0$i<count($matches[0]); $i++) 
 {
      
$httpurl1=$matches[1][$i];
$serp[] = $httpurl1;
  }}
$log implode('\n',$serp);
fwrite($handler,$log);
fclose($handler);
echo 
'Данные были сохранены в log.txt';
?>
Понимаю, выглядит дико и ужасно, но один из первых опытов.
Получается две проблемы:
1.Результат записывается в одну строчку, на нуледе читал что нужно использовать U, но не помогает.
И вторая проблема, не могу никак справиться с изменением "start=$nomer" номера страницы при парсинге.
Помогите пожалуйста.
Здесь в теме похожий скрипт, но не могу никак приладить функцию.
$httpurl1=$matches[1][$i];
Ошыбка в етой строке, тут переменная $httpurl1 постоянно перезаписиваеться. Надо сделать ее масивом типа так $httpurl1[], а если хочеш оставить ее строкой то надо использовать конкатенацию строк
$httpurl1 .= $matches[1][$i]; // точку добавить перед присвоением значения.

Че то я загнался, не посмотрел что ты в следуещей строке записиваеш в масив $serp[].
Короче не знаю...

Последний раз редактировалось Patronik; 25.10.2009 в 16:59..
 
Ответить с цитированием

  #13043  
Старый 25.10.2009, 16:57
Аватар для Pashkela
Pashkela
Динозавр
Регистрация: 10.01.2008
Сообщений: 2,841
Провел на форуме:
9220514

Репутация: 3338


Отправить сообщение для Pashkela с помощью ICQ
По умолчанию

$log = implode('\n',$serp);

только в двойных кавычках:

$log = implode("\n",$serp);

и не "\n", а "\r\n"

$log = implode("\r\n",$serp);

PS: Сам же дал ссылку на мой скрипт и так перековеркать всё

Да, в php есть разница между одинарными и двойными кавычками, и разница между ними выражается далеко не только в "мнимом" приросте скорости выполнения скрипта

Последний раз редактировалось Pashkela; 25.10.2009 в 17:02..
 
Ответить с цитированием

  #13044  
Старый 25.10.2009, 17:15
Аватар для Komyak
Komyak
Участник форума
Регистрация: 15.01.2009
Сообщений: 158
Провел на форуме:
469704

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

Цитата:
Сообщение от Pashkela  
Сам же дал ссылку на мой скрипт и так перековеркать всё
Учим'с =)) Я лучше понимаю реальные примеры, а не статьи из книжек. Поэтому когда не получилось запустить твой скрипт, попробовал переписать- но получилось как всегда...
В твоём скрипте на хосте выдаёт ошибку- не хватает третьего значения в функции parse_serp.
 
Ответить с цитированием

Php & Приложения
  #13045  
Старый 25.10.2009, 22:33
Аватар для N2kroot
N2kroot
Познающий
Регистрация: 25.10.2009
Сообщений: 54
Провел на форуме:
62271

Репутация: 9
По умолчанию Php & Приложения

Каким образом через php можно узнать статистику чего либо,что находится не на веб узле,а,к примеру, на удалённом приложении-кс...Вот как сделать скрипт мониторинга? Только не надо выкладывать типа: там куча есть готового,зайди на cs-monitoring и т.п.... Самому охото сделать,просто подскажите какими командами это достигается? Желательно,не используя переменные --- я их не понимаю) Их ключи и т.п... И кроме мониторинга подскажите пожалуйста ещё: Какими средстави работют онлайн сканеры? Нигде их немогу скачать-то ссылки битые то вирус,исходника нет,принцип неизвестен..Киньте ссылку,или распишите,КаК сделать мини-сканер на пассивные XSS?

И ещё: как преобразовать текст в php? Например,сделать капчу? Пробовал-получал ошибки...


Цитата:
Я лучше понимаю реальные примеры, а не статьи из книжек.
---это про меня тоже

Последний раз редактировалось N2kroot; 25.10.2009 в 22:35..
 
Ответить с цитированием

  #13046  
Старый 26.10.2009, 10:30
Аватар для Gray_Wolf
Gray_Wolf
Постоянный
Регистрация: 07.03.2009
Сообщений: 357
Провел на форуме:
1284900

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

Цитата:
Сообщение от N2kroot  
Каким образом через php можно узнать статистику чего либо,что находится не на веб узле,а,к примеру, на удалённом приложении-кс...Вот как сделать скрипт мониторинга?
Сниффаем пакеты, потом используем пойманные пакеты для соединения с сервом.
Цитата:
Сообщение от N2kroot  
Желательно,не используя переменные --- я их не понимаю)
Программировать без использования переменных это как есть суп вилкой. Можно попытаться, может даже что-то получится, но на этом всё и закончится.

Цитата:
Сообщение от N2kroot  
И кроме мониторинга подскажите пожалуйста ещё: Какими средстави работют онлайн сканеры? Нигде их немогу скачать-то ссылки битые то вирус,исходника нет,принцип неизвестен..Киньте ссылку,или распишите,КаК сделать мини-сканер на пассивные XSS?
Никто вам не станет обьяснять то что написано в книгах. Для понимания этой темы нужны серьёзные теоретические и практические знания, которых у вас нет. Прочтите 3-8 хороших книжек по программированию + пару книжек по конкретным языкам, напишите парочку программ на разных языках и разной направленности и возвращайтесь с тем-же вопросом.

Цитата:
Сообщение от N2kroot  
И ещё: как преобразовать текст в php? Например,сделать капчу? Пробовал-получал ошибки...
Капча получается путём добавления текста в изображение, никакого преобразования там нету.
 
Ответить с цитированием

*
  #13047  
Старый 26.10.2009, 20:24
Аватар для N2kroot
N2kroot
Познающий
Регистрация: 25.10.2009
Сообщений: 54
Провел на форуме:
62271

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

Скрипт дайте на капчю пожалуйста)
 
Ответить с цитированием

  #13048  
Старый 26.10.2009, 20:26
Аватар для krypt3r
krypt3r
Познавший АНТИЧАТ
Регистрация: 27.04.2007
Сообщений: 1,044
Провел на форуме:
3660186

Репутация: 905


По умолчанию

http://www.captcha.ru/kcaptcha/
 
Ответить с цитированием

  #13049  
Старый 26.10.2009, 20:28
Аватар для N2kroot
N2kroot
Познающий
Регистрация: 25.10.2009
Сообщений: 54
Провел на форуме:
62271

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

PHP код:
<?php

if(!function_exists('getmicrotime'))
{
    function 
getmicrotime() 
    { 
        list(
$usec$sec) = explode(" "microtime()); 
        return ((float)
$usec + (float)$sec); 
    }
}
function 
serverInfo($ip$port)
{
    
$ip gethostbyname($ip);
    
$timeStart getmicrotime();
    
$fp fsockopen('udp://'.$ip$port);
    
stream_set_timeout($fp2); 
    if(
$fp
    { 
        
fwrite($fp,"\xFF\xFF\xFF\xFFTSource Engine Query\0\r");
        
$temp fread($fp4);
        
$status socket_get_status($fp); 
        if(
$status['unread_bytes']>0
        {
            
$temp fread($fp$status['unread_bytes']);
            
$server['ping'] = (int)((getmicrotime() - $timeStart)*1000);
            
$array = array(); 
            
$pos 0
            while(
$pos !== false
            { 
                
$pos2 strpos($temp"\0"$pos+1); 
                
$array[] = substr($temp$pos+1$pos2-$pos)."\n"
                
$pos $pos2
            }
            
$server['status'] = 'on';
            if( 
strpos($array[0], $ip) !== 0
            { 
                
$server['players'] = ord($array[5][0]); 
                
$server['maxplayers'] = ord($array[5][1]); 
                
$server['name'] = trim(substr($array[0], 1)); 
                
$server['map'] = trim($array[1]); 
                
$server['game'] = trim($array[2]);
            } 
            else 
            { 
                
$server['players'] = ord($array[5][0]); 
                
$server['maxplayers'] = ord($array[5][1]); 
                
$server['name'] = trim($array[1]); 
                
$server['map'] = trim($array[2]);
                
$server['game'] = trim($array[3]);
            }
            
$command pack("V", -1) . 'W';
            
fwrite($fp$commandstrlen($command));
            
$temp fread($fp1500);
            
$temp substr($temp5);
            
$lo = (ord($temp[1]) << 8) | ord($temp[0]);
            
$hi = (ord($temp[3]) << 8) | ord($temp[2]);
            
$data "\xFF\xFF\xFF\xFF\x55".pack("V", ($hi << 16) | $lo);
            
fwrite($fp$data);
            
$temp fread($fp5);
            
$status socket_get_status($fp);
            if(
$status['unread_bytes']>0
            {
                
$temp fread($fp$status['unread_bytes']);
                
$array = array();
                
$temp substr($temp1);
                for(
$i=1;$i<=$server['players'];$i++)
                {
                    
$temp substr($temp1);
                    
$pos strpos($temp"\0");
                    
$name substr($temp0$pos);
                    
$temp substr($temp$pos+1);
                    
$lo = (ord($temp[1]) << 8) | ord($temp[0]);
                    
$hi = (ord($temp[2]) << 8) | ord($temp[3]);
                    
$temp substr($temp4);
                    
$kills = ($hi << 16) | $lo;
                    
$f = @unpack("f1float"$temp);
                    
$temp substr($temp4);
                    
$time = (int)$f['float'];
                    if(
trim($name))
                        
$server['stats'][] = array("name" => $name"kills" => $kills,
                                                   
"time" => gmdate("H:i:s"$time));
                }
            }
        }
        else
            
$server['status'] = 'off';
    }
    return 
$server;
}

print_r(serverInfo("cs.otstrel.ru"27025));
?>
Вот скрипт снифает который кску,но я получаю массивные данные,а как мне их,к примеру,преобразовать в таблицу?
 
Ответить с цитированием

  #13050  
Старый 26.10.2009, 20:34
Аватар для L I G A
L I G A
Постоянный
Регистрация: 27.07.2008
Сообщений: 614
Провел на форуме:
4532332

Репутация: 1196


Отправить сообщение для L I G A с помощью ICQ
По умолчанию

N2kroot
пропусти массив через цикл: foreach() || for() || while()

________
0ph.ru

Последний раз редактировалось L I G A; 10.12.2009 в 19:47..
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[c/c++] Новичкам: задаем вопросы _Great_ С/С++, C#, Delphi, .NET, Asm 5420 17.06.2010 13:33
Интернетчики задали российскому президенту очень странные вопросы podkashey Мировые новости 4 07.07.2006 16:53
Вопросы по Ipb 2.0 Voodoo_People Форумы 26 15.02.2005 22:57



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


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




ANTICHAT.XYZ