/ Forside / Teknologi / Udvikling / Java Scripts / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Java Scripts
#NavnPoint
molokyle 5410
Klaudi 2799
smorch 2439
kim 1360
Harlekin 1134
bentjuul 984
gibson 800
severino 695
Random 675
10  konsulent.. 626
Forkert brugernavn/adgangskode m. java-løs~
Fra : Tine Gade


Dato : 15-04-05 13:47

Hej
Jeg har implementeret javascript løsningen til brugernavn og
password.
Da siden jo bygger på den ide at brugernavn og password i
kombination giver navnet på den side brugeren skal logge ind på
vil det jo give den klasiske:

404 File not found

-nogen forslag til hvordan man kan komme om ved det, og i stedet
få fortalt brugeren at han har tastet forkert
brugernavn/adgangskode?

Jeg kan kun komme på løsninger der vil afsløre
brugernavnet/adgangskoden hvis koden for siden vises!

Tak,
Tine



--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

 
 
Jens Gyldenkærne Cla~ (15-04-2005)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 15-04-05 14:48

Tine Gade skrev:

> -nogen forslag til hvordan man kan komme om ved det, og i stedet
> få fortalt brugeren at han har tastet forkert
> brugernavn/adgangskode?

Det kan ikke lade sig gøre med en ren javascriptløsning.

Hvis du har mulighed for at lave login baseret på et serversidesprog (fx
asp, php, asp.net), kan du i langt højere grad tage hånd om forkerte
indtastninger. Med javascript er du nødt til at lade brugeren klare det
selv.

Du kan evt. skrive hvad der sker ved forkert login på selve login-siden
- så kan folk se det når de indtaster oplysningerne. Skal det være
ekstra tydeligt, kan du smække en alert-boks op når login-formularen
submittes (det kan dog virke generende på de brugere der taster
rigtigt).

--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på http://usenet.dk/netikette/citatteknik.html

Allan Unnerup (15-04-2005)
Kommentar
Fra : Allan Unnerup


Dato : 15-04-05 19:39

>
> 404 File not found
>
> -nogen forslag til hvordan man kan komme om ved det, og i stedet
> få fortalt brugeren at han har tastet forkert
> brugernavn/adgangskode?

Jeg vil anbefale Java på serveren.

Med venlig hilsen
Allan



Tomasz Otap (15-04-2005)
Kommentar
Fra : Tomasz Otap


Dato : 15-04-05 21:57

Tine Gade wrote:
> -nogen forslag til hvordan man kan komme om ved det, og i stedet
> få fortalt brugeren at han har tastet forkert
> brugernavn/adgangskode?

Hej Tine

Absolutely. Her er en hurtig løsning, jeg fik sat sammen. Bemærk, at jeg
har ikke gjort noget forsøg på at optimere koden eller sikre at det
kører på alle browsere, det kører dog på IE.

Du skal bruge to filer:

- den ene indeholder teksten for forkert kodeord (i mit eksempel hedder
filen "error.htm")

- den anden er den fil, man kommer til efter vellykket login, og ligesom
i den kendte løsning skal den kaldes <dit kodeord>.htm (f.eks.
"fiskehud.htm", hvor "fiskehud" er dit kodeord). Denne fil skal have et
bestemt sidetitel (<titel>...</titel>), som der checkes for i koden. I
mit kode bruges titlen 'Login OK'. Derudover skal denne fil skal også
indeholde en simpel script:

-- koden for korrekt login-siden --------

<script>
if (top.location.href!=self.location.href) {
   top.location.href='ok.htm';
}
</script>

-----------------------------------------

Dernæst indsætter du login-formularen og hovedkoden på din login side:

-- koden for login formular siden -------

<script>
function checkLogin() {
// vi finder vores skjulte login iframe
var myFrame = document.frames['loginFrame'];
// vi checker for tom kodeord
if (document.getElementById('myPass').value != '') {

// vi henter myPass værdien i login iframe
myFrame.location.href =
document.getElementById('myPass').value+'.htm';
      
// vi checker titlen på dokumentet i login iframen
if (myFrame.document.title!='Login OK') {
// fejl: vis fejlside
document.location.href='error.htm';
}
}
else {
alert('Du skal indtaste et kodeord!');
}
return false;   
}
</script>
Log ind:
<iframe id="loginFrame" width="100" height="1" scrolling="no"
src="about:blank" style="visibility: hidden"></iframe><br>
<form name="loginForm" onsubmit="return checkLogin()">
   <input type="text" name="myPass" value="">
   <input type="submit" value="login">
</form>

-----------------------------------------

Den generelle ide er, at:
- password oversættes til sidenavnet (som i den almindelige løsning)
- siden forsøges loadet i den skjulte iframe "loginFrame"
- titlen på siden checkes; stemmer den ikke overens med titlen på din
beskyttede side (det gør den ikke ved 404-fejl), hentes fejl-siden ind
- hvis den beskyttede side hentes i iframen (ved korrekt password),
bruger den egen script til at bryde iframen og hente sig selv i
top-vinduet - du kan lige så vel bruge den script til at gå direkte
videre til en helt tredje side, hvis du så lyster. Der kan muligvis
ligge et problem i at have en resultat side, der er længe om at loade -
jeg ved ikke, om javascript titel-check vil følge med.

Der kan sagtens være en del problemer i systemet, når man begynder at
teste det for alvor - men så har du lidt at arbejde med. Jeg tvivler
heller ikke, at det kan laves en del smartere - jeg har stort set ingen
fejlcheck i koden. Det er som sagt kun en hurtig skrab-sammen. :)

t

Søg
Reklame
Statistik
Spørgsmål : 177554
Tips : 31968
Nyheder : 719565
Indlæg : 6408851
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste