За последние 24 часа нас посетили 21572 программиста и 1017 роботов. Сейчас ищут 656 программистов ...

Постинг новости в wordpress

Тема в разделе "PHP для новичков", создана пользователем bimply, 24 апр 2017.

  1. bimply

    bimply Активный пользователь

    С нами с:
    13 авг 2012
    Сообщения:
    408
    Симпатии:
    13
    C авторизацией проблем нет, когда пытаюсь добавить новость - пишет "вы уверены, что хотите это сделать?". Вроде все токены и куки сохраняю, не пойму где собака зарыта.

    Код (Text):
    1. <?php
    2.  
    3. include 'Snoopy.class.php';
    4.  
    5. define("WP_URL", "http://localhost/wp");
    6. define("WP_USER", "admin");
    7. define("WP_PASS", 123);
    8.  
    9.  
    10. $s = new Snoopy();
    11. $s->fetch(WP_URL);
    12. $s->setcookies();
    13.  
    14. $url = WP_URL . "/wp-login.php";
    15. $post = array("log" => WP_USER, "pwd" => WP_PASS);
    16. $s->submit($url, $post);
    17. $s->setcookies();
    18. $url = WP_URL . "/wp-admin/post-new.php";
    19. $s->fetch($url);
    20. $content = $s->results;
    21. file_put_contents("1001.txt", $content);
    22. preg_match("/_wpnonce=(.*?)['\"]/", $content, $wponce);
    23. preg_match("/post_ID.*?value=['\"](.*?)['\"]/", $content, $postID);
    24. preg_match("/user_ID.*?value=['\"](.*?)['\"]/", $content, $userID);
    25. preg_match("/meta-box-order-nonce.*?value=['\"](.*?)['\"]/", $content, $metabox);
    26. preg_match("/closedpostboxesnonce.*?value=['\"](.*?)['\"]/", $content, $closedpost);
    27. preg_match("/samplepermalinknonce.*?value=['\"](.*?)['\"]/", $content, $sample);
    28. preg_match("/_ajax_nonce-add-category.*?value=['\"](.*?)['\"]/", $content, $acategory);
    29. preg_match("/_ajax_nonce-add-meta.*?value=['\"](.*?)['\"]/", $content, $ameta);
    30. preg_match("/['\"]ss['\"].*?value=['\"](.*?)['\"]/", $content, $ss);
    31. preg_match("/['\"]mn['\"].*?value=['\"](.*?)['\"]/", $content, $mn);
    32.  
    33. $postData = "_wpnonce=__WPONCE__&user_ID=__USERID__&action=editpost&originalaction=editpost&post_author=__USERID__&post_type=post&original_post_status=auto-draft&auto_draft=&post_ID=__POSTID__&meta-box-order-nonce=__METABOX__&closedpostboxesnonce=__CLOSEDPOST__&post_title=__TITLE__&samplepermalinknonce=__SAMPLE__&content=__CONTENT__&wp-preview=&hidden_post_status=draft&post_status=draft&hidden_post_password=&hidden_post_visibility=public&visibility=public&post_password=&mm=__MM__&jj=__JJ__&aa=__AA__&hh=__HH__&mn=__MN__&ss=__SS__&hidden_mm=__HMM__&cur_mm=__CMM__&hidden_jj=__HJJ__&cur_jj=__CJJ__&hidden_aa=__HAA__&cur_aa=__CAA__&hidden_hh=__HHH__&cur_hh=__CHH__&hidden_mn=__HMN__&cur_mn=__CMN__&post_format=0&post_category[]=0&newcategory_parent=-1&_ajax_nonce-add-category=__ACATEGORY__&tax_input[post_tag]=&newtag[post_tag]=&_thumbnail_id=-1&excerpt=&trackback_url=&metakeyinput=&metavalue=&_ajax_nonce-add-meta=__AMETA__&advanced_view=1&comment_status=open&ping_status=open&post_name=&post_author_override=1";
    34. $postStr = strtr($postData, array("__WPONCE__" => $wponce[1], "__USERID__" => $userID[1],
    35.     "__POSTID__" => $postID[1], "__ACATEGORY__" => $acategory[1],
    36.     "__AMETA__" => $ameta[1],
    37.     "__SS__" => $ss[1], "__METABOX__" => $metabox[1],
    38.     "__CLOSEDPOST__" => $closedpost[1], "__SAMPLE__" => $sample[1],
    39.     "__AA__" => date('Y'), "__HAA__" => date('Y'), "__CAA__" => date('Y'),
    40.     "__JJ__" => date('d'), "__HJJ__" => date('d'), "__CJJ__" => date('d'),
    41.     "__MM__" => date('m'), "__HMM__" => date('m'), "__CMM__" => date('m'),
    42.     "__HH__" => date('H'), "__HHH__" => date('H'), "__CHH__" => date('H'),
    43.     "__MN__" => $mn[1], "__HMN__" => $mn[1], "__CMN__" => $mn[1],
    44.         ));
    45.  
    46. $postRawArr = explode("&", $postStr);
    47. $post = array();
    48. foreach ($postRawArr as $el) {
    49.     $e = explode("=", $el);
    50.     $post[$e[0]] = $e[1];
    51. }
    52.  
    53. $url = WP_URL."/wp-admin/post.php";
    54.  
    55. $s->submit($url,$post);
    56.  
    57. $content = $s->results;
    58. file_put_contents("1001.txt", $content);
    59.  
    60. exit;
     
  2. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.553
    Симпатии:
    1.754