Logowanie do Ery. Co to ten Token?

0

Czytałem już o logowaniu jednak o tokenach jakoś nic nie wspomniano. Udało mi sie zalogować na strone Orange. Teraz próbuje zalogować sie do Ery. Odpalam HTTP Analyzer i zbieram zmienne POST. Jedna z nich za każdym razem jest inna, to ciąg jakiś znaków i chyba przez to nie moge sie zalogować. Ktoś wie jak pobrać tego tokena a potem użyć przy logowaniu?

0

Z tego co pamiętam, to token jest ukryty w polu hidden w stronce, którą zwraca ci serwer. Wyciągasz go stamtąd i jedziesz dalej, tylko trzeba uważać, bo tam międzyczasie pojawia się chyba jakiś drugi token, o ile pamiętam.

0

Czyli tak na szybkiego powinno to wyglądać jakoś tak:

var
TextHTML, Token: String;
begin
TextHTML := IdHTTP.Get(Link_ten_sam_co_dam_w_POST);
//tutaj jakoś wyciągam tokena za pomocą Pos();
IdHTTP.POST(Link, Zmienne+Token);

Tylko że gdy wywołam metode POST to serwer przy pisze mi kolejnego Tokena, innego niż wcześniejszy. Czy tak?

0
Dibo84 napisał(a)

Tylko że gdy wywołam metode POST to serwer przy pisze mi kolejnego Tokena, innego niż wcześniejszy. Czy tak?

to jest pytanie czy opis problemu ? przeglądarka dokładnie tak samo robi więc nie ma prawa, jedynie jeszcze na wszelki wypadek włóż na formę z IndyMisc komponent IdCookieManager i podepnij go pod IdHTTP - będzie kontrolowało ciacha

0

Kurcze jest problem. Jak wchodze na strone http://www.eraomnix.pl/sso2/omnix_iframe/login.jsp przez FireFoxa i dam podgląd źródła to widze tego tokena itp. Natomiast ja pobiore ją GETem przez IdHTTP to już mam zupełnie inny kod strony, bez tokena. Dlaczego? :|

0

Może jakieś przekierowanie albo coś? Co dostajesz przez GET?

0

Dostaje takie źródło:

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2"/>
<link rel="stylesheet" type="text/css" href="/_s/style.css"/>
<title>Era Omnix - wszystko w Twoich rękach</title>
</head>
<body>

<form name="login.form" method="post" action="/sso2/authenticate.do;jsessionid=DPz2JWp1y8zfqzH1skN22ZlH4vx5NspD0b7lDwMJGt1vKy6pP53J!2124306208" target="_parent">
<br/>
  <table width="576" border="0" cellspacing="0" cellpadding="0" align="center">
	<tr valign="top">
	 <td width="378">

      <span class="title">Logowanie do systemu</span><br/>

      <img src="/_d/1010.gif" width="10" height="8"/><br>
	  <img src="/_d/1010.gif" width="5" height="5"/><br>
      <table width="100%" border="0" cellpadding="2" cellspacing="0">
	   <!--<tr class="text">-->
      <tr class="t11n-dgray">
        <td width="15%" align="right" nowrap>numer telefonu:</td>
		<td rowspan="2"><img src="/_d/1010.gif" width="10" height="10"></td>
        <td width="5%" align="right" nowrap>+</td>
        <td width="80%"><input type="text" name="login" size="15" value="48" /></td>
	   </tr>
	   <!--<tr class="text">-->
      <tr class="t11n-dgray">
        <td align="right">hasło:</td>
        <td></td>
        <td><input type="password" name="password" size="15" value="" /></td>
	   </tr>
	   <!--<tr class="text">-->
      <tr class="t11n-dgray">
        <td align="right" colspan="3">&nbsp;</td>
		<td align="left"><input type="image" src="/_d/buttons/ok.gif" width="70" height="21" border="0" align="left"/><a href="https://www.eraomnix.pl/sso2/login.do" target="_parent"><img src="/_d/icons/secure.gif" alt="Bezpieczne poł?czenie" border=0 style="display:inline;"></a></td>
	   </tr>
	  </table>

	 </td>
	 <td width="18"><img src="/_d/1010.gif" width="18" height="10"/></td>
	 <td width="180">&nbsp;</td>
	</tr>
   </table>
