Avatar billede m_bold Praktikant
05. oktober 2005 - 10:33 Der er 9 kommentarer og
1 løsning

nulstil password-felt ved submit

Jeg har lavet en MD5 kryptering (hash) på en login-side. Det virker som det skal. Men nu hvor jeg logger på, autoudfylder den automatisk password-feltet med hex-tallet, når jeg submitter.

Altså jeg skriver et password med eks. 5 bogstaver, og den ændrer det automatisk til ca. 20 bogstaver. Det har ingen negativ effekt, men jeg synes det ville være mindre forvirrende for brugeren, hvis den ikke gjorde det. Hvordan ændrer jeg det?

function myOnClick()
{
var pw = document.getElementById("adgangskode");
var unikTal = document.getElementById("unikTal");
pw.value = hex_md5(pw.value + unikTal.value);
}

...

<tr>
    <td>Adgangskode:</td>
    <td><input name="adgangskode" type="password" id="adgangskode" size="40"></td>
</tr>
<tr>
    <td>&nbsp;</td>
    <td><input type="submit" name="Submit" value="Log p&aring;" onClick="myOnClick();"></td>
</tr>
Avatar billede Slettet bruger
05. oktober 2005 - 10:46 #1
Ville løsningen ikke være at lave et skjult felt som du tjekker på? Sådan at det felt som brugeren indtaster i slet ikke er det som der tjekkes op mod. Det kan du jo bare rydde inden formen sendes.

Altså noget i stil med:

var pw = document.getElementById("adgangskode");
var pw_skjult = document.getElementById("adgangskode_skjult");
var unikTal = document.getElementById("unikTal");
pw_skjult.value = hex_md5(pw_skjult.value + unikTal.value);
pw.value = '';

Du skal så der hvor du tjekker adgangskoden tjekke op mod pw_skjult i stedet. Husk også at oprette feltet i din formular :)
Avatar billede m_bold Praktikant
05. oktober 2005 - 12:00 #2
ja, jeg kan godt følge dig hele vejen, og det virker også indtil jeg skat poste på adgangskode_skjult.

$password=$_POST['adgangskode_skjult'];

Jeg har tjekket at den rigtige værdi bliver gemt i feltet på selve siden, men jeg kan ikke poste på den...
Avatar billede Slettet bruger
05. oktober 2005 - 12:32 #3
Må jeg se hele formen? Så kan jeg lige tjekke det igennem
Avatar billede m_bold Praktikant
05. oktober 2005 - 12:58 #4
<script language="javascript">
function myOnClick()
{
var pw = document.getElementById("adgangskode");
var pw_skjult = document.getElementById("adgangskode_skjult");
var unikTal = document.getElementById("unikTal");
pw_skjult.value = hex_md5(pw.value + unikTal.value);
}
</script >

...

<form action="<?php echo $loginFormAction; ?>" method="POST" name="login" id="login">
<br><br><br><br><br>
<table width="400" border="0" align="center" cellpadding="1" cellspacing="0">
    <tr>
        <td>
            <table width="100%"  border="0" cellspacing="0" cellpadding="2">
                <tr>
                    <td width="30%" class="box_headline">Log på</td>
                    <td></td>
                </tr>
                <tr>
                    <td class="box_content">
                        <table cellpadding="2" cellspacing="2" width="100%">
                            <tr>
                                <td>Brugernavn:</td>
                                <td><input name="brugernavn" type="text" id="brugernavn" size="40"></td>
                            </tr>
                            <tr>
                                <td>Adgangskode:</td>
                                <td><input name="adgangskode" type="password" id="adgangskode" size="40"></td>
                            </tr>
                            <tr>
                                <td>&nbsp;</td>
                                <td><input type="submit" name="Submit" value="Log p&aring;" onClick="myOnClick();"></td>
                            </tr>               
                        </table>
<?php if ($forkertLogin){ ?>
                        <hr>
                        <table cellpadding="2" cellspacing="2" width="100%" style="font-size:10px; font-style:italic;">
                            <tr>
                                <td>Du tastede forkert login!</td>
                            </tr>
                            <tr>
                                <td>- Tjek evt. at 'CAPS LOCK' ikke er slået til.</td>
                            </tr>
                        </table>
<?php } ?>
                    </td>
                </tr>
            </table>
        </td>
    </tr>
</table>
<table cellpadding="0" cellspacing="0" align="center">
      <tr>
        <td height="50"></td>
    </tr>
    <tr>
        <td class="box_content" style="border-top-color:#CCCCCC; border-top-style:dotted; border-top-width:thin;"><img src="../pics/logo.jpg"><img src="../pics/slogan.jpg"></td>
    </tr>
</table>
<input type="hidden" id="adgangskode_skjult" value="">
<input type="hidden" id="unikTal" value="<?php echo $_SESSION["random"]; ?>">
</form>
Avatar billede Slettet bruger
05. oktober 2005 - 13:17 #5
hvor er hex_md5 funktionen henne?
Avatar billede m_bold Praktikant
05. oktober 2005 - 13:22 #6
Det er en hel fil for sig selv, som jeg har hentet på nettet. Den har jeg ikke rørt ved. Den ændrer bare det, man sender fra en normal værdi til en hex-værdi.
Avatar billede Slettet bruger
05. oktober 2005 - 13:24 #7
ok
Avatar billede Slettet bruger
05. oktober 2005 - 13:25 #8
Jeg fik lige spottet at dit adgangskode_skjult ikke har name attributten. name="adgangskode_skjult"

:)
Avatar billede m_bold Praktikant
05. oktober 2005 - 13:40 #9
Det har du ret i. Nu kører det. Smid et svar og tak for hjælpen...
Avatar billede Slettet bruger
05. oktober 2005 - 13:50 #10
Oki :)
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
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

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