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

  #1  
Старый 07.06.2009, 14:57
FireFenix
Постоянный
Регистрация: 03.06.2009
Сообщений: 385
С нами: 8915117

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

Цитата:
Сообщение от geforse  
Я уже это проверял:
1) Это не мд5
2) На капчу влияет только значение mirtesen!
И также я заметил, незнаю почему, выводится 2 параметра установки куков из первого курла (я юзал регулярку preg_match_all('/Set-Cookie: ([^;]*)/i', $res, $cookies); )
Код:
Array
(
    [0] => Array
        (
            [0] => Set-Cookie: mirtesen=jn35v1f3g248ufdr6aelhannb5
            [1] => Set-Cookie: mirtesen=0p48pipogk4oj7497a1po09gi6
        )

    [1] => Array
        (
            [0] => mirtesen=jn35v1f3g248ufdr6aelhannb5
            [1] => mirtesen=0p48pipogk4oj7497a1po09gi6
        )

)
 
Ответить с цитированием

  #2  
Старый 07.06.2009, 14:59
geforse
Постоянный
Регистрация: 02.03.2008
Сообщений: 893
С нами: 9574565

Репутация: 712


По умолчанию

2 параметра я тоже углядел ... Хз какой из них нужно отправлять )
 
Ответить с цитированием

  #3  
Старый 07.06.2009, 15:00
FireFenix
Постоянный
Регистрация: 03.06.2009
Сообщений: 385
С нами: 8915117

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

Цитата:
Сообщение от geforse  
2 параметра я тоже углядел ... Хз какой из них нужно отправлять )
Я пробывал оба, но результата 0 как нистранно
Вобщем идея такова, когда ты получаешь контент - картинка одна. Когда браузер её загружает в img она другая
Т.е. суть такова, что нада сохранять картинку с заголовком, потом показывать пользователю

Последний раз редактировалось FireFenix; 07.06.2009 в 15:13..
 
Ответить с цитированием

  #4  
Старый 07.06.2009, 15:18
Gifts
Reservists Of Antichat - Level 6
Регистрация: 25.04.2008
Сообщений: 827
С нами: 9497186

Репутация: 1304


По умолчанию

Geforse Косяков у вас, что даже писать долго. Вот работающая версия:
PHP код:
    $login '';
    
$pass '';
    
session_start();

    function 
post($url='',$content=null,$referer=null,$follow=0)
    {
        GLOBAL 
$cookie;

        
$ch curl_init();  
        
curl_setopt($chCURLOPT_URL,$url);
        
curl_setopt($chCURLOPT_HEADER1);
        
curl_setopt($chCURLOPT_RETURNTRANSFER,1);
        
curl_setopt($chCURLOPT_TIMEOUT15);
        
curl_setopt($chCURLOPT_USERAGENT'Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.0.1) Gecko/2008070208');
        
curl_setopt($chCURLOPT_FOLLOWLOCATION$follow); 
        if (!empty(
$cookie)) curl_setopt($chCURLOPT_COOKIEimplode('; ',array_values($cookie)));
        if (!empty(
$content)) {curl_setopt($chCURLOPT_POST1);curl_setopt($chCURLOPT_POSTFIELDS$content);} else {curl_setopt($chCURLOPT_POST0);}
        if (!empty(
$referer)) curl_setopt($chCURLOPT_REFERER$referer);

        
$ss=curl_exec($ch);
        
curl_close($ch);
        
        if (
preg_match_all('#^Set-Cookie: (([^;=]+)=([^;=]+))#mi',$ss,$cook)) 
        {
            if (
$tmpcookie=array_combine($cook[2],$cook[1]))
                
$cookie=(array)$tmpcookie + (array)$cookie;
        }
        return 
preg_replace('~[\s\S]+\r\n\r\n~U','',$ss,1);
    }
    
    if (!isset(
$_POST['captcha']))
    {
        
// Удаляем сессионный файл, чтобы не путал
        
unset($_SESSION['mir']);
        
// Получаем начальные куки
        
$in post('http://mirtesen.ru/login');
        
preg_match('#<img src="http://mirtesen.ru/captcha/login?(.*?)"#i'$in$match_capt);  
        
// Делаем локальную копию куки ()ак надо)
        
file_put_contents('local.jpg',post('http://mirtesen.ru/captcha/login?'.$match_capt[1],null,'http://mirtesen.ru/login'));
        
// Выводим форму
        
echo '<img src="local.jpg" alt=""><p><form name="spam" method="POST">
        <input type="text" name="captcha">
        <input type="submit" value ="Ok"></form>'
;
        
// Сохраняем куки полученные при данном запуске
        
$_SESSION['mir']=serialize($cookie);
    } else
    {
        
// Загружаем куки, полученные при первом запуске скрипта
        
$cookie $_SESSION['mir'] ? unserialize($_SESSION['mir']) : array();
        
// Логинимся
        
post('http://mirtesen.ru/login','auth%5Bbackurl%5D=&auth%5Blogin%5D='.urlencode($login).'&auth%5Bpassword%5D='.urlencode($pass).'&auth%5Bcaptcha%5D='.trim($_POST['captcha']).'&auth%5Bremember%5D=on','http://mirtesen.ru/login');
        
// Выводим страницу
        
$out post('http://mirtesen.ru/');
        
$out iconv('UTF-8','Windows-1251',$out);
        echo 
$out;
    } 
