handdator

Visa fullständig version : Logga in med URL?


skaparn
2008-01-22, 10:45
Google sviker mig när jag försöker förenkla min IT-vardag.

Jag har en sida som man ska logga in på, och detta via det däringa standardformuläret som man ibland får fram när man försöker gå in på en FTP. Det är alltså ett fönster som kommer upp, av klassiskt windowssnitt där den efterfrågar userID och Password.


Det jag skulle vilja är att i en URL baka in ID och lösenord.

http://sidanifråga.fastdenärhemlig.se/saken/serach.ws?UseName=skaparn&Pwd=skaparnslösenord

Fast det här är mer för en stadnard HTML där fälten har namn och går att komma åt. Mitt problem är att jag vill få den däringa rutan i Windows att hälsa mig automatiskt välkommen


Oj vad otydlig jag är. Mina beskrivningar skulle behöva några skärmdumpar, men jag hoppas att ni förstår och att någon har ett tips.

dynamo
2008-01-22, 10:55
Hade det varit en FTP-server hade du kunnat skriva så här:

ftp://<anvid>:<passwd>@ftp.ftpservern.se:<portnr>

Utan klamrar då. Det kanske funkar lika bra på HTTP? Portnummer behöver du inte ange om det är standard.

Alltså:
http://skaparn:skaparnslösenord@sidanifråga.fastdenärheml ig.se

skaparn
2008-01-22, 11:00
Hade det varit en FTP-server hade du kunnat skriva så här:

ftp://<anvid>:<passwd>@ftp.ftpservern.se:<portnr>

Utan klamrar då. Det kanske funkar lika bra på HTTP? Portnummer behöver du inte ange om det är standard.

Alltså:
http://skaparn:skaparnslösenord@sidanifråga.fastdenärheml ig.se

Det syntaxet funkar inte med http. Däremot har jag funnit ett spår om att man kan disabla disablen (!) i Internet Exploerer. För detta ska enligt forum ha gått tidigare, men bedömdes vara en säkerhetsrisk och disablades i en patch. Ska se lite mer om det går att fixa lite i registret. MSKB - here I come!

Trance
2008-01-22, 11:03
Nu är det inte direkt snyggt att göra så, det är som att sätta på svarta strumpor på din URL utan att den är Lance Armstrong. Men visst funkar det om det är en sida där säkerheten inte spelar så stor roll och/eller den är väldigt isolerad.

Kör du över https så kan man inte se querystring men du åker ju ändå dit på att den sparas i klartext på serverloggarna och lokalt på din dator.

Hur man löser det har jag däremot ingen aning om just nu, är lite oklart vad det är för miljö.

skaparn
2008-01-22, 12:55
Nu är det inte direkt snyggt att göra så, det är som att sätta på svarta strumpor på din URL utan att den är Lance Armstrong. Men visst funkar det om det är en sida där säkerheten inte spelar så stor roll och/eller den är väldigt isolerad.

Kör du över https så kan man inte se querystring men du åker ju ändå dit på att den sparas i klartext på serverloggarna och lokalt på din dator.

Hur man löser det har jag däremot ingen aning om just nu, är lite oklart vad det är för miljö.

Korrekt. Jag visste inte att https blev klarttext på serverloggarna, eller rättare sagt; exakt vad innebär det? Om det sparas på den server jag loggar in på är det sak samma, den är inte publik på något sätt (vilket är en del av det problem jag har).

Jag har funnit att man i internet explorer skickade en patch till IE6, och att denna i registret ska gå att disabla. Det gick emellertid inte. Åtminstone inte när jag försökte.
Internet Explorer does not support user names and passwords in Web site addresses (HTTP or HTTPS URLs) (http://support.microsoft.com/default.aspx?scid=kb;en-us;834489)

Jag har dock fått reda på att servern i fråga kör Resin, vilket jag tänkte skulle hjälpa mig att lista ut hur man kunde anropa Authentication-metoden som fanns dokumenterad. Mina kunskaper om jsp och det där med XML i allmänhet verkade dock hindra mig. Jag vet inte riktigt var eller hur jag ska angripa det hela. Jag behöver inte nödvändigtvis kunna logga in med en url, om jag skulle kunna göra ett script av något slag, men jag vet ju bara vad jag VILL ha - inte så mycket om hur jag ska åstadkomma det.

http://www.caucho.com/resin/doc/authentication.xtp

Granatgiraffen
2008-01-22, 13:13
Du jobbar hårt, ditt företag måste uppskatta ditt engagemang för auto-inloggning(Speciellt IT-avdelningen?!). Jag kan tyvärr inte hjälpa dig.

Bocka i "kom ihåg lösenordet" :)

skaparn
2008-01-22, 13:28
Du jobbar hårt, ditt företag måste uppskatta ditt engagemang för auto-inloggning(Speciellt IT-avdelningen?!). Jag kan tyvärr inte hjälpa dig.

Bocka i "kom ihåg lösenordet" :)

