2016-04-12 13 views
0

Ich möchte ein Programm schreiben, die auf der Website meiner Schule einloggen und nach Updates suchen würde, dass ich bewusst sein sollte. Ich bin relativ neu in JavaScript. Ich schaute auf den Quellcode für die Anmeldeseite und es scheint, dass der Benutzername und das Kennwort mit dem Attribut action gesendet werden. (Ich habe versucht, eine JavaScript-Funktion zu finden, die aufgerufen wird, wenn die Schaltfläche gedrückt wird, aber fehlgeschlagen. Auch das Action-Attribut ist auf einen Wert festgelegt.) Ich glaube, wenn ich meine Anmeldeinformationen habe, wenn ich das Format der kennen Daten werden an den Server zur Verifizierung gesendet, ich kann ein Programm schreiben, das den Betrieb der Anmeldeseite nachahmt. Wie kann ich sehen, was gesendet wird?Holen Sie sich die Daten von einer Website HTML-Formular

Hier ist die Webseiten-Code:

 <form action="http://[myschoolsdomainname].edu/login/index.php" method="post" id="login"> 
     <div class="loginform"> 
     <div class="form-label"><label for="username">Username</label></div> 
     <div class="form-input"> 
      <input name="username" id="username" size="15" value="815008955" type="text"> 
     </div> 
     <div class="clearer"><!-- --></div> 
     <div class="form-label"><label for="password">Password</label></div> 
     <div class="form-input"> 
      <input name="password" id="password" size="15" value="" type="password"> 
      <input value="Login" type="submit"> 
      <input name="testcookies" value="1" type="hidden"> 
     </div> 
     <div class="clearer"><!-- --></div> 
     </div> 
    </form> 

N. B. Ich versuche nichts böswilliges zu tun, ich möchte die Seite einfach automatisch (mit C oder Java) überprüfen, um zu sehen, ob Hausaufgaben veröffentlicht wurden. Ich mag Code und ich bin neugierig, ob ich das tun kann, aber ich bin mir nicht sicher, wo ich anfangen soll.

+1

Sie können die Netzwerkregisterkarte von Chrome verwenden, um die Nutzdaten anzuzeigen, die an den Server gesendet werden. Wenn sie richtig funktioniert haben, wird Ihre Schule CSRF-Schutz implementiert haben (es ist wahrscheinlich, dass das CSRF-Token in der Kopfzeile übergeben wird, manchmal liegt es jedoch in der Nutzlast) und verhindert daher, dass Sie tun können, was Sie tun möchten. Sie scrapen im Wesentlichen ihre Website, die meistens, wenn Sie sich die Nutzungsbedingungen einer Website ansehen, als verboten markiert ist. –

Antwort

0

Ich stimme Nick Delaney - Netzwerk Registerkarte in Chrome (auf einem Mac Option+Cmd+i) wird Ihnen zeigen, was Sie sehen möchten. Klicken Sie oben im angezeigten Fenster auf "Netzwerk" und aktivieren Sie das Kontrollkästchen "Protokoll beibehalten". Wenn Sie dies nicht tun, wird der Verlauf der gesamten Seite gelöscht.

Sie sollten in der Lage sein, alle HTTP-Anforderungen zu sehen, die für die Anmeldung bei der Site und das Rendern der nachfolgenden Seite erforderlich sind. CSRF kann oder darf kein Problem sein, aber nur das Experimentieren wird es Ihnen sagen.

Zum Beispiel ist dies die Login-Anfrage für strava.com (eine beliebte Website für die Verfolgung von Fitness-Aktivitäten). Dies sagt mir, dass es ein Formular gibt nach email, password, authenticity_token (hm, frage mich, was das ist? :), utf8 und remember_me Felder. Die erfolgreiche Antwort ist eine 302 redirect zu https://www.strava.com/dashboard, die auch einige Cookies setzt.

strava login request

Wenn ich die Umleitung (der Browser automatisch erledigt das für uns) und Blick auf das Armaturenbrett HTTP-Anforderung (unterhalb der aktuell markierten Anfrage) folgen werde ich die HTML sehen, dass die Dashboard-Seite für einen angemeldeten darstellt in Strava Benutzer (ich). Wenn sich die gewünschten Daten im Dashboard befinden, besteht die Herausforderung darin, eine "korrekte" Anmeldeanforderung zu erstellen, der Weiterleitung (mit den Cookies, die bei der Anmeldeanforderung festgelegt wurden) zu folgen und die Antwort zu analysieren.

Verwandte Themen