spamoney
PHP код:
echo str_replace(array('{eng}','{rus}'),
array(
'эквивалент енг','эквивалент рус'),$str); 

Последний раз редактировалось Gifts; 07.06.2009 в 15:21..
 
Ответить с цитированием

  #5  
Старый 07.06.2009, 15:28
spamoney
Участник форума
Регистрация: 26.12.2006
Сообщений: 107
С нами: 10196899

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

Цитата:
Сообщение от Gifts  
spamoney
PHP код:
echo str_replace(array('{eng}','{rus}'),
array(
'эквивалент енг','эквивалент рус'),$str); 
Нет, это совсем не то, необходимо определить местоположение {num} {rus} {eng} в $str1 и уже потом делать замену в $str2, примеры:

PHP код:
$str1="index.php?var={num}&text={rus}&param={eng}";
$str2="{rus}/page-{num}/{eng}.html";

//Должно получиться:
$str3="2/page-1/3.html"
PHP код:
$str1="main.php?par={eng}&var={num}&param={rus}";
$str2="{rus}/page-{num}/{eng}.html";

//Должно получиться:
$str3="3/page-2/1.html"
PHP код:
$str1="show.php?tut={rus}&trem={eng}&pabam={num}";
$str2="{rus}/page-{num}/{eng}.html";

//Должно получиться:
$str3="1/page-3/2.html"
и т.д
 
Ответить с цитированием

  #6  
Старый 07.06.2009, 15:36
FireFenix
Постоянный
Регистрация: 03.06.2009
Сообщений: 385
С нами: 8915117

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

Цитата:
Сообщение от spamoney  
Нет, это совсем не то, необходимо определить местоположение {num} {rus} {eng} в $str1 и уже потом делать замену в $str2
PHP код:
<?php

//$str_1 = "index.php?var={num}&text={rus}&param={eng}";
$str_1 'index.php?var=666&text=111&param=888';
$str_2 '{rus}/page-{num}/{eng}.html';

$regexp '/[\?|&]([^=]*)=([^&]*)/is';

preg_match_all($regexp $str_1$match);

for(
$i 0$i count($match[2]); $i++)
{
  switch(
$match[1][$i])
  {
    case 
'var':
      
$var '{rus}';
    break;
    
    case 
'text':
      
$var '{num}';
    break;
    
    case 
'param':
      
$var '{eng}';
    break;
  }
  
  
//$str_2="666/page-111/888.html";
  
$str_2 str_replace($var$match[2][$i], $str_2);
}

echo(
$str_2);

?>
или
PHP код:
<?php

$str_1 
"index.php?var={num}&text={rus}&param={eng}";
$str_2 '{rus}/page-{num}/{eng}.html';

$regexp '/[\?|&]([^=]*)=([^&]*)/is';

preg_match_all($regexp $str_1$match);

for(
$i 0$i count($match[2]); $i++)
{
  switch(
$match[2][$i])
  {
    case 
'{rus}':
      
$var '1';
    break;
    
    case 
'{num}':
      
$var '2';
    break;
    
    case 
'{eng}':
      
$var '3';
    break;
  }
  
  
$str_2 str_replace($match[2][$i], $var$str_2);
}

echo(
$str_2);

?>

Наверное ты так хотел?

Последний раз редактировалось FireFenix; 07.06.2009 в 15:43..
 
Ответить с цитированием

  #7  
Старый 07.06.2009, 15:54
spamoney
Участник форума
Регистрация: 26.12.2006
Сообщений: 107
С нами: 10196899

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

Цитата:
Сообщение от FireFenix  
Наверное ты так хотел?
Пасиб, но это совсем не то)

Gifts, спасибо то что надо, выручил!
 
Ответить с цитированием

  #8  
Старый 07.06.2009, 15:41
geforse
Постоянный
Регистрация: 02.03.2008
Сообщений: 893
С нами: 9574565

Репутация: 712


По умолчанию

Gifts огромное спасибо ... +++ ставить ?))
жалко поортить 777
 
Ответить с цитированием

  #9  
Старый 07.06.2009, 15:44
Gifts
Reservists Of Antichat - Level 6
Регистрация: 25.04.2008
Сообщений: 827
С нами: 9497186

Репутация: 1304


По умолчанию

spamoney
PHP код:
$str1="show.php?tut={rus}&trem={eng}&pabam={num}";
$str2="{rus}/page-{num}/{eng}.html";
function 
zamena($str1,$str2)
{
    
$array = array('{rus}','{num}','{eng}');
    foreach (
$array as $one$outarr[$one]=strpos($str1,$one);
    
asort($outarrSORT_NUMERIC);
    
$outarr=array_keys($outarr);
    foreach (
$outarr as $i => $one$str2 str_replace($one,$i+1$str2);
    return 
$str2;
}
echo 
zamena($str1,$str2); 
 
Ответить с цитированием

  #10  
Старый 07.06.2009, 23:05
KrafT
Познающий
Регистрация: 29.11.2004
Сообщений: 80
С нами: 11286751

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

Есть файл. Там много мусора, но мне с етого файла надо отпарсить IDшники.. ID вигледит так uid="4552312312321" как зделать чтоб скрипт нашёл IDшники и записал их в файл?
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[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.

×

Внести депозит

Введите сумму USDT:

Принимается только USDT TRC20. Fake/Flash USDT не засчитывается.

×

Вывести депозит

Сумма USDT:

Ваш USDT TRC20 кошелек:

Заявка будет отправлена администратору.