Avatar billede apollo69 Nybegynder
11. oktober 2001 - 15:21 Der er 21 kommentarer og
1 løsning

\"Target\" , hvordan?

http://www.backside.dk/eksperten/login/
Jeg vil gerne ha´ at det kun er login siden det skifter og ikke hele siden.
Altså, toppen skal blive.

Hvordan sætter jeg target til \"_self\" eller noget i den retning?
Avatar billede apollo69 Nybegynder
11. oktober 2001 - 15:28 #1
Jeg svarer muligvis ikke den næste times tid. :)
Så har i også masser af tid til at få løst et hamrende irriterende problem.
Avatar billede jakoba Nybegynder
11. oktober 2001 - 15:41 #2
du sætter target i din <form kommando
<form target=\'_self\'
og fjern den der <base target=\"_self\"> kommando.

din funktion check bør kaldes i en onsubmit handeler og returnere false hvis password er galt, true hvis password er ok. Så bliver formen kun submitted hvis det indtastede password er korrekt.

<form target=\"_self\" onsubmit=\"return check(this)\" ... >
Avatar billede apollo69 Nybegynder
11. oktober 2001 - 16:27 #3
Kan ikke få det til at virke.:(
Avatar billede jakoba Nybegynder
11. oktober 2001 - 16:53 #4
prøv at uplade så jeg kan se hvorlange du er kommet og hvad der går galt.
Avatar billede apollo69 Nybegynder
11. oktober 2001 - 16:57 #5
Har kun prøvet den.
<form target=\'_self\' name=\"login\">

Det andet du skriver forstår jeg ikke.
Avatar billede jakoba Nybegynder
11. oktober 2001 - 17:15 #6
fjern kommandoen
  <base target=\'_self\'>
helt og aldeles.

de steder i check funktionen hvor du skriver
      return
fordi noget var galt skal der nu stå
      return false

der skal tilføjes en sidste linie i check funktionen:
      return true

og så skriver du <form kommandoen som:

<form target=\'_self\' name=\"login\" onsubmit=\"return check(this)\">

men var der ikke en action= parameter i formen før? den skal stadig være der og også din method=\"post\".

mvh JakobA
Avatar billede apollo69 Nybegynder
11. oktober 2001 - 17:20 #7
Har ikke uploadet igen så den ser ud som før
Avatar billede apollo69 Nybegynder
11. oktober 2001 - 17:25 #8
Jeg forstår ikke rigtigt det der usammenhængende noget.
Er på begynderstadiet endnu.

Kan du gi mig hele koden?

Så smider jeg lidt flere point i kassen.
Avatar billede jakoba Nybegynder
11. oktober 2001 - 17:28 #9
Ups. kom lige til at tænke.
den variabel  hash  der returneres tilsidst, er det ikke url-en for den side der skl hoppes til?

hvis det er så lav
    return (hash);
om til
    form.action = hash;
    return true;

mvh JakobA
Avatar billede jakoba Nybegynder
11. oktober 2001 - 17:29 #10
rigeligt med points allerede.

kommer om et øjeblik.
Avatar billede apollo69 Nybegynder
11. oktober 2001 - 17:32 #11
Jo det er, og det har jeg aldrig set før så det er lidt svært for mig at finde ud af.
Avatar billede jakoba Nybegynder
11. oktober 2001 - 17:35 #12
det var også lidt overflødigt det medste af hvad jeg sagde.

Her er en rettet der sandsynligvis virker:

<html>

<head>
<title>Login</title><style type=\"text/css\">

.width  {
        width: 50%;
        }

.color1 {
        color: #000000;
        background: login_bg.gif;
        font-weight: bold;
        }


</style>
<base target=\"_self\">
</head>

<body>

<div align=\"center\">
  <center>
  <table border=\"0\" width=\"400\" height=\"338\" background=\"login_bg.gif\">
    <tr>
      <td width=\"380\" height=\"68\">
        <p align=\"center\"><b><font size=\"4\" face=\"Verdana\" color=\"#333333\">Medarbejder
        login</font></b></td>
    </tr>
    <tr>
      <td width=\"380\" height=\"262\">
        <form name=\"login\" target=\"main\">
          <div align=\"center\">
            <center>
            <table border=\"0\" cellpadding=\"3\" width=\"400\" height=\"266\">
              <tr>
                <td colspan=\"2\" align=\"center\" height=\"96\"></td>
              </tr>
              <tr>
                <td height=\"25\">Username: </td>
              </center></center>
            <td height=\"25\"><select name=\"memlist\" class=\"color1\" size=\"1\">
                <option value=\"x\">
                <option value=\"Bruger|42691|IKRMHEXC\">Bruger
                <option value=\"Bruger0|42691|CXXHFVHI\">Bruger0
                <option value=\"Bruger1|42691|CXXHFVGI\">Bruger1
                <option value=\"Bruger2|42691|CXXHFVGJ\">Bruger2
                <option value=\"Bruger3|42691|CXXHFVGK\">Bruger3
                <option value=\"Bruger4|42691|CXXHFVGL\">Bruger4
                <option value=\"Bruger5|42691|CXXHFVGM\">Bruger5
                <option value=\"Bruger6|42691|CXXHFVGN\">Bruger6
                <option value=\"Bruger7|42691|CXXHFVGO\">Bruger7
                <option value=\"Bruger8|42691|CXXHFVGP\">Bruger8
                <option value=\"Bruger9|42691|CXXHFVGQ\">Bruger9
              </select></td>
            </tr>
  <center>
  <center>
  <tr>
    <td height=\"13\">Password:</td>
    <td height=\"13\"><input type=\"password\" size=\"10\" maxlength=\"8\" name=\"pass\" class=\"color1\"></td>
  </tr>
  <tr>
    <td colspan=\"2\" align=\"center\" height=\"92\"><input type=\"button\" value=\"Login\" onclick=\"check(this.form)\"><br>
      <br>
      <br>
      Password = &quot;password&quot;</td>
  </tr>
  </table>
            </center>
          </div>
        </form>
        <script LANGUAGE=\"JavaScript\">
<!-- Begin
var params=new Array(4);
var alpha=\"ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHI\";
function check(form) {
    which=form.memlist.selectedIndex;
    choice = form.memlist.options[which].value+\"|\";
    if (choice==\"x|\") {
        alert(\"Please Select Your Name From The List\");
        return;
    }
    p=0;
    for (i=0;i<3;i++) {
        a=choice.indexOf(\"|\",p);
        params[i]=choice.substring(a,p);
        p=a+1;
    }
    h1=makehash(form.pass.value,3);
    h2=makehash(form.pass.value,10)+\" \";
    if (h1!=params[1]) {
        alert(\"Incorrect Password!\");
        return;
    };
    var page=\"\";
    for (var i=0;i<8;i++) {
        letter=params[2].substring(i,i+1)
        ul=letter.toUpperCase();
        a=alpha.indexOf(ul,0);
        a-=(h2.substring(i,i+1)*1);
        if (a<0) a+=26;
        page+=alpha.substring(a,a+1);
    };
    self.location=page.toLowerCase()+\".htm\";
}

function makehash(pw,mult) {
    pass=pw.toUpperCase();
    hash=0;
    for (i=0;i<8;i++) {
        letter=pass.substring(i,i+1);
        c=alpha.indexOf(letter,0)+1;
        hash=hash*mult+c;
    }
    return(hash);
}
// End -->
</script>
</center>
  </table>
  <table>
    <tr>
      <td width=\"40\">&nbsp;</td>
      <td width=\"305\">&nbsp;</td>
      <td width=\"35\">&nbsp;</td>
    </tr>
</body>

mvh JakobA
Avatar billede apollo69 Nybegynder
11. oktober 2001 - 17:37 #13
Hmmmm.
Mangler jeg ikke en </html> til slut?
Avatar billede apollo69 Nybegynder
11. oktober 2001 - 17:39 #14
Tja, så virker det sku.:-)
Så vil jeg se på det senere og finde ud af HVORFOR det virker.
Avatar billede apollo69 Nybegynder
11. oktober 2001 - 17:43 #15
Tak for hjælpen.
Nu håber jeg så at jeg kan se ideen bag det hele. *GG*
Avatar billede jakoba Nybegynder
11. oktober 2001 - 17:57 #16
Det eneste der i vikeligheden skulle ændres var sidst i check funktionen. hvor den nye url blev assignet til  top.location.href det skulle ændres til:
    self.location=page.toLowerCase()+\".htm\";
Avatar billede apollo69 Nybegynder
11. oktober 2001 - 17:59 #17
Ok, den har jeg haft fat i men der fik jeg fejl hver gang.
Avatar billede apollo69 Nybegynder
11. oktober 2001 - 19:17 #18
jacoba>> Hvordan mener du sikkerheden er ved det script?
Avatar billede jakoba Nybegynder
11. oktober 2001 - 19:29 #19
Ikke god nok hvis det der skal beskyttes har nogen værdi. Alle passwords står i scriptet og skal blot dekodes.
Avatar billede apollo69 Nybegynder
11. oktober 2001 - 19:43 #20
Ja, men hvordan vil du gøre det?
Avatar billede jakoba Nybegynder
11. oktober 2001 - 20:01 #21
noget serverside hvis der var mulighed for det.
Det kan gøres nogenlunde sikkert clientside, men kræver at man opretter noget i retning af 2 ekstra filer for hver eneste bruger der skal kunne logge ind. noget bøvlet at oprette og vedligeholde :(

mvh JakobA
Avatar billede apollo69 Nybegynder
11. oktober 2001 - 20:07 #22
Ok, men der skal ikke være meget følsomme oplysninger på siderne.
Det holder vel de fleste væk.
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