Avatar billede cr2000 Nybegynder
01. juli 2003 - 02:13 Der er 15 kommentarer og
1 løsning

Beskyt alle sider med adgangs kode.

Hej.

Jeg sidder og bikser lidt med noget kode der gør at man skal skrive en adgangs kode for at komme ind på siden.
Selve siden hvor man skriver adgangs koden ind er en anden html side. Og efter man har skrevet korrekt kode skal den foresætte til den side man startede med at navigere mod.

Håber i forstår fordi jeg er løbet tør for ideer.

mvh Christian Reinholdt
Avatar billede ulrikhjul Nybegynder
01. juli 2003 - 03:19 #1
hvorfor ikke bare lave en .htaccess??

http://www.webcafe.dk/artikler/apache/htaccesspassword/
Avatar billede cr2000 Nybegynder
01. juli 2003 - 03:35 #2
Har jeg ikke lyst til :)

Skal bruges sammen med et eksisterende system. Sessions :)
Avatar billede jakobsynder Nybegynder
01. juli 2003 - 03:51 #3
Uhm, hvad med at inkludere login formularen øverst på de beskyttede sider?
Dvs, på hver session beskyttet side har du noget a la:
if session = bad {
formular
}
else {
sidens indhold
}
Login formularen skal selvfølgelig submitte til samme side der tager imod info og sætter en session hvis korrekte.
Skulle sagtens kunne laves med en snoet gruppe af vilde if's...
Avatar billede yamino Nybegynder
01. juli 2003 - 04:20 #4
<% mode = Request.QueryString("mode") %>

<% if Session("Login") <> "JA" then
  if Request.ServerVariables("REQUEST_METHOD") = "POST" then
    if Session("Login") = "JA" then
    Response.Redirect("default.asp")
    end if
        if Request.Form("password") = "VALGFRIT_KODEORD" then
        Session("Login") = "JA"
        response.redirect("default.asp")
        else
        Response.Write "<b>Password Forkert</b>"
        end if
  end if
%>
<html>
<body>
<form action="default.asp?mode=Login" method="post">
Indtast kodeord:<br>
<input type="password" name="password"><br><br>
<input type="submit" value="Log ind">
</form>
</body>
</html>
<% else %>

<html>
<body>
 
<!-- SIDENS INDHOLD IMELLEM DISSE TO LINIER -->
Denne side vil du se hvis du har indtastet det rigtige kodeord >:-D


<!-- SIDENS INDHOLD IMELLEM DISSE TO LINIER -->

</body>
</html>

<% end if %>


---------------------

Husk at ændre teksten "VALGFRIT_KODEORD" til det kodeord du nu vil have skal sættes.

Y^
Avatar billede yamino Nybegynder
01. juli 2003 - 09:56 #5
Ah, glemte lige...

Dette skal kun være default.asp. Hvis du har flere sider skal du indsætte dette i toppen af hvert dokument for at sikre dem:

<% if Session("Login") <> "JA" then
Response.Redirect("Default.asp?mode=Login %>
<% else %>

Herefter den pågældende sides indhold:

<html>
<body>
 
<!-- SIDENS INDHOLD IMELLEM DISSE TO LINIER -->
Denne side vil du se hvis du har indtastet det rigtige kodeord >:-D


<!-- SIDENS INDHOLD IMELLEM DISSE TO LINIER -->

</body>
</html>

<% end if %>

Husk det sidste <% end if %> på sidste linie af hvert sikret side, ellers vil det resultere i en fejlmeddelelse :)
Avatar billede yamino Nybegynder
01. juli 2003 - 09:57 #6
Response.Redirect("Default.asp?mode=Login") %> <-- Ups, glemte et parantes :)
Avatar billede cr2000 Nybegynder
01. juli 2003 - 11:46 #7
Hehe... Så er det mere enkelt det jeg har lavet nu :)
Avatar billede jakobsynder Nybegynder
01. juli 2003 - 16:05 #8
Øhm undskyld jeg lige blander mig igen, men bliver den ikke på default.asp når han er logget ind? Jeg troede det var meningen den skulle returnere den side han i første omgang forsøgte at gå ind på.
Dvs. hvis nu han henter beskyttetside2.asp, så skal han indtaste psw og hvis det er korrekt, så vil han se beskyttetside2.asp og ikke default.asp.
Mit asp er ret rustent, så det er meget muligt jeg tager fejl =)
Men ellers er det jo bare at lave alle siderne på den måde. Eventuelt lave login.asp som en seperat fil der inkluderes, for nemt at ændre password eller noget lignende.
Avatar billede jakobsynder Nybegynder
01. juli 2003 - 16:06 #9
Nå ups, du fandt selv en løsning cr2000? Det overså jeg sgu lige. Jeg holder bare kæft :-)
Avatar billede cr2000 Nybegynder
02. juli 2003 - 00:11 #10
Hej Jakob... Du skal slet ikke holde dig tilbage.

