Avatar billede Zeebaah Praktikant
22. oktober 2014 - 11:55 Der er 10 kommentarer og
1 løsning

auto udfyld login prompt med javascript

Hej,

Jeg er i gang med at lave en hjemmeside til at styre en robot der hedder nao med. den bruger et specielt javascript bibliotek som der ligger på robotten, når jeg bruger
<script src="http://172.30.1.213/libs/qimessaging/1.0/qimessaging.js"></script> kommer der en login prompt op hvilket for mig ikke er så smart, findes der nogen måde at automatisk udfylde og dem på via javascriptet?

http://i59.tinypic.com/4lmvz8.png
Avatar billede Slater Ekspert
22. oktober 2014 - 12:30 #1
Det er ikke Javascript men sandsynligvis Basic Auth, en HTTP feature. Du kan logge ind på det automatisk ved at sende en "Authorization: Basic" header med, når du kalder siden - men ikke direkte ved at loade Javascript på den måde. Så skal du bruge AJAX.
Avatar billede ThomasOlsen1 Nybegynder
22. oktober 2014 - 19:57 #2
Har du noget htaccess kørende?
Avatar billede Zeebaah Praktikant
23. oktober 2014 - 11:46 #3
@viperine - Er det noget som er nemt at lave? har ikke mulighed for at ændre noget på selve robotten.

@ThomasOlsen1 - Kender ikke rigtigt noget til htcaccess så det tror jeg ikke ud over hvad der måske er fra start på en lokal xampp. og hvis det er på robotten så er det hvertfald ikke noget jeg har adgang til at ændre på desvære.
Avatar billede Slater Ekspert
23. oktober 2014 - 14:09 #4
Det er rimelig nemt at sende headeren, problemet er at få hentet og udført Javascriptet som om du inkluderede det med normalt <script> tag.

Jeg kan kun lige komme på to muligheder. Enten bruge AJAX til at hente indholdet af js-filen og udføre det med eval() - eller have et server-side mellemled i f.eks. PHP, som henter indholdet af js-filen og outputter det direkte, og <script> tag'et så kalder mellemled.php i stedet.

Med den løsning skal du bare inkludere en Authorization: Basic header. Hvis du brugte CURL i PHP kunne det f.eks. se sådan ud:

$credentials = base64_encode( "Brugernavn:Password" );
curl_setopt($ch, CURLOPT_HTTPHEADER, array("Authorization: Basic $credentials"));

- Jeg ved godt det stadig er meget abstrakt. Vi skal lige lidt tættere på, hvad du vil gøre, før det kan beskrives mere præcist.
Avatar billede Zeebaah Praktikant
23. oktober 2014 - 14:16 #5
Altså jeg skal bare være fri for at skulle indtaste de oplysninger som det kræves når jeg bruger min include.

Det behøves ikke være krypteret eller noget. Både brugernavn og kode vil altid være nao.
Avatar billede Slater Ekspert
23. oktober 2014 - 16:34 #6
Basic Auth er ikke krypteret i sig selv, det skal du bruge SSL til hvis du vil have. Det er derimod Base64 encoded, hvilket ikke er en kryptering - og det kan du ikke komme uden om.

Til gengæld behøver du ikke gøre det on-the-fly. Hvis brugernavn og password begge er "nao", så vil din auth-streng altid være:

bmFvOm5hbw==
Avatar billede Zeebaah Praktikant
23. oktober 2014 - 21:50 #7
Okay, du skulle vel ikke have et link til et eksempel hvis det er med html? Eller noget jeg kan bruge
Avatar billede Slater Ekspert
24. oktober 2014 - 09:46 #8
Hm, jeg afprøvede det lige med AJAX, og kunne sjovt nok ikke få det til at virke. Jeg ved faktisk ikke hvorfor, men den blev ved med at spørge om password, selvom jeg sendte headeren med.

Med CURL virker det til gengæld fint.

Du kan se en supersimpel test her:
http://amunium.dk/showcase/basicauth.zip

- Det er bare to php-filer, som skal køres over en webserver med PHP, f.eks. wamp/xampp. Husk at ændre den absolutte sti i index.php
Avatar billede Zeebaah Praktikant
16. december 2014 - 08:57 #9
Viperine hvis du vil lægge et svar for du point (for at lukke tråden)
Avatar billede Slater Ekspert
16. december 2014 - 10:20 #10
Fik du det aldrig til at virke?
Avatar billede Zeebaah Praktikant
16. december 2014 - 15:16 #11
Fik aldrig helt tid til at få sat mig helt ind i det, samt siden køres på robotten hvor jeg ikke har adgang til at ændre, men hentede skidtet ned så det ligger lokalt på serveren i stedet så var jeg ude om det problem :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester