Witam, w sieci znalazłem taki kod PHP cURL do automatycznego logowania serwera na podaną stronę.
Nie znam się zbytnio na tym języku, więc proszę was o pomoc w celu sprawdzenie czy nie zawiera on jakiś błędów oraz czy nie posiada furtki aby włamać się na konto.
Skrypt umieszczamy na serwerze, tam ustawiamy aby był on uruchamiany codziennie o danej godzinie. Strona: dogry.pl
<?php
$login = "*******@interia.pl";
$password = "***********";
$url_login = "http://dogry.pl/user/login"
;$referer = "http://dogry.pl/user/login";
$url = "http://dogry.pl/pkt";
$agent = "Mozilla/5.0 (Windows; U; Windows NT 5.2; de; rv:1.8.1.4) Gecko/20070515 Firefox/2.0.0.4";
$post = "hslk="._hslk(_cURL($url_login))."&email=".$login."&password=".$password;$headers = array('Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'Accept-Language: pl,en-us;q=0.7,en;q=0.3', 'Accept-Charset: ISO-8859-2,utf-8;q=0.7,*;q=0.7' );
function _cURL($url){ $curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
$site = curl_exec($curl); curl_close($curl);
return $site;}function _cURL_login($url, $post, $referer='', $agent='', $headers=''){ $curl=curl_init();
curl_setopt($curl, CURLOPT_URL, $url);
if (isset($referer)){ curl_setopt($curl, CURLOPT_REFERER, $referer);
} curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1)
; if (isset($agent)){ curl_setopt($curl, CURLOPT_USERAGENT, $agent);
} if (isset($headers)){ curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
} curl_setopt($curl, CURLOPT_TIMEOUT, 30);
curl_setopt($curl, CURLOPT_HEADER, 0);
curl_setopt($curl, CURLOPT_POST, 1
curl_setopt($curl, CURLOPT_POSTFIELDS, $post);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); curl_setopt($curl, CURLOPT_COOKIEFILE, dirname(__FILE__).'/cookies.txt');
curl_setopt($curl, CURLOPT_COOKIEJAR, dirname(__FILE__).'/cookies.txt'); curl_setopt($curl, CURLOPT_ENCODING, '');
$site = curl_exec($curl);
curl_close($curl);
return $site;}function _hslk($site){ if (preg_match("/hslk\' value=\'[a-z 0-9]+/i", $site, $val)){ $hslk = str_replace('hslk\' value=\'', '', $val['0']);
} if (isset($hslk)){ return $hslk;
} else { return false; }}if ($dane = _cURL_login($url_login, $post, $referer, $agent, $headers)){ echo $dane;}?>
```php