Den løsning jeg har nu er langt fra optimal og jeg leder stadig efter en bedre.
Avatar billede jakobsynder Nybegynder
02. juli 2003 - 00:15 #11
Jamen Yamino's forslag er udemærket, hvis bare du tilpasser det så man får den ønskede side efter password, i stedet for default hver gang.
Avatar billede cr2000 Nybegynder
02. juli 2003 - 00:44 #12
Jakob> Så skal jeg bare lige vide hvordan jeg henter URL + post date ud ?
Avatar billede jakobsynder Nybegynder
02. juli 2003 - 00:45 #13
ahva? den er jeg ikke lige med på?
Avatar billede cr2000 Nybegynder
02. juli 2003 - 00:48 #14
Avatar billede cr2000 Nybegynder
02. juli 2003 - 00:55 #15
DBlogin.asp
------------------
<%
Response.Buffer = False
IF Session("password-session") = "admin" Then
Response.Redirect("DBstart.asp")
end if



error = Request("error")
Session("login") = 0

If Request("mode") = "Check" Then
If Request.Form("username") = "brugernavn" then
If Request.Form("password") = "kodeord" then

'Login rigtigt!
Session("Login") = 1
Session("password-session") = "admin"
If not Request("redir") = "" then
Response.Redirect Request("redir")
else
Response.Redirect "DBstart.asp"
end if
else
error = "<font color=""red"">Forkert Brugernavn/Adgangskode</font>"
end if
else
error = "<font color=""red"">Forkert Brugernavn/Adgangskode</font>"
end if

else
end if
IF error = "" then
error = "Indtast brugernavn og adgangskode"
end if
%>






<HTML>
<HEAD>
</HEAD>
<BODY bgcolor="#FFFFFF">
<link rel="stylesheet" href="style.css" type="text/css">
<center><img src="hss.jpg"><br><font face="Tahoma" size="2"><br>
<form method="POST" action="DBlogin.asp">
<input type="hidden" name="mode" VALUE="Check">
    <table border="0" cellspacing="0" cellpadding="2">
      <tr>
        <td width="150"><font face="Tahoma" size="2">Brugernavn:</font></td>
        <td><font face="Tahoma" size="2"><input value="<%=Request.Form("username")%>" type="text" name="username" size="20" style="font-family: Verdana; font-size: 8 pt"></font></td>
      </tr>
      <tr>
        <td width="150"><font face="Tahoma" size="2">Kodeord:</font></td>
        <td><font face="Tahoma" size="2"><input type="password" name="password" size="20" style="font-family: Verdana; font-size: 8 pt"></font></td>
      </tr>
      <tr>
        <td width="150" valign="top"><font face="Tahoma" size="1"><%=error%></td>
        <td align="right"><font face="Tahoma" size="2"><input type="submit" value="Login" name="submit" style="font-family: Verdana; font-size: 8 pt"></font></td>
      </tr>
    </table>
<input type="hidden" value="<%=(Request("redir"))%>" name="redir">
</form>
</BODY>
</HTML>


----------------------
beskyttede sider:
----------------------

<%
IF not Session("Login") = "1" Then
strURL = "http://" & Request.ServerVariables( "SERVER_NAME" ) & Request.Servervariables("SCRIPT_NAME") & "?" & Request.Servervariables("QUERY_STRING")
Response.Redirect "DBlogin.asp?redir=" & Server.URLencode(strURL)
end if
%>

---------------

Holder det ?
Avatar billede cr2000 Nybegynder
16. januar 2004 - 09:32 #16
blah
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
Kurser inden for grundlæggende programmering

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