Toon posts:

[java-script] verschillende gebruikers

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik ben newbie (dan is dat alvast duidelijk :))
Ik heb pas ergens een scriptje vandaangehaalt waarmee je je weppagina kan beveiligen. ik wil nu verschillende gebruikers die na inloggen ook naar verschillende pagina's gaan.

ORIGINEEL:


var successpg = "enter.html";
var loginpage = "index.html";

var users=new Array(members);
var passes=new Array(members);

var members = 2;


users[0]="user1"; passes[0]="passw1";
users[1]="user2"; passes[1]="passw2";


//----------------------------------------------------------------
// Login Function
//----------------------------------------------------------------
function login(username,password){
var loggedin = 0;
for(x=0;x<members && !loggedin; x++){
if((username==users[x])&&(password==passes[x]))
loggedin = 1;
}
if(loggedin==1){
top.location.href = successpg;
setCookie("login",1); }
else
alert('access denied');
}

MIJN VERSIE:


var successpg1 = "enter1.html";
var successpg2 = "enter2.html";
var successpg3 = "enter3.html";
var successpg4 = "enter4.html";
var loginpage = "index.html";

var users=new Array(members);
var passes=new Array(members);

var members = 4;


users[0]="user1"; passes[0]="passw1";
users[1]="user2"; passes[1]="passw2";
users[2]="user3"; passes[2]="passw3";
users[3]="user4"; passes[3]="passw4";


//----------------------------------------------------------------
// Login Function
//----------------------------------------------------------------
function login(username,password){
var loggedin = 0;
for(x=0;x<members && !loggedin; x++){
if((username==users[0])&&(password==passes[0]))
loggedin = 1;
if((username==users[1])&&(password==passes[1]))
loggedin = 2;
if((username==users[2])&&(password==passes[2]))
loggedin = 3;
if((username==users[3])&&(password==passes[3]))
loggedin = 4;
}
if(loggedin==1){
top.location.href = successpg1;
setCookie("login",1);
if(loggedin==2){
top.location.href = successpg2;
setCookie("login",1);
if(loggedin==3){
top.location.href = successpg3;
setCookie("login",1);
if(loggedin==4){
top.location.href = successpg4;
setCookie("login",1); }
else
alert('access denied');
}

Alleen mijn versie werkt niet (hoe kon het ook anders :), anders zou ik dit niet posten...)
Iemand enig id waarom dit niet werkt?
(dit is overigens maar een gedeelte van het script)

  • D2k
  • Registratie: Januari 2001
  • Laatst online: 31-08 10:19

D2k

JAVASCRIPT IS VOOR W&G!!!!!!!!!!!!!!!!!!

P&W -> W&G

Doet iets met Cloud (MS/IBM)


Verwijderd

Je bent achter de regels met setCookie("login",1);
een paar keer een } vergeten.

Verder hoef ik hopelijk niet te zeggen dat dit zo onveilig is als maar kan zijn...
Met javascript kun je met geen mogelijkheid iets 100% zeker te beveiligen, aangezien er altijd informatie gedecodeerd moet worden. Gebruik liever een server-side script om in te loggen, zie ook www.hotscripts.com.

  • crisp
  • Registratie: Februari 2000
  • Nu online

crisp

Devver

Pixelated

Eerst doorverwijzen naar een andere pagina en dan nog een cookie setten? Moet dat niet andersom?
Verder kan het script natuurlijk een stuk eenvoudiger:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
var users=new Array();
var passes=new Array();
var successpg=new Array();

users[0]="user1"; passes[0]="passw1"; successpg[0]="enter1.html"; 
users[1]="user2"; passes[1]="passw2"; successpg[1]="enter2.html";
users[2]="user3"; passes[2]="passw3"; successpg[2]="enter3.html";
users[3]="user4"; passes[3]="passw4"; successpg[3]="enter4.html";

//----------------------------------------------------------------
// Login Function
//----------------------------------------------------------------

function login(username,password){
  var loggedin = false;
  for(x = 0; x < users.length && !loggedin; x++){
    if(username==users[x] && password==passes[x]) loggedin = true;
  } 
  if(loggedin){
    setCookie("login",1); 
    top.location.href = successpg[x];
  } else {
    alert('access denied'); 
  }
}

Intentionally left blank


Verwijderd

Topicstarter
fantastisch! dit werkt tenminste! bedankt.
Bestaat er ook een programmaatje waarmee je je script kan checken op fouten, en direct kan zien waar ze zitten en hoe ze eventueel opgelost kunnen worden?

  • crisp
  • Registratie: Februari 2000
  • Nu online

crisp

Devver

Pixelated

Op zaterdag 23 februari 2002 12:14 schreef Thomas-Anderson het volgende:
fantastisch! dit werkt tenminste! bedankt.
Bestaat er ook een programmaatje waarmee je je script kan checken op fouten, en direct kan zien waar ze zitten en hoe ze eventueel opgelost kunnen worden?
Zal vast wel, maar ik gebruik ze niet.
Een editor met syntax-highlighting helpt sowieso al een beetje. Verder zijn de foutmeldingen van Mozilla/NS veel duidelijker - die geven tenminste aan dat je een ), } of ; vergeten bent.
Als je jezelf een beetje aanleerd om netjes in te springen bij geneste constructies zal je dat echter niet zo gauw gebeuren...

