Automatyczne dodawanie punktów do WebCron’a.

21 02 2009

Pewnie wiele osób tworzących gry internetowe korzysta z WebCrona, przy wykonywaniu automatycznych “resetów”. Ja też ;)
Pewnego dnia, gdy moja gra dostała 1 dzień w łeb, z powodu mojego zapominalstwa (nie kliknąłem na Dodaj Punkty…) postanowiłem napisać prosty skrypt PHP w oparciu bibliotekę Curl który automatycznie dodawałby punkty do mojego konta na WebCronie.

Kod

<?
 /*
  * Informatic's WebCronDodajPunkty Script
  * Visit http://infdevblog.wordpress.com/ if you like it :)
  */
 $Username = 'nazwaUżytkownika';
 $Password = 'twojeHasło';
 function curl_post(&$c,$url,$data) { //funkcja wysyłająca $data POST'em na dany $url.
  // Nasze pudełko z ciachami :]
  curl_setopt($c, CURLOPT_COOKIEFILE, dirname(__FILE__) . '/cookies.txt');
  curl_setopt($c, CURLOPT_COOKIEJAR, dirname(__FILE__) . '/cookies.txt');

  curl_setopt($c, CURLOPT_URL, $url);
  curl_setopt($c, CURLOPT_POST, 1); //przesyłamy metodą post
  curl_setopt($c, CURLOPT_POSTFIELDS, $data);
  return curl_exec($c);
 }
 $c = curl_init();
 curl_setopt($c, CURLOPT_RETURNTRANSFER, 1);
 //logujemy się.
 $login = curl_post($c,'http://webcron.pl/index.html','login_send=true&username='.$Username.'&password='.$Password);
 //dodajemy punkty.
 $dodaj = curl_post($c,'http://webcron.pl/konto.html','add_points=true');
 curl_close($c);
 //i ładne info :)
 echo 'Punkty do WebCrona dodane!';
 //usuwamy plik z ciachami.
 unlink(dirname(__FILE__) . '/cookies.txt');
?>

Kod jest ściśle tworzony pod serwis webcron.pl – na innych serwisach będzie wymagać dostosowania.

Sposób użycia
1. Kopiujesz plik na serwer.
2. W linijkach:

$Username = 'nazwaUżytkownika';
$Password = 'twojeHasło';

Wpisujesz swoje dane logowania do Webcrona.
3. Wpisujesz w oknie przeglądarki adres do skryptu i cieszysz się 50 punktami ;)

I możesz to jeszcze bardziej sautomatyzować, np. przez dodanie na końcu pliku “admin.php” linijki:

if($_GET['view'] == '') include("webcronDodajPunkty.php");

(skrypt musi nazywać się “webcronDodajPunkty.php”!)

Jak się uprzesz, to też możesz dodawać punkty przy resecie, ale nie wiem czy to zadziała – Webcron może blokować konto podczas wykonywania Twojego żądania ;)

Zabezpieczenia.
Skrypt ten używałem w Vallheru Santic przez automatyczne “includowanie” go w panelu admina.
Dodatkowo dodałem też takie zabezpieczenie na początku naszego skryptu:

$ok_mails = array('mojMeilik@rushh.pl','asdf@corporation.com');
 if(!in_array($_SESSION['email'],$ok_mails)) die('You f*** haxxor!');

^^

A regulamin?
Regulamin webcrona nie zabrania takich skryptów, więc na dzień dzisiejszy możesz z niego korzystać bez żadnych obaw :)

I nowy theme do tego – zomg! :D


Działania

Informacja

3 odpowiedzi

28 02 2009
Xavi

Mhm, ciekawa notka – na pewno przydatne, ale mnie ciekawi jedno:
“(skrypt musi nazywać się “webcronDodajPunkty.php”!)”
a to czemu?
Przejrzałem kod – co prawda dosyć pobieżnie, ale nie dostrzegłem niczego, co by blokowało możliwość zastosowania innej nazwy.
Chyba, że Ci chodziło o to, że w include musi być taka sama nazwa co pliku, który utworzyliśmy, to tak, ale Twoje sformułowanie “(skrypt musi nazywać się “webcronDodajPunkty.php”!)” troszkę jest niejasne, bo brzmi to jakby skrypt nie działał z inna nazwa pliku.
Pozdrawiam:)

3 03 2009
infdevblog

Co do tego, ze skrypt ma sie nazywac “webcronDodajPunkty.php” to dotyczylo tego kawalka ktory mozesz wkleic do admin.php :)

if($_GET['view'] == ”) include(“webcronDodajPunkty.php”);

6 03 2009
MajareQ

Xavi się musi słówek czepiać… ;)

Dodaj komentarz