16. juli 2002 - 02:12Der er
17 kommentarer og 1 løsning
Skjul side ved load
Jeg vil have siden til kun at kunne vises, hvis en bestemt cookie har en bestemt værdi.
Her er min kode indtil videre:
<HTML> <HEAD> <TITLE></TITLE> <script language="JavaScript"> function getCookie(){ var pos = document.cookie.indexOf("testKage="); if(pos != -1){ var start = pos+9; //fordi testKage= er 9 tegn var end = document.cookie.indexOf(";",start); if(end == -1) end = document.cookie.length; var cookieValue = document.cookie.substring(start, end); return unescape(cookieValue); } return null; }
var kage = getCookie();
function tjek(){ if(kage != 'permission'){ if(confirm('Du skal oprette dig som bruger og logge ind for at se denne side.\n \n Gå til loginsiden?')){document.location.href='login.php';} else {document.writeln('Du har ikke rettigheder til at se denne side.');} } } </script> </HEAD> <BODY onLoad="tjek();"> Velkommen! </BODY> </HTML>
Som det er nu, bliver man bedt om at logge ind, hvis man besøger siden, men i baggrunden kan man se siden.
Er det muligt at siden ikke vises mens man klikke OK/Anuller i dialogboxen?
AI bliver først for alvor en del af arbejdet, når teknologien integreres i den måde, vi arbejder på. At have adgang til AI betyder ikke nødvendigvis, at medarbejderne er klar til at bruge den.
Lav en tjek side. Hvis cookien er der, kan den sende dig videre til den rigtige side, men hvis man bare ved det mindste om java, så kan man læse koden, og selv bevæge sig derhen.
Hov, denne her virker. <HTML> <HEAD> <TITLE></TITLE> <script language="JavaScript"> function getCookie(){ var pos = document.cookie.indexOf("testKage="); if(pos != -1){ var start = pos+9; //fordi testKage= er 9 tegn var end = document.cookie.indexOf(";",start); if(end == -1) end = document.cookie.length; var cookieValue = document.cookie.substring(start, end); return unescape(cookieValue); } return null; }
var kage = getCookie();
if(kage != 'permission'){ if(confirm('Du skal oprette dig som bruger og logge ind for at se denne side.\n \n Gå til loginsiden?')){document.location.href='login.php';} else {document.writeln('Du har ikke rettigheder til at se denne side.');} } </script> </HEAD> <BODY> Velkommen! </BODY> </HTML>
Nej, det dur vist kun i en function, og så er vi tilbage til starten. Jeg tror du skal stryge indholdet af siden, og gå til en anden side, med velkommen på.
finden er, at man skal gå ind på siden via et PHP-login. Hvis man så lurer adressen til siden af og prøver at gå ind på den, skal den forhindre dig i det. Hvis man så her går til en ny side er problemet der igen.
Jeg skal bare finde en måde at "beskytte" siden på.
Det ved jeg godt. Men jeg kan ikke se hvordan du med javascript kan skjule det. Når brugeren ser javascriptet, er det jo allerede på hans maskine. Jeg tror du er nød til at tjekke det server side.
Det burde du kunne. Lav en ny side, skriv linien else {document.writeln('Du har ikke rettigheder til at se denne side.');} om til else {document.location.href = 'nyside.htm';} så skal du have i din nyside.htm <html> <head></head> <body onload="alert(document.referer)"> Så burde den komme med den rette streng. Når du har den laver du dit body-tag om til: <body onload="if (document.referer != 'strengen du fik fat i') self.close"> Men det kan godt være at den kommer med en dialogboks om du vil lukke vinduet eller ej.
Det aller nemmeste er vel at lave et tjek på cookien i noget server-side. Jeg kan ikke hjælpe dig med php, det kender jeg som sagt ikke. Men i asp ville du kunne lave følgende: <% if Request.Cookies(0).Key("testKage") then%> <html><head><body>osv ... </html> <%end if%> Der må være noget tilsvarende i php.
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.