Advertisement
Guest User

Untitled

a guest
Jul 6th, 2017
74
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.33 KB | None | 0 0
  1. <?php
  2. if (isset($_POST['ttrSignin'])) {
  3. $ttrUsername = trim(filter_input(INPUT_POST, 'ttrUsername'));
  4. $ttrPassword = trim(filter_input(INPUT_POST, 'ttrPassword'));
  5.  
  6. if (empty($ttrUsername)) {
  7. $error[] = 'Insira seu usuário';
  8. } elseif (empty($ttrPassword)) {
  9. $error[] = 'Insira sua senha';
  10. } elseif (!preg_match('/^[a-zA-Z0-9]+/', $ttrUsername)) {
  11. $error[] = 'Caracteres especiais detectados, se tiver usando <strong>@</strong>, remova-o.';
  12. } else {
  13. $ch = curl_init();
  14.  
  15. $sTarget = "https://twitter.com";
  16.  
  17. curl_setopt($ch, CURLOPT_URL, $sTarget);
  18. curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
  19. curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
  20. curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
  21. curl_setopt($ch, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']);
  22. curl_setopt($ch, CURLOPT_COOKIEFILE, ROOT . 'app' . SEPARATOR . 'cookies' . SEPARATOR . $ttrUsername . '_tweet.txt');
  23. curl_setopt($ch, CURLOPT_COOKIEJAR, ROOT . 'app' . SEPARATOR . 'cookies' . SEPARATOR . $ttrUsername .'_tweet.txt');
  24. curl_setopt($ch, CURLOPT_COOKIESESSION, true);
  25. curl_setopt($ch, CURLOPT_REFERER, $sTarget);
  26. curl_setopt($ch, CURLOPT_HEADER, TRUE);
  27.  
  28. $html = curl_exec($ch);
  29.  
  30. if(curl_errno($ch)) {
  31. echo 'error:' . curl_error($c);
  32. }
  33.  
  34. preg_match('<input type="hidden" value="([a-zA-Z0-9]*)" name="authenticity_token">', $html, $match);
  35.  
  36. $authenticity_token = $match[1];
  37.  
  38. if ($authenticity_token == ""); {
  39. preg_match('<input type="hidden" value="([a-zA-Z0-9]*)" name="authenticity_token">', $html, $matchprima);
  40. $authenticity_token = $matchprima[1];
  41. }
  42.  
  43.  
  44. $username = $ttrUsername;
  45. $password = $ttrPassword;
  46.  
  47. $sPost = "session[username_or_email]=$username&session[password]=$password&return_to_ssl=true&scribe_log=&redirect_after_login=%2F&authenticity_token=$authenticity_token";
  48.  
  49. $sTarget = "https://twitter.com/sessions";
  50.  
  51. curl_setopt($ch, CURLOPT_URL, $sTarget);
  52. curl_setopt($ch, CURLOPT_POST, true);
  53. curl_setopt($ch, CURLOPT_POSTFIELDS, $sPost);
  54. curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
  55. curl_setopt($ch, CURLOPT_HTTPHEADER, array("Content-type: application/x-www-form-urlencoded"));
  56. curl_setopt($ch, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']);
  57. curl_setopt($ch, CURLOPT_HEADER, TRUE);
  58. curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
  59.  
  60. # display server response
  61. $htmldos = curl_exec($ch);
  62.  
  63. preg_match_all('/^Set-Cookie:s*([^;]*)/mi', $htmldos, $matches);
  64.  
  65. $cookies = array();
  66.  
  67. foreach($matches[1] as $item) {
  68. parse_str($item, $cookie);
  69. $cookies = array_merge($cookies, $cookie);
  70. }
  71.  
  72. if (empty($cookies['auth_token'])) {
  73. $error[] = 'Não foi possível conexão com o Twitter, Usuário e/ou Senha incorretos.';
  74. } else {
  75. Cookies::write('fm', $cookies['fm']);
  76. Cookies::write('kdt', $cookies['kdt']);
  77. Cookies::write('_twitter_sess', $cookies['_twitter_sess']);
  78. Cookies::write('remember_checked_on', $cookies['remember_checked_on']);
  79. Cookies::write('twid', $cookies['twid']);
  80. Cookies::write('auth_token', $cookies['auth_token']);
  81. Cookies::write('lang', $cookies['lang']);
  82. Cookies::write('user', $ttrUsername);
  83.  
  84. $_SESSION['twitter_session'] = $ttrUsername;
  85. header('Refresh: 2;' . URL_BASE . '/follow/?welcome=true');
  86. $success[] = 'Conexão bem sucedida, estamos te redirecionando.';
  87.  
  88. // var_dump(Cookies::read('fm'));
  89. // var_dump(Cookies::read('kdt'));
  90. // var_dump(Cookies::read('_twitter_sess'));
  91. // var_dump(Cookies::read('remember_checked_on'));
  92. // var_dump(Cookies::read('twid'));
  93. // var_dump(Cookies::read('auth_token'));
  94. // var_dump(Cookies::read('lang'));
  95. // var_dump(Cookies::read('user'));
  96.  
  97. }
  98.  
  99. //var_dump($cookies);
  100.  
  101. if(curl_errno($ch)) {
  102. echo 'error:' . curl_error($ch);
  103. }
  104. }
  105. }
  106. ?>
  107.  
  108. <?php
  109. $user_cookie = Cookies::read('user');
  110.  
  111. $key = CONSUMER_KEY;
  112. $secret = CONSUMER_SECRET;
  113. $api_endpoint = 'https://api.twitter.com/1.1/users/show.json?screen_name=' . $user_cookie;
  114.  
  115. // request token
  116. $basic_credentials = base64_encode($key.':'.$secret);
  117. $tk = curl_init('https://api.twitter.com/oauth2/token');
  118. curl_setopt($tk, CURLOPT_CAINFO, ROOT . 'app' . SEPARATOR . 'cacert' . SEPARATOR .'cacert-2017-06-07.pem');
  119. curl_setopt($tk, CURLOPT_SSL_VERIFYPEER, 1);
  120. curl_setopt($tk, CURLOPT_SSL_VERIFYHOST, 2);
  121. curl_setopt($tk, CURLOPT_HTTPHEADER, array('Authorization: Basic '.$basic_credentials, 'Content-Type: application/x-www-form-urlencoded;charset=UTF-8'));
  122. curl_setopt($tk, CURLOPT_POSTFIELDS, 'grant_type=client_credentials');
  123. curl_setopt($tk, CURLOPT_RETURNTRANSFER, true);
  124. $token = json_decode(curl_exec($tk));
  125.  
  126. curl_close($tk);
  127.  
  128. // use token
  129. if (isset($token->token_type) && $token->token_type == 'bearer') {
  130. $br = curl_init($api_endpoint);
  131. curl_setopt($br, CURLOPT_CAINFO, ROOT . 'app' . SEPARATOR . 'cacert' . SEPARATOR .'cacert-2017-06-07.pem');
  132. curl_setopt($br, CURLOPT_SSL_VERIFYPEER, 1);
  133. curl_setopt($br, CURLOPT_SSL_VERIFYHOST, 2);
  134. curl_setopt($br, CURLOPT_HTTPHEADER, array('Authorization: Bearer '.$token->access_token));
  135. curl_setopt($br, CURLOPT_RETURNTRANSFER, true);
  136.  
  137. $data = json_decode(curl_exec($br));
  138.  
  139. curl_close($br);
  140.  
  141. // do_something_here_with($data);
  142. }
  143. ?>
  144.  
  145. <?php
  146.  
  147. if (isset($_POST['ttrFollow'])) {
  148. $ttrUsername = trim(filter_input(INPUT_POST, 'ttrUsername'));
  149.  
  150. if (empty($ttrUsername)) {
  151. $error[] = 'Insira seu nome de usuário.';
  152. } elseif (!preg_match('/^[a-zA-Z0-9]+/', $ttrUsername)) {
  153. $error[] = 'Caracteres especiais detectados, se tiver usando <strong>@</strong>, remova-o.';
  154. } elseif ($ttrUsername <> $user_cookie) {
  155. $error[] = 'Você não insereiu o seu nome de usuário!';
  156. } else {
  157.  
  158. // $url = 'https://api.twitter.com/1.1/friendships/create.json?user_id=1401881&follow=true';
  159. $url = 'https://api.twitter.com/1.1/friendships/create.json';
  160.  
  161. $fr = curl_init();
  162. curl_setopt($fr, CURLOPT_URL,$url);
  163. curl_setopt($fr, CURLOPT_CAINFO, ROOT . 'app' . SEPARATOR . 'cacert' . SEPARATOR .'cacert-2017-06-07.pem');
  164. curl_setopt($fr, CURLOPT_SSL_VERIFYPEER, 1);
  165. curl_setopt($fr, CURLOPT_SSL_VERIFYHOST, 2);
  166. curl_setopt($fr, CURLOPT_RETURNTRANSFER,1);
  167. $buffer = curl_exec($fr);
  168.  
  169. var_dump($buffer);
  170.  
  171. curl_close($fr);
  172. }
  173. }
  174. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement