Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: nasza-klasa zapraszanie
Forum PHP.pl > Forum > PHP
furman12
Witam,
Chciałbym zrobić coś takiego, że ktoś wchodzi na moją strone i podaje swoje id na nk i moje konto na nk zaprasza go ew. automatycznie akceptuje jego zaproszenie.
Jak takie coś zrobić? Czy w ogóle da rade to zrobić?
Quantum
Da radę. Proponowałbym, żeby zamiast ID podawany był link do profilu, połowa ludzi i tak nie wiedziałaby gdzie jest ten identyfikator tongue.gif a z linku możesz łatwo sobie wyciągnąć preg_match-em. Co do samego akceptowania - curl.
furman12
Dobra wygooglowałem jak przeglądać profile na nk. Ale jak zapraszać ludzi?
Quantum
musiałbyś złamać kilka zabezpieczeń, ale w tym pomagać Ci nie będę, jedyna wskazówka - curl + preg_match.
Lejto
curl, http live headers, pętla, ciąg losowych cyfr - pomyśl ;p
MateuszS
To cURL dziala na naszej-klasie? rolleyes.gif
Quantum
Cytat
To cURL dziala na naszej-klasie?


a dlaczego akurat tam miałby nie działać ? tongue.gif
MateuszS
Spróbuj pobrać tę stronę cURLEM. Sam go raczej nie używam, ale skoro nie da się jej pobrać to chyba żadnej operacji cURLem nie da się wykonać na niej (napisz jeżeli się mylę, to będzie wbrew pozorom dobra wiadomość) ...
Quantum
Każdą, ale to każdą stronę możesz pobrać cURL-em. Na NK jak i na wielu portalach znajduje się wiele "zabezpieczeń" - zabezpieczeń z prawdziwego zdarzenia na opartych na protokole HTTP - brak. Jak łączysz się z jakąś stroną to dla serwera dane przychodzące nie mogą się różnić niczym od zwykłego zjadacza chleba. Na wstępie napewno zastosowali eliminacje botów itp., dodam, że jedyną metodą nie jest "user-agent".
furman12
Przy czymś takim niestety nie działa, ale gdy zamienie invite na profile moje konto odwiedza czyjeś konta.
  1. <?php
  2. $cookie = 'ciaho.txt';
  3.  
  4. $loginUrl = 'http://nasza-klasa.pl/login';
  5. $login = 'login';
  6. $password = 'pass';
  7. $useragent = 'Mozilla/5.0 (X11; U; Linux i686; pl; rv:1.8.0.3) Gecko/20060426 Firefox/1.5.0.3';
  8.  
  9. $ch = curl_init( $loginUrl );
  10. curl_setopt( $ch, CURLOPT_COOKIEFILE, $cookie );
  11. curl_setopt( $ch, CURLOPT_COOKIEJAR, $cookie );
  12. curl_setopt( $ch, CURLOPT_COOKIE, $cookie);
  13. curl_setopt( $ch, CURLOPT_USERAGENT, $useragent );
  14. curl_setopt( $ch, CURLOPT_POST, true );
  15. curl_setopt( $ch, CURLOPT_POSTFIELDS, 'login='.$login.'&password='.$password );
  16. curl_setopt( $ch, CURLOPT_REFERER, 'http://nasza-klasa.pl/' );
  17. curl_setopt( $ch, CURLOPT_RETURNTRANSFER, 1 );
  18. curl_setopt( $ch, CURLOPT_FOLLOWLOCATION, 1);
  19. $afterLogin = curl_exec($ch);
  20. curl_close($ch);
  21.  
  22. for( $i=1; $i<=5; $i++ ) {
  23. $profileID = rand( 1000, 15000000 ); // rand
  24.  
  25. $ch = curl_init( 'http://nasza-klasa.pl/invite/'.$profileID );
  26. curl_setopt( $ch, CURLOPT_COOKIEJAR, $cookie);
  27. curl_setopt( $ch, CURLOPT_COOKIEFILE, $cookie);
  28. curl_setopt( $ch, CURLOPT_COOKIE, $cookie);
  29. curl_setopt( $ch, CURLOPT_USERAGENT, $useragent );
  30. curl_setopt( $ch, CURLOPT_HEADER, 1);
  31. curl_setopt( $ch, CURLOPT_REFERER, 'http://nasza-klasa.pl/' );
  32. curl_setopt( $ch, CURLOPT_RETURNTRANSFER, 1 );
  33. curl_setopt( $ch, CURLOPT_FOLLOWLOCATION, 1);
  34. $profile = curl_exec($ch);
  35. curl_close($ch);
  36.  
  37. if( !preg_match( '/Nie znaleziono strony \(404\)/', $profile ) ) {
  38. echo "hehe to działa<br />"; // konto istnieje
  39. // z danymi konta możemy zrobić co chcemy...
  40. } else {
  41. echo "nie działa<br />"; // nie ma konta takiego konta
  42. }
  43. }
  44. ?>


PS: Nie chodzi tu o spam bo potrzebuje wysyłać zaproszenie do konkretnych osób. Chociaz i tak każdy pewnie myśli że to ma być spam. snitch.gif
Quantum
na stronie samego profilu masz losowy ciąg znaków, który musi być przekazany w danych post, jak już wcześniej pisałem preg_match..
furman12
Niestety nie umiem tego napisać sad.gif Ale znalazłem coś takiego http://blog.zeromski.com.pl/2008/09/nasza-...anie-znajomych/
ale niestety coś mi to nie działa, nie wywala żadnego błędu. Może ktoś sprawdzić czy działa?
neverever
Cytat(furman12 @ 7.03.2010, 21:55:10 ) *
Niestety nie umiem tego napisać sad.gif Ale znalazłem coś takiego http://blog.zeromski.com.pl/2008/09/nasza-...anie-znajomych/
ale niestety coś mi to nie działa, nie wywala żadnego błędu. Może ktoś sprawdzić czy działa?

Skrypt ten raczej już nie działa.

od 2008r NK wprowadziła trochę zabezpieczeń jak sprawdzanie referera i limity czasowe na wysyłki - mające zapobiec spamowaniu. No i pojawiły się też kody captcha.

Pomijając jednak kwestię dodatkowych zabezpieczeń, to do wysłania zaproszenia, wiadomości etc. jest stosowane podstawowe zabezpieczenie w postaci tokena auto_form_ticket. Więc jak już koledzy wcześniej pisali, najpierw trzeba ten token wyciągnąć preg_match_all a potem go dołączyć podczas wysyłki CURLOPT_POST + CURLOPT_POSTFIELDS.

Gotowca z wiadomych względów tutaj raczej nie dostaniesz.
Jak się dobrze w php orientujesz, to mając takie info sobie sam poradzisz.
Jak nie, to może być trudno znaleźć chętnego na nieodpłatne udostępnienie gotowego rozwiązania.

To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.