Säkert ännu mer "säkerhetsavdelningen", om vi hade någon sådan. För det är ju för att förenkla mitt liv och i viss mån andras också - på bekostnad av säkerheten.

skaparn
2008-01-22, 15:34
Skönt att snart hela arbetsdagen har gått åt till detta. Värt.

Men hur som helst så har jag kommit fram till halvbra lösning. Man kan slå av spärren i registret, så jag kan använda URL-authentication, även om jag hela tiden också vet att jag ska skämmas för den bristande säkerheten som kommer av förfarandet.

Nu snickrade jag ihop något i ASP som jag tänkte skulle speeda upp det hela ännu mer. Men det är inte utan problem när jag ska idka ASP-ande

1. Jag kan det inte
2. Jag vet inte hur jag ska testa

Tittade på ett befintligt, kollade in en XML-parser från MS och skrev följande

<html>
<body>

<%
url = "http://userID:pasw@grejmeddata/WebAPI_som_svarar_på_ett_query_language/search.ws?query=erhåll önskad data"
set xmlhttp = CreateObject("MSXML2.ServerXMLHTTP")
xmlhttp.open "GET", url, false
xmlhttp.send ""
Response.write xmlhttp.responseText
set xmlhttp = nothing
%>


</html>
</body>

Jo, eeh, funkar detta? Anta att jag är helt säker på att det kommer tillbaka XML från det där anropet, så fokusera på delen som ska presentera det i en webbrowser.

Trance
2008-01-22, 15:54
Jag kan inte gamla ASP men skall du köra den där lokalt på din dator? Vad är det du inte kan testa?

skaparn
2008-01-22, 16:00
Jag kan inte gamla ASP men skall du köra den där lokalt på din dator? Vad är det du inte kan testa?

Man skulle enligt en sida på internet testa sina ASP genom att installera webserver, och det är nämligen inte alls tillåtet på min jobbdator, och henmma har jag ju en macintosh som jag inte alls vet hur man gör detta på. Fast det är förstås ogooglat, så jag kan ju ikväll testa några webservrar som stödjer ASP. Fast hmmm... undrar om jag inte kan sätta upp en IIS i mitt XP jag kör i Parallels. Ska testa det också. Sen(tm).

Saken är den att den att mitt lilla projekt växte och jag började fundera på hur man ska göra ifall man får lägga in det där på en server. För jag kanske får möjligheten i framtiden att lägga scriptet på en extern server som kör det där automatiskt (enligt uppgift) och kan skicka mig datan i fråga.

jwzrd
2008-01-22, 16:05
Varför vill du ha det som en URL? Du vill kunna ha ett bokmärke eller favorit som direkt leder dig till den hemliga sidan, inloggad och klar?

skaparn
2008-01-22, 16:22
Varför vill du ha det som en URL? Du vill kunna ha ett bokmärke eller favorit som direkt leder dig till den hemliga sidan, inloggad och klar?

Ja. Jag vill nämligen kunna automatisera detta. Det gör sig inte om den där rackarns http authentication-dialogen kommer upp. Den är allt annat än lämpad för automatik.

Trance
2008-01-22, 16:27
Lösningen för mig skulle nog vara något script av något slag. Nästa steg vore ju att leta upp en plugin för ff. Efter lite googlande kom jag fram till denna sidan:

http://kb.mozillazine.org/Network.http.phishy-userpass-length

Kan du installera firefox på jobbet?

bertbert
2008-01-22, 16:27
Du får göra ett lokalt script (som en fil) som du har ett bokmärke till, det lokala scriptet gör POST (eller vad som nu krävs) på den berörda sidan. Fungerar på sidor med inloggningen "i sidan".

Jag fick göra så på den tiden jag roade mig med linux och skulle göra en automatisk inloggning hos min bredbandsleverantör.

Dumleman
2008-01-22, 16:29
Någon borde ha gjort något liknande innan. Om inte så är det en dum ide. kollat igenom typ add-ons till firefox?*

*resververar mig för eventuella dumheter.

skaparn
2008-01-22, 16:35
Lösningen för mig skulle nog vara något script av något slag. Nästa steg vore ju att leta upp en plugin för ff. Efter lite googlande kom jag fram till denna sidan:

http://kb.mozillazine.org/Network.http.phishy-userpass-length

Kan du installera firefox på jobbet?

Jo, faktiskt. Men det där pluginet var ju snarare motsatsen. Det skulle varna ifall URL:en blev för lång ifall det var ett såntdäringa försök att obfuskera adresser. Men jag ska nog leta lite blan FF-plugin, om inte annat bara för att se vad det finns även om det kanske inte kan användas som jag vill det.

Du får göra ett lokalt script (som en fil) som du har ett bokmärke till, det lokala scriptet gör POST (eller vad som nu krävs) på den berörda sidan. Fungerar på sidor med inloggningen "i sidan".

