Avatar billede robertdhn Nybegynder
24. april 2003 - 16:59 Der er 7 kommentarer og
1 løsning

password

hej, lige et spørgsmål:

Jeg har en side med password, det er meningen at passwordet skal skifte en gang om ugen...

Min action ser sådan ud:

on (press) {
    if (myInput == "pass") {
        gotoAndStop("right");
    } else {
        gotoAndStop("wrong");
    }
}

kan man liste mange passwords ind i if (myInput == "pass") { og henvise til uge nr.?

Det skal helst være 100% flash, da jeg ikke er stiv i databaser, asp, php ovs...
Avatar billede barklund Nybegynder
24. april 2003 - 17:18 #1
Først skal vi lige lave en getWeek metode (hvilket kræver lidt ekstra af flash):

Date.prototype.getWeek = function() {
    var d = this.getDayOfYear() - this.getDay();
    return Math.round(d/7)+1;
}
Date.prototype.getDayOfYear = function() {
    var m = this.getMonth();
    var d = this.getDate();
    if (this.isLeapYear && this.month > 2) d++;
    var i = m;
    while(i--) d += this.$_months[i];
    return d;
}
Date.prototype.isLeapYear = function() {
    var y = this.getYear();
    return (y % 4 == 0 && y % 100 != 0) || y % 400 == 0;
}
Date.prototype.$_months = [31,28,31,30,31,30,31,31,30,31,30,31];

og så et array af kodeord:

passwords = new Array();
passwords[1] = "uge1ersejest"; //kodeord for uge 1;
passwords[17] = "ligenuerdetuge17"; // kodeord for uge 17 - lige nu

og på din knap:

on (press) {
    if (myInput == passwords[new Date().getWeek()]) {
        gotoAndStop("right");
    } else {
        gotoAndStop("wrong");
    }
}
Avatar billede robertdhn Nybegynder
25. april 2003 - 08:49 #2
det vil sige at på en keyframe i første række ligger:
Date.prototype.getWeek = function() {
    var d = this.getDayOfYear() - this.getDay();
    return Math.round(d/7)+1;
}
Date.prototype.getDayOfYear = function() {
    var m = this.getMonth();
    var d = this.getDate();
    if (this.isLeapYear && this.month > 2) d++;
    var i = m;
    while(i--) d += this.$_months[i];
    return d;
}
Date.prototype.isLeapYear = function() {
    var y = this.getYear();
    return (y % 4 == 0 && y % 100 != 0) || y % 400 == 0;
}
Date.prototype.$_months = [31,28,31,30,31,30,31,31,30,31,30,31];

- hvor ligger:
passwords = new Array();
passwords[1] = "uge1ersejest"; //kodeord for uge 1;
passwords[17] = "ligenuerdetuge17"; // kodeord for uge 17 - lige nu
Avatar billede robertdhn Nybegynder
25. april 2003 - 08:51 #3
og hvordan tester jeg om det virker?
Avatar billede _just4fun_ Nybegynder
25. april 2003 - 09:06 #4
Bare til information:
vær opmærksom på at man så godt som altid er i stand til at
1) hente actionsctionscript ud fra .swf filer.
Og på den måde se passwordet hvis det er i plaintext.
2) finde ud af hvilke side er en .swf laver forespørgsler til.
Så hvis man indtaster passwordet for at få adgang til en fil der ligger 'ubeskyttet', vil man kunne hente det der skal hentes selv om man ikke indtaster passwordet.
Avatar billede barklund Nybegynder
25. april 2003 - 10:00 #5
Dine passwords ligger du også i starten af din flashfilm. Og du tester det ved at skrive det hele i første keyframe, og ændre din knap kode som foreskrevet. Så skulle det meget gerne være sådan, at den rigtige kode er "ligenuerdetuge17".

Scriptets allerstørste fejl (og grunden til, at du i praksis ikke kan bruge det, hvis det er til noget seriøst) er, at den beregner ugenummeret efter brugerens computer, så hvis jeg stiller mit ur om til en anden dato, så kan jeg lige pludselig bruge et andet kodeord. Altså hvis jeg kender kodeordet for uge 17 og ikke for uge 18, så kan jeg i uge 18 bare stille uret tilbage og så er det uge 17's kodeord, der er det rigtige.

En mulig løsning på dette er, at man henter tiden ind i flash fra serveren. Men det er et helt andet og lidt besværligere spørgsmål.

/Barklund
Avatar billede robertdhn Nybegynder
25. april 2003 - 13:23 #6
ja okay, det kan jeg jo godt se... men jeg tror nu godt jeg kan bruge det! Det virker forøvrigt nu - tak!

Barklund smider du et svar?

Hvad dag skifter password'et er det søndag kl. 24????
Avatar billede barklund Nybegynder
25. april 2003 - 13:28 #7
Ja, den tager ugenummeret efter den gregorianske kalender, så uge 1 er den første uge på minimum 4 dage...
Avatar billede barklund Nybegynder
25. april 2003 - 13:29 #8
*host*
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
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

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