PDA

View Full Version : [C#] programma autologin (megaupload)


sneeze
11-09-2010, 16:24
Riguardo al 3d chiuso sul programma per l'auto login di megaupload mi sono andato a leggere il contratto di servizio. e Megaupload permette di autorizzare terzi ad utilizzare il proprio profilo:

5. Account cliente

5.1 Utenti autorizzati

Il Cliente può delegare altre persone ad agire come suoi rappresentanti ed utilizzare i Servizi, a patto che ogni persona incaricata abbia la capacità giuridica di sottoscrivere contratti vincolanti per conto del Cliente. Inoltre, il Cliente dichiara e garantisce che ogni persona che registra un account a nome del Cliente è un rappresentante autorizzato dal Cliente (un "Utente Autorizzato") con la suddetta capacità giuridica.


5.2 Responsabilità per l'accesso

Il Cliente è il solo responsabile di ogni accesso ed utilizzo dei Servizi (comprese tutte le attività e le transazioni) da parte di un Utente Autorizzato e/o di uno User ID registrato sotto l'account del Cliente, a meno che tale accesso od utilizzo dei Servizi non sia la conseguenza diretta di un'enorme negligenza da parte di Megaupload. E' responsabilità del Cliente, attraverso il proprio sistemista Utente Autorizzato, impostare degli accessi appropriati per ognuno degli Utenti Autorizzati del Cliente..


5.3 Responsabilità per User ID e Password

Il Cliente è il solo responsabile della confidenzialità dei dati di accesso del Cliente (cioè ID e password) e dei suoi Utenti Autorizzati, ed è responsabile delle attività derivanti dall'uso del proprio account.


5.4 Notifica di uso non autorizzato

Il Cliente dovrà segnalare immediatamente a Megaupload qualsiasi attività che indichi che l'account del Cliente od i dati siano usati senza autorizzazione, ivi compresi i casi in cui: (a) il Cliente ha ricevuto conferma di un ordine o di alcuni ordini effettuati utilizzando l'account del Cliente e che il cliente non ha effettuato o qualunque altra segnalazione contrastante; oppure (b) Il Cliente viene a conoscenza di usi non autorizzati di prodotti o servizi legati ai propri account.

Quindi direi che se ne può parlare dato che è possibile farlo per contratto.
Ora, visto che interessava molto anche me, non per la parte dell'auto login e nemmeno per fare entrare qualcuno su un mio account, ma bensì per riuscire a capire dove diavolo si effettua l'accesso a questi servizi. Ovviamente mi pare inutile spiegare che non è assolutamente tramite interfaccia web che i programmi come megamanager o jdownloader fanno accesso a questi servizi. Ci deve essere da qualche parte un servizio web o delle api con le quali fare autenticazione e operare. Mi chiedo, qualcuno ne sa qualcosa magari?

bobbytre
12-09-2010, 03:15
Il login su megaupload funziona come la maggior parte dei login sui siti internet.

Quindi ti basta che il tuo programma si possa collegare al server di Megaupload sulla porta 80 e poi usando il protocollo HTTP effettuare una richiesta di tipo POST inviando nei dati la tua username e la tua password

Otterrai una risposta da parte del server contenente un cookie

Inserisci successivamente il cookie ottenuto in tutte le richieste successive e verrai riconosciuto dal server come utente loggato.

sneeze
12-09-2010, 13:23
Il login su megaupload funziona come la maggior parte dei login sui siti internet.

Quindi ti basta che il tuo programma si possa collegare al server di Megaupload sulla porta 80 e poi usando il protocollo HTTP effettuare una richiesta di tipo POST inviando nei dati la tua username e la tua password

Otterrai una risposta da parte del server contenente un cookie

Inserisci successivamente il cookie ottenuto in tutte le richieste successive e verrai riconosciuto dal server come utente loggato.

Risposta abbastanza banale. Ok per il cookie ma sei troppo generico e astratto, inviare nel post i dati username e password..... uhmmmm siamo proprio sicuri? vanno nel post? come devono essere chiamati? come li faccio riconoscere? magari vuole degli header nella richiesta? su che namespace? con che chiavi?
Ad ogni modo ammettiamo pure che facciamo la richiesta in post sulla 80 e metto login=pippo e password=lakhjdlaksjd e che ho fortuna e mi rilascia un cookie.
bene
e adesso?????.....

che chiamate faccio per avere la lista dei miei file uploadati? dove ne vedo lo stato? che chiamate faccio per vedere i dettagli del mio profilo?

Quindi riassumendo, non cercavo una risposta pressapochista di come si effettua un login su un sito web. Vorrei chiedere invece se qualcuno conosce dove stiano e le reference dei webservice di megaupload, dato che è evidente che devono esserci.

bobbytre
12-09-2010, 16:39
Risposta abbastanza banale. Ok per il cookie ma sei troppo generico e astratto, inviare nel post i dati username e password..... uhmmmm siamo proprio sicuri? vanno nel post? come devono essere chiamati? come li faccio riconoscere? magari vuole degli header nella richiesta? su che namespace? con che chiavi?
Ad ogni modo ammettiamo pure che facciamo la richiesta in post sulla 80 e metto login=pippo e password=lakhjdlaksjd e che ho fortuna e mi rilascia un cookie.
bene
e adesso?????.....

che chiamate faccio per avere la lista dei miei file uploadati? dove ne vedo lo stato? che chiamate faccio per vedere i dettagli del mio profilo?

Quindi riassumendo, non cercavo una risposta pressapochista di come si effettua un login su un sito web. Vorrei chiedere invece se qualcuno conosce dove stiano e le reference dei webservice di megaupload, dato che è evidente che devono esserci.

Mi dispiace che la risposta ti sia sembrata banale , generica o astratta , forse approfondendo un po il funzionamento del protocollo HTTP , alcune delle cose che ho scritto , potrebbero assumere un significato piu preciso e concreto.

pabloski
12-09-2010, 17:13
Devi studiarti il funzionamento dell'interfaccia web usata da megaupload. Installa firefox e Live http headers e poi vai sul sito e fai quei passi a mano.

Nei log di live http headers vedrai tutte le richieste GET e POST che il browser invia e le relative repliche dei server di megaupload.

Se poi megaupload ha un'API specifica, beh, dev'esserci la documentazione sul loro sito da qualche parte.

astorcas
13-09-2010, 11:35
Megaupload non fornisce nessuna API, anche perché il suo scopo è piuttosto essenziale. Per quanto riguarda il thread chiuso, l'utente voleva semplicemente automatizzare il processo di login su un determinato browser. A tal proposito, visto che richiedeva la soluzione in .NET, ho suggerito la libreria WatiN, che con poche righe di codice fa quanto detto.
La soluzione suggerita da bobbytre è valida, ma non necessaria in questo contesto mi sa :)