Jag fick göra så på den tiden jag roade mig med linux och skulle göra en automatisk inloggning hos min bredbandsleverantör.
Men om inloggningen är i sidan så använder den ju inte den standarddiaolog tillhandahållen av Windows som förknippas med det jag på nätet sett kallas http-authentication. Så det går nog inte använda post-metoder.

Någon borde ha gjort något liknande innan. Om inte så är det en dum ide. kollat igenom typ add-ons till firefox?*

*resververar mig för eventuella dumheter.

Du menar att jag inte ska uppfinna hjulet? Sant visserligen, men nu blev jag lite fast. Sådan här lightprogrammering är min bag.

Trance
2008-01-22, 16:44
Jo, faktiskt. Men det där pluginet var ju snarare motsatsen. Det skulle varna ifall URL:en blev för lång ifall det var ett såntdäringa försök att obfuskera adresser. Men jag ska nog leta lite blan FF-plugin, om inte annat bara för att se vad det finns även om det kanske inte kan användas som jag vill det.

Det är inget plugin utan en inställning:

"This integer preference can be a number between 0 and 255, inclusive. If the length of the HTTP username plus the length of the HTTP password is greater than this value, display the warning dialog. The default value is 1."

Detta är ju alltid högre än 1, alltså visas en "Du håller på att logga in på x med användarnamnet y". Om man sätter det till 255 så kommer den inte visas. Nu är ju artikeln några år gammal så vet inte om det gäller fortfarande för nya firefox.

Trance
2008-01-22, 16:48
Så här gör du det:

1. Type about:config in the text control where you enter URLs
2. Click right mouse button, from the popup menu select "New->Integer"
3. Enter "network.http.phishy-userpass-length"
4. Modify value of this variable and change it to 255

sedan så fungerar

http://anv:losen@server.com/meh så länge inte anv+lösen är längre än 255 chars.

jwzrd
2008-01-22, 16:52
Jo, faktiskt. Men det där pluginet var ju snarare motsatsen. Det skulle varna ifall URL:en blev för lång ifall det var ett såntdäringa försök att obfuskera adresser. Men jag ska nog leta lite blan FF-plugin, om inte annat bara för att se vad det finns även om det kanske inte kan användas som jag vill det.


Men om inloggningen är i sidan så använder den ju inte den standarddiaolog tillhandahållen av Windows som förknippas med det jag på nätet sett kallas http-authentication. Så det går nog inte använda post-metoder.



Du menar att jag inte ska uppfinna hjulet? Sant visserligen, men nu blev jag lite fast. Sådan här lightprogrammering är min bag.

Alltså, är det ett formulär i sidan eller är det en dialogruta? Dialogrutan innebär att browsern ställer om samma request med en request-header där username och password base64-kodats; formuläret är antingen en GET eller POST till vad som än form-taggen har som action-attribut vanligtvis (även om detta också brukar göras oändligt mer komplicerat).

skaparn
2008-01-22, 16:56
Så här gör du det:

1. Type about:config in the text control where you enter URLs
2. Click right mouse button, from the popup menu select "New->Integer"
3. Enter "network.http.phishy-userpass-length"
4. Modify value of this variable and change it to 255

sedan så fungerar

http://anv:losen@server.com/meh så länge inte anv+lösen är längre än 255 chars.

Hurvel till mitt bakhuvud. Jag förstår nu vad du menar. Jag var tvungen att kolla på MSKB och det verkar som spärren endast omfattar MS-komponeter, så FF torde funka automatiskt, med den begränsningen du beskrev. Ska testa, men om så är ju en stor del av preoblemet löst iom att det bara var IE som strulade för mig.

skaparn
2008-01-22, 17:02
Alltså, är det ett formulär i sidan eller är det en dialogruta? Dialogrutan innebär att browsern ställer om samma request med en request-header där username och password base64-kodats; formuläret är antingen en GET eller POST till vad som än form-taggen har som action-attribut vanligtvis (även om detta också brukar göras oändligt mer komplicerat).

Det är en dialogruta. Frågan är alltså hur man får data från URL att hamna rätt, och det verkar vara med userID:pasw@blablabla.com, för nu när jag disablat genom att lägga till en grej i registret så funkar det med mitt IE. Så därför utökade jag min frågeställning till att omfatta hur jag ska implementera detta i ett ASP, när jag ändå hade flera hackers i tråden.

skaparn
2008-01-22, 17:03
Jag tar en paus, men ett stort tack ska ni ha för all hjälp. Kolo är mitt favoritfrågaomdattagrejerforum.

Snafu
2008-01-22, 17:04
Jag är nyfiken. Får man vara det? Kodaporna verkar ju fokusera helt på problemet, men vi dödliga vill ha bakgrunden till det hela :D

skaparn
2008-01-22, 17:50
Jag är nyfiken. Får man vara det? Kodaporna verkar ju fokusera helt på problemet, men vi dödliga vill ha bakgrunden till det hela :D

Från början:
Underlätta min vardag

Sen efter ett tag när jag insåg att det här skulle kunna erbjuda en finfin feature på jobbet:
Ligga med chefen