</form>

</body>
</html>

Źródło z przeglądarki:

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2"/>
<link rel="stylesheet" type="text/css" href="/_s/style.css"/>
<title>Era Omnix - wszystko w Twoich rękach</title>
</head>
<body>

<form name="login.form" method="post" action="/sso2/authenticate.do" target="_parent"><input type="hidden" <b>name="org.apache.struts.taglib.html.TOKEN" value="ffff6ace4c1095dc93e04613fcf6bcd8" /></b>
<br/>
  <table width="576" border="0" cellspacing="0" cellpadding="0" align="center">
	<tr valign="top">
	 <td width="378">

      <span class="title">Logowanie do systemu</span><br/>

      <img src="/_d/1010.gif" width="10" height="8"/><br>
	  <img src="/_d/1010.gif" width="5" height="5"/><br>

      <table width="100%" border="0" cellpadding="2" cellspacing="0">
	   <!--<tr class="text">-->
      <tr class="t11n-dgray">
        <td width="15%" align="right" nowrap>numer telefonu:</td>
		<td rowspan="2"><img src="/_d/1010.gif" width="10" height="10"></td>
        <td width="5%" align="right" nowrap>+</td>
        <td width="80%"><input type="text" name="login" size="15" value="48" /></td>
	   </tr>

	   <!--<tr class="text">-->
      <tr class="t11n-dgray">
        <td align="right">hasło:</td>
        <td></td>
        <td><input type="password" name="password" size="15" value="" /></td>
	   </tr>
	   <!--<tr class="text">-->
      <tr class="t11n-dgray">

        <td align="right" colspan="3">&nbsp;</td>
		<td align="left"><input type="image" src="/_d/buttons/ok.gif" width="70" height="21" border="0" align="left"/><a href="https://www.eraomnix.pl/sso2/login.do" target="_parent"><img src="/_d/icons/secure.gif" alt="Bezpieczne połączenie" border=0 style="display:inline;"></a></td>
	   </tr>
	  </table>

	 </td>
	 <td width="18"><img src="/_d/1010.gif" width="18" height="10"/></td>
	 <td width="180">&nbsp;</td>
	</tr>

   </table>
</form>

</body>
</html>

Jak widać w kodzie z przeglądarki widać Tokena, bawiłem sie ustawieniami IdHTTP ale nic nie wykombinowałem

0

No właśnie, widac tokena : <input type="hidden" name="org.apache.struts.taglib.html.TOKEN" value="ffff6ace4c1095dc93e04613fcf6bcd8" />. To dlaczego go nie wyłuskasz z kodu i nie użyjesz. On jest wysyłany w następnym zapytaniu.

0

No właśnie o to chodzi że jak pobieram strone przez IdHTTP to nie ma tokena :) . Przeczytaj jeszcze raz to co napisałem wyżej ;) . Dla przykładu podałem kod który pobiera komponent IdHTTP a który widnieje przy edycji strony w FireFoxie

0

Ach, nie zauwazyłem, ze tam sa wa kody :). Chodzi o to, ze jest przekierowanie, musisz pobiearć drugi raz źródło w zdarzeniu OnRedirect, czy coś takiego - nie moge teraz sprawdzic tego.

0

