Startseite › Foren › Deutsches LiveCode-Forum › "POST" auf Webseite die JavaScript zur Anmeldung nutzt
- Dieses Thema hat 6 Antworten und 5 Teilnehmer, und wurde zuletzt aktualisiert vor 6 Jahren, 4 Monaten von VolkerT.
-
AutorBeiträge
-
-
April 19, 2018 um 12:54 Uhr #5370Anonym
Hallo liebe Gemeinschaft,
ist es jemandem schon gelungen einen Benutzernamen und ein Passwort auf eine Seite zu übertragen die JavaScript nutzt um sich zu authentifizieren?
Alle meine Versuche mit GET und POST sind fehlgeschlagen. Gibt es die Möglichkeit überhaupt aus LiveCode heraus dem JavaScript auf einer Internetseite Logindaten mitzugeben?
Hier mal ein Auszug aus dem HTML-Code um die Seite um die es geht:
<!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN” “http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd”>
<html>
<head>
<title>NetEco 1000S</title>[ … ]
<div id=”loginDiv” style=”position:relative;left:0px;top:160px;width:100%;height:120px;”>
<form method=”post” action=”” name=”loginForm” id=”loginForm”>
<table border=0 bgcolor=”” width=”100%”>
<tr>
<td style=”width:45%;height:34px;text-align:right;padding-top: 0px; padding-bottom: 0px;”><span class=”login_form_txt” style=”font-size:12pt;font-family:Microsoft Yahei, Georgia, serif;”>Benutzername</span></td>
<td style=”width:1%;padding-top: 0px; padding-bottom: 0px;”></td>
<td style=”text-align:left;width:13%;padding-top: 0px; padding-bottom: 0px;”><input type=”text” placeholder=Konto/E-Mail tabindex=”1″ style=” height:20px;width: 130px;” maxlength=”96″ onkeypress=”if(event.keyCode == 32 || event.which == 32){return false}” onkeyup=”checkUserNameLength()” id=”userName” name=”userName” onblur=””/></td>
<td width=”42%” align=”left” style=”padding-top: 0px; padding-bottom: 0px;”><span id=”loginErrorMsg_login” class=”icon_error” style=”position:relative;top:0px;left:0px;width:100%;text-align:left;font-size:12px;font-family: Microsoft Yahei, Georgia, serif;color: red;padding-top: 0px; padding-bottom: 0px;”></span></td>
</tr><tr>
<td style=”text-align:right;padding-top: 0px; padding-bottom: 0px;height: 34px”>
<!– password –>
<span class=”” style=”font-size:12pt;font-family:Microsoft Yahei, Georgia, serif;”>Passwort</span>
</td>
<td></td>
<td style=”text-align:left;padding-top: 0px; padding-bottom: 0px;”>
<input type=”password” value=”” tabindex=”2″ autocomplete=”off” style=” height:20px;width: 130px;” maxlength=”32″ id=”password” name=”password” onkeypress=”” onkeydown=”if(event.keyCode==13){$(‘#login’).click();}” />
</td>
<td>[ … ]
</script>
</body>
</html>Meine “Codeversuche”
on postURL put userName="********" & password="*******" into tArgList post tArgList to URL "https://52.**.***.5*:8**3" end postURL oder on sendData put "********" into userName put "*********" into passwordd put "https://" & userName & ":" & URLEncode(passwordd) \ & "@https://52.**.***.5*:8**3" into fileURLToGet get URL fileURLToGet put it into field "field" end sendData
Natürlich dankbar für alle Tips
Viele Grüße
Kosta
-
April 21, 2018 um 15:20 Uhr #5416
Hallo Kosta,
von meinem Verständnis her kann das nicht gehen:
Javascript wird vom Browser über den Javascript Interpreter intern verarbeitet. Das Ergebnis wird nach Verarbeitung an den Server geschickt.
Ich gehe mal davon aus, daß Livecode keinen Javscript interpreter hat? und es deshalb nicht funktioniert.Trotzdem viel Glück
Grüße Bodo
-
April 21, 2018 um 16:08 Uhr #5418
Hallo Kosta, ich habe damit noch keine Versuche gemacht oder Erfahrungen sammeln können. Aber zu diesem Thema fand ich hier Tipps: http://livecode.byu.edu/internet/postMethodSteps.php
Hoffe das hilft dir weiter.
LG
Georg -
April 21, 2018 um 17:37 Uhr #5420
Hallo appTaurus,
ich habe vor einem Jahr mal an einem Projekt gearbeitet, das sich auf eine Webseite eingeloggt hat, die massiv mit JavaScript abgesichert war, so dass man mit simplem POST nicht weiterkam.
Man kann mit LiveCode JavaScript-Kommandos direkt an das Browser-Widget übertragen (das auch unsichtbar sein kann). Wenn man dann also die IDs der Login und Passwort-Felder kennt sowie die des Absende-Buttons, kann man sich theoretisch auch über LiveCode einloggen. Viel Herumprobieren ist definitiv nötig, aber am Ende ist es mir gelungen.
Beispiel:
do "document.getElementById('username').value = 'meinName';" in widget "Browser" do "document.getElementById('password').value = 'meingeheimespasswort';" in widget "Browser" do "document.getElementById('login_button').click();" in widget "Browser"
Vielleicht hilft Dir das weiter.
Grüße
Hauke
-
April 21, 2018 um 18:59 Uhr #5422
Hallo,
das ist ja phänomenal mit do “document.getElementById…
Schau mal den Source Code an.
In der https://52.58.159.100:8443/security/js/login.js?1524336404356 werden die Eingabedaten verarbeitet.
Hier solltest Du auch das Zielscript finden, an das gesendet wird. Vielleicht kannst Du es dann direkt ansprechen. In der function comitLogin(userName, password) { wird über Ajax die url beschrieben.
Vielleicht hilft das als Ansatz – ich bin jetzt nicht tiefer eingestiegen.
Viel Glück
Bodo
-
April 21, 2018 um 19:52 Uhr #5424Anonym
Phänomenal ist gar kein Ausdruck!!!
Das hat bestens funktioniert Hauke! Grandios!
Musste nur noch die user_agent Kennung des Browserwidgets ändern, weil die Seite nur IE 11 akzeptiert (mit sovielen Augen kann ich gar nicht rollen) und es funktioniert!
Ich bin absolut begeistert! Und meine Kopfschmerzen schwinden dahin! 🙂
Vielen lieben Dank Hauke! Und natürlich allen anderen die sich an der Diskussion beteiligen 🙂
Kosta
-
Juni 10, 2018 um 21:26 Uhr #6080
Ich bin sehr begeistert von der Möglichkeit Anmeldedaten zu übergeben. Habe es mit dem o.g. Beispiel
do “document.getElementById(‘username’).value = ‘xxxxx’;” in widget “Browser”
versucht.
Bekomme allerdings immer folgende Fehlermeldung:
executing at 9:10:25 PM
LCB Error Value is not of correct type for assignment to variable – expected type <type: livecode.lang.string> for assigning to variable tResult in com.livecode.widget.browser.browserEvaluateJavaScript
Object Browser
LCB File browser.lcb
LCB Line 771Woran kann es liegen? Muss ich noch etwas beachten beim Übergeben der Anmeldedaten?
Viele Grüße
Volker
-
-
AutorBeiträge
- Du musst angemeldet sein, um auf dieses Thema antworten zu können.