Witam,
Znalazłem w sieci skrypt, który umożliwia wysłanie bota/użytkownika, który w określonym dziale umieści nowy temat, uprzednio logując się oczywiście na forum.
Poniżej przedstawiam kod skryptu:
<?php
function createPostString($aPostFields) {
foreach ($aPostFields as $key => $value) {
$aPostFields[$key] = urlencode($key) . '=' . urlencode($value);
}
return implode('&', $aPostFields);
}
if(isset($_POST['tytul']) ){
$tytul = $_POST['tytul'];
//WCHODZI NA FORUM
$form_url='http://forum.fifapolonia.pl';
$ch=curl_init();
curl_setopt($ch, CURLOPT_URL, $form_url);
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows; U; Windows NT 5.1; pl; rv:1.8.1.4) Gecko/20070515 Firefox/2.0.0.4');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_COOKIEJAR, dirname( __FILE__ ).'/cookie.txt');
curl_setopt($ch, CURLOPT_COOKIEFILE, dirname( __FILE__ ).'/cookie.txt');
curl_setopt($ch, CURLOPT_HEADER, 0);
$site=curl_exec($ch);
//LOGUJE SIE
$form_url='http://forum.fifapolonia.pl/ucp.php?mode=login';
curl_setopt($ch, CURLOPT_URL, $form_url);
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows; U; Windows NT 5.1; pl; rv:1.8.1.4) Gecko/20070515 Firefox/2.0.0.4');
curl_setopt($ch, CURLOPT_POST, 1); //logowanie - zmienne post
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_REFERER, $form_url);
curl_setopt($ch, CURLOPT_COOKIEJAR, dirname( __FILE__ ).'/cookie.txt');
curl_setopt($ch, CURLOPT_COOKIEFILE, dirname( __FILE__ ).'/cookie.txt');
curl_setopt($ch, CURLOPT_POSTFIELDS, "username=USER&password=HASŁO&autologin=0&redirect='posting.php?mode=post&f=33'&login='Log In'");
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_exec($ch);
//PISZE TEMAT
$form_url='http://forum.fifapolonia.pl/posting.php?mode=post&f=33';
curl_setopt($ch, CURLOPT_URL, $form_url);
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows; U; Windows NT 5.1; pl; rv:1.8.1.4) Gecko/20070515 Firefox/2.0.0.4');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_REFERER, $form_url);
curl_setopt($ch, CURLOPT_COOKIEJAR, dirname( __FILE__ ).'/cookie.txt');
curl_setopt($ch, CURLOPT_COOKIEFILE, dirname( __FILE__ ).'/cookie.txt');
curl_setopt($ch, CURLOPT_HEADER, 0);
$strona=curl_exec($ch);
//POBIERA TOKEN ITP
preg_match ('||U', $strona, $click);
$lastclick=$click['1'];
preg_match ('||U', $strona, $creation);
$creation_time=$creation['1'];
preg_match ('||U', $strona, $token);
$form_token=$token['1'];
//WYSYLA TEMAT
$postFields['icon'] = '0';
$postFields['subject'] = 'NEWS: $tytul - komentarze';
$postFields['addbbcode20'] = '100';
$postFields['message'] = 'Treść komentowanego newsa znajduje się pod następującym adresem: [URL=http://www.fifapolonia.pl/comment.php?akcja=pokaz&id=".$ajdi."]http://www.fifapolonia.pl/comment.php?akcja=pokaz&id=".$ajdi."[/URL]';
$postFields['creation_time'] = $creation_time;
$postFields['post'] = 'Submit';
$postFields['attach_sig'] = 'on';
$postFields['topic_type'] = '0';
$postFields['topic_time_limit'] = '';
$postFields['filecomment'] = '';
$postFields['poll_title'] = '';
$postFields['poll_option_texte'] = '';
$postFields['poll_max_options'] = '1';
$postFields['poll_length'] = '0';
$postFields['form_token'] = $form_token;
$postFields['lastclick'] = $lastclick;
$form_url='http://forum.fifapolonia.pl/posting.php?mode=post&f=33';
curl_setopt($ch, CURLOPT_URL, $form_url);
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows; U; Windows NT 5.1; pl; rv:1.8.1.4) Gecko/20070515 Firefox/2.0.0.4');
curl_setopt($ch, CURLOPT_POST, 1); //logowanie - zmienne post
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 0);
curl_setopt($ch, CURLOPT_REFERER, $form_url);
curl_setopt($ch, CURLOPT_COOKIEJAR, dirname( __FILE__ ).'/cookie.txt');
curl_setopt($ch, CURLOPT_COOKIEFILE, dirname( __FILE__ ).'/cookie.txt');
curl_setopt($ch, CURLOPT_POSTFIELDS, createPostString($postFields));
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_exec($ch);
curl_close($ch);
}
echo "
Komentarz został dodany na forum"; ?\>[/code]
Problem polega na tym, że bot sie bezproblemowo loguje i zaczyna tworzyć wątek - niestety nie chce go wysłać.
Co muszę zrobić, aby to w końcu wysłał i abym mógł się cieszyć tym skryptem ?