Intentionally left blank


Verwijderd

Topicstarter
ik ben weer een beetje verder gaan klooien, met de bedoeling dat iedereen die zich aanmeld een andere cookie krijgt:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
var loginpage = "index.html"; 

var users=new Array(members);
var passes=new Array(members);
var succespg1=new Array(members);
var members = 4;
 
users[0]="user1"; passes[0]="passw1"; succespg1 ="enter1.html";
users[1]="user2"; passes[1]="passw2"; succespg1 ="enter2.html"; 
users[2]="user3"; passes[2]="passw3"; succespg1 ="enter3.html";
users[3]="user4"; passes[3]="passw4"; succespg1 ="enter4.html";                          
                                             
//----------------------------------------------------------------
//  Login Function
//------------------------------------------------------------
function login(username,password){
 var loggedin = 0;
 for(x=0;x<members && !loggedin; x++){
 if((username==users[0])&&(password==passes[0]))
 loggedin = 1;
 }
 if(loggedin==1){
  top.location.href = successpg1;
  setCookie("login",1); }
 else 
 var loggedin = 0;
  for(x=0;x<members && !loggedin; x++){
  if((username==users[1])&&(password==passes[1]))
  loggedin = 1;
 }
 if(loggedin==1){
  top.location.href = successpg1;
  setCookie("login",1); }
 else 
  var loggedin = 0;
  for(x=0;x<members && !loggedin; x++){
  if((username==users[2])&&(password==passes[2]))
  loggedin = 1; 
 }
 if(loggedin==1){
  top.location.href = successpg1;
  setCookie("login",2); }
 else 
  var loggedin = 0;
  for(x=0;x<members && !loggedin; x++){
  if((username==users[3])&&(password==passes[3]))
  loggedin = 1;
 } 
 if(loggedin==1){
  top.location.href = successpg1;
  setCookie("login",3); }
 else
  alert('access denied');   
}

hij doet ut niet!

  • crisp
  • Registratie: Februari 2000
  • Nu online

crisp

Devver

Pixelated

Zie ik nu alweer 4-dubbel?
Eerst cookie zetten, dan redirecten. En hoe ziet je functie setCookie eruit?

Intentionally left blank


Verwijderd

Topicstarter
zo:
code:
1
2
3
4
5
6
7
8
9
10
//----------------------------------------------------------------
// Cookie Handler
//----------------------------------------------------------------
var ckTemp = document.cookie;

function setCookie(name, value) { 
 if (value != null && value != "")
  document.cookie=name + "=" + escape(value) + ";";
 ckTemp = document.cookie;
 }

maarre klopt het dat dit niet werkt dan? Dit is dan wel het eerste kant en klare scriptje dat ik bij wijze van zie, en waar ik een beetje mee aan het klooien ben, ik vond het wel leuk, en heb gelijk heel wat tutorials uitgeprint, en ben ik aan het lezen.

  • crisp
  • Registratie: Februari 2000
  • Nu online

crisp

Devver

Pixelated

Goed zo, vooral doorlezen!
En als je dan toch bezig bent lees deze dan ook maar eens door! :)

Intentionally left blank


Verwijderd

Topicstarter
er stond nog wel wat bij, toaal:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
//----------------------------------------------------------------
// Cookie Handler
//----------------------------------------------------------------
var ckTemp = document.cookie;

function setCookie(name, value) { 
 if (value != null && value != "")
  document.cookie=name + "=" + escape(value) + ";";
 ckTemp = document.cookie;
 }
  
function getCookie(name) { 
 var index = ckTemp.indexOf(name + "=");
 if(index == -1) return null;
  index = ckTemp.indexOf("=", index) + 1;
 var endstr = ckTemp.indexOf(";", index);
 if (endstr == -1) endstr = ckTemp.length;
 return unescape(ckTemp.substring(index, endstr));
 }
  
function checkCookie() {
 var temp = getCookie("login");
 if(!temp==1) {
  alert('access denied'); 
 top.location.href=loginpage; }
}

en ik lees idd door :), het eerste wat ik nu zelf gemaakt heb is een soort rekenmachine :P , lekker simpel...

en ik zal die pagina die achter die link van je stond gelijk ook ff uitprinten.
is trouwens wel een leuke pagina om snel doorheen te scrollen (golft de zijkant leuk mee)
ps. is daar ook geen leuk scriptje voor :P
Pagina: 1