Hm... chyba przekierowania nie ma :( . W zdarzeniu OnRedirect dałem dla przykładu zmiane captiona w Labelu i nic nie zmienia, czyli procka nie jest uruchamiana

procedure TForm1.IdHTTPRedirect(Sender: TObject; var dest: String;
  var NumRedirect: Integer; var Handled: Boolean;
  var VMethod: TIdHTTPMethod);
begin
Label1.Caption := 'Przekierowanie';
end;
0
Dibo84 napisał(a)

Hm... chyba przekierowania nie ma :( . W zdarzeniu OnRedirect dałem dla przykładu zmiane captiona w Labelu i nic nie zmienia, czyli procka nie jest uruchamiana

procedure TForm1.IdHTTPRedirect(Sender: TObject; var dest: String;
  var NumRedirect: Integer; var Handled: Boolean;
  var VMethod: TIdHTTPMethod);
begin
Label1.Caption := 'Przekierowanie';
end;

nic nie rób w onredirect tylko daj HandleRedirects na true i podawaj się za Internet Explorer tam w parametrach a nie za Indy

0

Sorry że tak dupe truje ale to logowanie do ery jest dla mnie bardzo ważne. Otóż zrobiłem tak jak kazał Adamo i dalej nic :( . W Request->UserAgent dałem "IE", to musi być jakaś specyficzna nazwa? W cudzysłowie czy to bez różnicy?

0

Ja mam na przykład Mozilla/3.0 (compatible; Indy Library), ale ten kod nie działa, odkąd zmienili bramkę (chodzi o zmianę dokonaną tak ze 2-3 miesiące temu, a nie tą dawniejszą).

0

Czyli nie da sie zalogować na Ere? ;(

0
Dibo84 napisał(a)

Czyli nie da sie zalogować na Ere? ;(

Nie, nie to chciałem ci przekazać ;). Po prostu teraz inaczej loguje się na Erę niż wtedy, a nie chciało mi sięz tym walczyć od nowa, i dlatego nie zmieniłem kodu.

0

Ja kiedys walczylem z braamka sponsorowana:

// kiedys
IdHTTP1.Post('http://www.eraomnix.pl/sms/do/extern/tinker/free/send?login=48'+
// teraz
IdHTTP1.Post('http://www.eraomnix.pl/msg/api/do/tinker/sponsored?login=48'

Zmienilem tylko adres i nic wiecej i wysyla mi sms. Mam tylko problem ze zwrotem czy sms doszedl czy nie. ale wysyla sms za kazdym razem :)

0

No właśnie, a ja chciałem mieć potwierdzenie czy wysłałem, pobrać stan konta itd. No ale cóż, może ktoś jeszcze będzie miał jakiś pomysł to niech napisze. Ja też jak coś wymyśle zaraz wstawie. Ostatecznie do pobrania tokena wykorzystam kontrolke WebBrowser, ale to już w ostateczności, bo sami wiecie jak to długo trwa ;)

0

Sorry że pisze posta pod postem ale chce troche odświeżyć temat. Otóż wiem już jak znaleźć tokena. Najpierw musimy pobrać strone:

idhttp.Get('http://www.eraomnix.pl/sso2/authenticate.do')

A dopiero potem

idhttp.Get('http://www.eraomnix.pl/sso2/omnix_iframe/login.jsp')

Teraz serwer będzie przyznawał naszemu komponentowi Indy tokena. Ale dalej coś nie tak jest z logowaniem. Nie moge sie zalogować. Zwraca mi strone gdzie jest tekst "błedny login lub błędne hasło" a na pewno są prawidłowe. Wydaje mi sie że to dwie ostatnie zmienne X i Y które zakażdym razem są inne tak samo jak Token:

OrangeLog.AddFormField('org.apache.struts.taglib.html.TOKEN', Token);
OrangeLog.AddFormField('login', '48662662662');
OrangeLog.AddFormField('password', '5cxv5sd');
OrangeLog.AddFormField('x', '29');
OrangeLog.AddFormField('y', '14');

Nie mam zielonego pojęcia skąd to X i Y a troche sie naszukałem, ktoś ma jakiś pomysł? Wiem że jestem uparty ale z tego postu może stać sie ciekawy (i aktualny) artykuł na temat logowania do Ery.

0

wedlug mnie jest tam jakas funkcja ktora zwraca polozenie kursora wzgledem przycisku (gif'a) w czasie jego klikniecia i to chyba bedzie ten x i y

0

Czyli z tego wynika że te zmienne nie powinny mieć wpływu na zalogowanie?

0

Raczej nie (tzn nie powinny byc wieksze niz ten obrazek :) ). Tylko moze byc cos takiego ze w funkcja pobierajace te polozenie tez wysyla cos do serwera, tego nie jestem pewien bo nieznam dokladnie mozliwosci php

1 użytkowników online, w tym zalogowanych: 0, gości: 1