sneeze
13-09-2010, 14:17
visto che siete così convinti lo prendo per buono anche se con riserva.
Mi metto in trace con il fiddler e vedo cosa passa...
Vi farò sapere

pabloski
13-09-2010, 14:44
visto che siete così convinti lo prendo per buono anche se con riserva.
Mi metto in trace con il fiddler e vedo cosa passa...
Vi farò sapere

beh no, non è questione di convinzione, è che i web services funzionano così :D

Darecon
13-09-2010, 15:22
Megaupload non fornisce nessuna API, anche perché il suo scopo è piuttosto essenziale. Per quanto riguarda il thread chiuso, l'utente voleva semplicemente automatizzare il processo di login su un determinato browser. A tal proposito, visto che richiedeva la soluzione in .NET, ho suggerito la libreria WatiN, che con poche righe di codice fa quanto detto.
La soluzione suggerita da bobbytre è valida, ma non necessaria in questo contesto mi sa :)

Fantastica quella libreria.. Ho dato uno sguardo e ha delle funzioni che mi semplificano la vita in alcuni progetti.. Peccato che per usare ff serva installare un estensione, ma va piu' che bene anche IE! :) Grazie!

astorcas
13-09-2010, 15:27
beh no, non è questione di convinzione, è che i web services funzionano così :D

be' più che web services, qua si parla di protocollo http. Che è alla base del funzionamento di ogni browser.

Fantastica quella libreria.. Ho dato uno sguardo e ha delle funzioni che mi semplificano la vita in alcuni progetti.. Peccato che per usare ff serva installare un estensione, ma va piu' che bene anche IE! :) Grazie!

Prego! :)

sneeze
13-09-2010, 21:39
no beh.... io per webservice indendevo wsdl.... tanto per dire.
intendevo chiamate a metodi
intendevo oggetti complessi serializzati sul canale
intendevo datacontract
ecc ecc
non è che sia proprio la stessa cosa eh... http è un protocollo

pabloski
13-09-2010, 22:10
no beh.... io per webservice indendevo wsdl.... tanto per dire.
intendevo chiamate a metodi
intendevo oggetti complessi serializzati sul canale
intendevo datacontract
ecc ecc
non è che sia proprio la stessa cosa eh... http è un protocollo

e infatti era questo che intendevo quando ho parlato di API

poi se è per questo, pure un form viene rappresentato con coppie chiave-valore serializzate :D