Скрипт (функция) постинга в дле

Тема в разделе "PHP", создана пользователем Google.com, 9 июн 2010.

Статус темы:
Закрыта.
Модераторы: latteo
  1. Google.com

    Google.com Читатель

    Заблокирован
    Регистр.:
    16 фев 2010
    Сообщения:
    250
    Симпатии:
    295
    Ищу срипт постинга в дле на php. Пытался выдрать из dle news adder v6.0
    но неполучилось :ah:
     
  2. Google.com

    Google.com Читатель

    Заблокирован
    Регистр.:
    16 фев 2010
    Сообщения:
    250
    Симпатии:
    295
    Вот что у меня получилось, но неработает :(
    PHP:
    @ini_set('max_execution_time',0);
    $login='admin';
    $pass='dshwyq';
    $cat=1;   
    $title='титл';
    $story='текстанамаsssssssssssssssssssssssssssss                sssssssssssssssssssssssssssssss';

    sendnews('subdomain.localhost',0,1);

    function 
    senddata($post,$host,$cook,$pic){
       
    $data="$post\r\n\r\n";
       @
    $fpfsockopen($host,80,$err,$errs,50);
       if (!
    $fp) {echo "<b>$host недоступен!</b><br>";return(1);}
       
    $out"POST /";
       if (
    $pic==2) {$out.="transload.php";} else {$out.="?do=addnews";}
       
    $out.=" HTTP/1.1\r\nHost: $host\r\nCookie: $cook\r\n".
       
    "Content-Type: application/x-www-form-urlencoded\r\nContent-Length: ".
       
    strlen($data)."\r\nConnection: close\r\n\r\n$data\r\n\r\n";
       
    fwrite($fp$out);
       while (!
    feof($fp))
       {
    $line .= fread($fp1024);}
       
    fclose($fp);
       return 
    $line;
    }

    function 
    sendnews($host,$mode,$how){
       global 
    $login;
       global 
    $pass;
       global 
    $title;
       global 
    $story;
       global 
    $cat;
       
    $line=senddata('login_name='.$login.'&login_password='.$pass.
       
    '&login=submit&image.x=0&image.y',$host,0,0);
       if (
    $line!=1) {
          if (
    strpos($line,'К сожалению у вас нет прав для публикации новостей'))
          {echo 
    "<b>Новость НЕ добавлена на $host !</b><br>";return(1);}
          
    preg_match("|dle_hash=([\d\w]+);|i",$line,$try); 
          
    $send="mod=addnews&catlist[]=$cat&title=$title&short_story=$story&full_story=$story";
          
    //if (!$mode) {$send.="$story\r\n\r\n";}
          
    $send.="\r\n\r\n";
          
    $send.='&allow_comm=0&allow_main=1&approve=1&allow_rating=1&news_fixed=0';
          
    $line=senddata($send,$host,"dle_password=".md5($pass)."; member_password=".md5($pass).
          
    "; dle_name=".$login."; member_name=".$login."; dle_hash=$try[1]",0);
          echo 
    $line;
          if (
    strpos($line,'Ваша новость была успешно добавлена'))
          {echo 
    "Новость успешно добавлена на $host";if ($cat==1) {echo " (Категория по умолчанию)";}echo "!<br>";}
       }
    }
    ?>
     
  3. Inviseble_Demon

    Inviseble_Demon

    Регистр.:
    11 дек 2008
    Сообщения:
    482
    Симпатии:
    350
    постинг нужен для стороннего сайта или вашего ?
    Вернее даже не так..
    Доступ к SQL имеется ?
     
  4. Google.com

    Google.com Читатель

    Заблокирован
    Регистр.:
    16 фев 2010
    Сообщения:
    250
    Симпатии:
    295
    Сайт свой. Через скл умею наполнять сайт. Интересует через http запросы.
     
  5. trooll

    trooll PHP кодер

    Регистр.:
    22 дек 2008
    Сообщения:
    503
    Симпатии:
    116
    Ха смешные вы однако, как говориться отрывок из пьесы:
    Юзер и придуманный Геморрой...

    Нафига вам такое счастье если доступ к базе есть? В общем не вижу смысла.


    Что касемо постинга через так называемые http запросы, то вперед курить мануалы по темам:
    1) Какой HTTP(S) снифер выбрать? Что это такое? И как им пользоваться?
    2) Работа с cURL (ну а если вообще не иметься тогда сразу работа с Socket-ами, что собственно вы и пытались использовать в своем примере)
    3) Парсинг и регулярные выражения

    Курить можно:
    www.google.com <<< здесь
    www.php.net <<< здесь (с докуриванием комментариев)
    www.php.su <<< здесь (как альтернатива www.php.net)
     
  6. Google.com

    Google.com Читатель

    Заблокирован
    Регистр.:
    16 фев 2010
    Сообщения:
    250
    Симпатии:
    295
    Ну спасибо тебе trooll. Всё это я знаю, лень писать просто :)
    Искал в гугле готовое решение, но ненашёл. Придётся самому писать.
    Такое счастье мне нужно для того чтобы из одного скрипта наполнять сразу несколько десятков сайтов. Сервер удалённые mysql соединения не поддерживает, поэтому нужно через http.
     
  7. trooll

    trooll PHP кодер

    Регистр.:
    22 дек 2008
    Сообщения:
    503
    Симпатии:
    116
    1) Ну для начала какой вопрос такой и ответ.

    2) Что же касаемо уделенног добавления данных в MySQL. Я пока что не встречал хостинг где есть поддержка MySQL, но за блочена удаленная работа. По этой теме могу намекнуть: Как вы думаете зачем при подключении к MySQL мы прописываем host (обычно прописываем как localhost).

    3) Ну а если вообще так встал вопрос то, почему бы тогда не реализовать серверную и клиентскую часть скрипта.
    Серверная часть размещается на сервере имеет свои настройки для подключения и постит в MySQL после обращения к ней с опр. данными посредством GET запроса.

    Клиентская часть размещается на локальном сервере или каком нибудь удаленном сервере и занимается тем что отправляет запросы на серверные части скрипта с опр. данными.


    Что касаемо этого, тогда закажи реализацию скрипта (к примеру у меня :) )
     
  8. Google.com

    Google.com Читатель

    Заблокирован
    Регистр.:
    16 фев 2010
    Сообщения:
    250
    Симпатии:
    295
    :D
    Блин убил, честное слово...зачем писать серверную часть, если уже есть форма добавления новости. Я просто хотел найти готовое решение, а не сидеть и разбираться в заголовках и хтмле.
    Ещё раз повторюсь удалённые соединения НЕ поддерживаются.
     
  9. trooll

    trooll PHP кодер

    Регистр.:
    22 дек 2008
    Сообщения:
    503
    Симпатии:
    116
    Вы придуриваетесь или серьезно не желаете воспринимать то что вам советуют.

    Если есть доступ к базе я вижу только один способ реализации наиболее правильный это постинг на прямую в базу (способ я описывал выше).

    Если же вам необходим постинг не в свои сайты и вы не имеете доступ к базе это совсем другое дело, опять же читайте что я писал выше в 5 посте этого топика.

    М-д-а это убило напрочь. Все такие подорвались и нате вам готовое решение предоставили. Глупо чуток согласитесь. Как говориться хочу большую красную кнопку с надписью бабло, только вот не знаю где взять. Мож кто задарит, народ а?
     
  10. Google.com

    Google.com Читатель

    Заблокирован
    Регистр.:
    16 фев 2010
    Сообщения:
    250
    Симпатии:
    295
    Как писал выше хост не поддерживает удалённые соединения, а писать скрипт, который был бы на сервере и обрабатывал http запросы и делал запрос к базе не рационально, потому что он уже написан разработчиками DLE.
    Ну вот для wordpress нашёл, теперь ищу для DLE. Как найду (а, если ненайду, то напишу) вылажу в этой теме.
     
Статус темы:
Закрыта.