/ Forside / Teknologi / Udvikling / SQL / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
SQL
#NavnPoint
pmbruun 1704
niller 962
fehaar 730
Interkril.. 701
ellebye 510
pawel 510
rpje 405
pete 350
gibson 320
10  smorch 260
Beskyttelse af koder i db samt information~
Fra : Thomas


Dato : 23-04-02 20:13

Hejsa ...
Jeg har følgendefiler:

index.asp
admin.asp
db.mdb

Min db.mdb fil ligger i en mappe på serveren der hedder db og der er
ingen adgang til at hente den fra serveren. Når man prøver at logge
ind checker den koden i mdb filen, og når folk åbner index.asp filen
henter den jo tingene fra databasen. Hvordan kan jeg blokere helt så
der ikke er nogen mulighed for at finde de koder der ligger i
databasen, altså den man skal bruge til at logge ind i systemet, samt
gøre det hele så sikkert som muligt?

Her er mine filer:
_____________________________________________________________________________

index.asp:

<%@LCID=1030%>
<% Response.Buffer = True %>
<html>
<head>
   <title>Arangementudvalg</title>
</head>
<style>
body {

   background : 000000;
background-color: #FFFFFF;
FONT-FAMILY: Tahoma, Arial, Verdana, Helvetica, sans-serif;
FONT-SIZE: 8pt
color: white;
color: #000000;
font-size: 10px;
font-family: Tahoma;
   
   scrollbar-face-color: "#FFFFFF";
   scrollbar-shadow-color: "#FFFFFF";
   scrollbar-highlight-color: "#000000";
   scrollbar-3dlight-color: "#000000";
   scrollbar-darkshadow-color: "#000000";
scrollbar-track-color: "#FFFFFF";
   scrollbar-arrow-color: "#000000";
   
}
   input, textarea, select, option {
      font-family: verdana;
      font-size: 10px;
      background: #FFFFFF;
      border:1px solid #111111;
      color: #000000;
}
TD
{
   COLOR: #000000; FONT-FAMILY: Verdana; FONT-SIZE: 8pt
}
SMALL
{
   FONT-SIZE: 8pt
}
A:link
{
   COLOR: #000033; TEXT-DECORATION: none
}
A:visited
{
   COLOR: #003333; TEXT-DECORATION: none
}
A:hover
{
   COLOR: #BFBFBF; TEXT-DECORATION: none
}
</style>
<body>

<%
' Connection til database
   Set Conn = Server.CreateObject("ADODB.Connection")
   DBPath = "DBQ=" & server.mappath("../../db/db.mdb")
   Conn.Open "DRIVER={Microsoft Access Driver
(*.mdb)};Password=d5aP85Ice9_.23 ;" & DBPath

' Her hiver vi indholdet af databasen ud, sorterer dem efter dato
   Sql = "SELECT * FROM nyheder ORDER BY dato DESC"
   Set rs = Conn.Execute(Sql)
%>
<div align="center">
<center>
<table bgcolor="#000000" width="100%" cellspacing="0" cellpadding="2"
border="0" style="border-collapse: collapse" bordercolor="#111111">
<tr>
<td bgcolor="#2793d3" width="100%">
<p align="center"><strong><font size="3" face="Arial"
color="#FFFFFF">Arangementudvalg</font></strong></td>
</tr>
</table>
</center>
</div>
<br>
<% Do While Not rs.EOF
SQL2 = "select count(*) as antal from kommentarer WHERE nyhedsId = " &
rs("id")
Set TheCount = Conn.Execute(Sql2)   
antal = TheCount("antal")
%>
<table align="center" width="100%" cellspacing="0" cellpadding="0"
class="ContentStyle">
<tr>
<td width="100%" valign="top">
<table width="100%" border="0" bgcolor="#000000" cellspacing="0"
cellpadding="2" class="ContentStyle" style="border-collapse: collapse"
bordercolor="#111111">
<tr>
<td bgcolor="#2793d3" width="100%"><table border="0" cellspacing="0"
cellpadding="0" class="ContentStyle" width="100%">
<tr><td><font size="2" face="Arial"
color="#FFFFFF"><strong><%=rs("title")%></strong></font></td><td
align="right"><font color="#FFFFFF"><%= FormatDateTime(rs("dato"),1)%>
- <%= FormatDateTime(rs("dato"),3)%></font></td></td></table></td>
</tr>
<tr>
<td bgcolor="#cfdffc" colspan="2"
width="100%"><%=rs("nyhed")%><br><br>Postet af
<em><%=rs("forfatter")%></em></td>
</tr>
</table>
<tr>
</tr>
</table>
<br>
<%
rs.MoveNext
Loop
%>
</body>
</html>

_______________________________________________________________________________

login.asp

<% Response.Buffer = True %>
<%
   If Not Session("Adgang") = "Godkendt" Then
      Session("Adgang") = "Forbudt"
   End If
%>
<html>
<head>
   <title>Login</title>
<style>
body {

   background : 000000;
background-color: #FFFFFF;
FONT-FAMILY: Tahoma, Arial, Verdana, Helvetica, sans-serif;
FONT-SIZE: 8pt
color: white;
color: #000000;
font-size: 10px;
font-family: Tahoma;
   
   scrollbar-face-color: "#FFFFFF";
   scrollbar-shadow-color: "#FFFFFF";
   scrollbar-highlight-color: "#000000";
   scrollbar-3dlight-color: "#000000";
   scrollbar-darkshadow-color: "#000000";
scrollbar-track-color: "#FFFFFF";
   scrollbar-arrow-color: "#000000";
   
}
   input, textarea, select, option {
      font-family: verdana;
      font-size: 10px;
      background: #FFFFFF;
      border:1px solid #111111;
      color: #000000;
}
TD
{
   COLOR: #000000; FONT-FAMILY: Verdana; FONT-SIZE: 8pt
}
SMALL
{
   FONT-SIZE: 8pt
}
A:link
{
   COLOR: #000033; TEXT-DECORATION: none
}
A:visited
{
   COLOR: #003333; TEXT-DECORATION: none
}
A:hover
{
   COLOR: #BFBFBF; TEXT-DECORATION: none
}
</style>
</head>
<body>
<%
mode=request("mode")
   
'--- Kontrol ---
if mode="kontrol" then
   
   strConn = "Driver={Microsoft Access Driver
(*.mdb)};Password=d5aP85Ice9_.23 ; DBQ=" &
Server.MapPath("../../db/db.mdb")
   
   Set rs = Server.CreateObject("ADODB.RecordSet")
   
'Den slår ens brugernavn og adgangskode op i databasen
   strQ = "SELECT * FROM login WHERE (adgangskode='" &
Request.Form("adgangskode") & "')" & _
         " AND (brugernavn = '" & Request.Form("brugernavn") & "');"
   
   rs.Open strQ, strConn
   
'Kan den ikke finde en bliver man sendt tilbage med en fejlmeddelelse
   If rs.EOF Then
   
   Response.Redirect("login.asp?mode=fejl")
   
'Kan den godt finde en bliver session("Adgang") sat til Godkendt så
man kan komme ind til admin.asp
   Else
   
   Session("Adgang") = "Godkendt"
   
   Response.Redirect("admin.asp")
   
   End If
   rs.Close
   Set rs = Nothing
   
   Con.Close
   Set Con = Nothing
   
'--- Forsiden ---
else %>

<table align="center" width="510" border="0" cellspacing="0"
cellpadding="0" class="ContentStyle">
<tr>
<td width="510" valign="top">
<table width="510" border="0" bgcolor="#000000" cellspacing="1"
cellpadding="2" class="ContentStyle">
<tr>
<td bgcolor="#6699CC"">
      
      <form action="login.asp?mode=kontrol" method="post" name="Login">
      <center>
      
      <strong>Login Til Webmaster</strong><br><br>
      
<%
'Når man skriver forkert adgangskode eller forsøger at komme ind på en
side hvor man ikke har tilladelse bliver man gjort opmærksom på det
her
   Select Case Request.QueryString("mode")
   case "fejl" %><div><font color="#FF0000">Fejl i Brugernavn eller
Adgangskode prøv igen...</font><br><br></div><%
   case "forbudt" %><div><font color="#FF0000">Brug dog Login ... hvad
tror du den er der for?</font><br><br></div><%
   
   End Select
%>
      Brugernavn<br>
      <input type="text" name="Brugernavn" size="40">
      <br><br>
      Adgangskode<br>
      <input type="password" name="Adgangskode" size="40">
      <br><br>
      <input type="submit" value="Login">
      </form>
      </center>
      </td>
</tr>
</table>
</td>
</tr>
</table>
<br>
<center>
<a href="index.asp"><strong>Tilbage</strong></a>
</center>
<% End if %>
</body>
</html>
_______________________________________________________________________________

Håber der er en eller anden der kan hjælpe. Kontakt mig evt. på
følgende hvis der er spørgsmål:

Thomas@dyrlund.dk
Icq: 30546966

 
 
Jakob Møbjerg Nielse~ (24-04-2002)
Kommentar
Fra : Jakob Møbjerg Nielse~


Dato : 24-04-02 15:25

> Hvordan kan jeg blokere helt så der ikke er nogen mulighed
> for at finde de koder der ligger i databasen, altså den man
> skal bruge til at logge ind i systemet, samt gøre det hele
> så sikkert som muligt?

Hvad er du nervøs for, hvis den ikke kan downloades? Anyways, Du kan jo
md5'e dine passwords.

--
Jakob Møbjerg Nielsen | "Five exclamation marks, the
jakob@dataloger.dk | sure sign of an insane mind."
| -- Terry Pratchett, Reaper Man



Thomas (24-04-2002)
Kommentar
Fra : Thomas


Dato : 24-04-02 21:38

> Du kan jo md5'e dine passwords.


Hvad mener du og hvordan gør man det?

Jeg er ikke bange for at folk henter min db men at de henter de koder
der ligger i min db og jeg ved at de kan det for en jeg kender har
gjort det!

Jakob Møbjerg Nielse~ (25-04-2002)
Kommentar
Fra : Jakob Møbjerg Nielse~


Dato : 25-04-02 13:19

> Hvad mener du og hvordan gør man det?

MD5 er en envejsfunktion. Dvs. at når passwordet er MD5-krypteret kan
man ikke finde ud af hvad passwordet originalt var. Når en bruger
oprettes skal du gemme MD5 versionen af passwordet i databasen, og når
så brugeren senere indtaster sit password, skal du MD5-kryptere det og
sammeligne med det der ligger i databasen.

INSERT INTO tabel (password) VALUES (MD5(""" & password & """))

Hvis access ikke understøtter MD5 skal du finde en ASP funktion der kan
gøre det.
http://www.freevbcode.com/ShowCode.Asp?ID=2366

> Jeg er ikke bange for at folk henter min db men at de henter de koder
> der ligger i min db og jeg ved at de kan det for en jeg kender har
> gjort det!

Uha! Kig *grundigt* på din kode. Indtil denne fejl er rettet er det IMHO
totalt ubrugeligt.

--
Jakob Møbjerg Nielsen | "Five exclamation marks, the
jakob@dataloger.dk | sure sign of an insane mind."
| -- Terry Pratchett, Reaper Man



Thomas (25-04-2002)
Kommentar
Fra : Thomas


Dato : 25-04-02 21:54

Jeg har hentet det der MD5 Digital Signatures og har pakket filerne
ud. Jeg har altså nu 2 filer:

md5.asp
md5test.asp

Men jeg kan ikke komme vidre ... hvordan bruger jeg dem ... det står
der intet om!

Jakob Møbjerg Nielse~ (25-04-2002)
Kommentar
Fra : Jakob Møbjerg Nielse~


Dato : 25-04-02 22:42

> Men jeg kan ikke komme vidre ... hvordan bruger jeg dem ... det står
> der intet om!

Det er vist i md5test.asp:
------
<!--#include file="md5.asp"-->

password = md5("etpassword")



X-FUT: dk.edb.internet.webdesign.serverside.asp


--
Jakob Møbjerg Nielsen | "Five exclamation marks, the
jakob@dataloger.dk | sure sign of an insane mind."
| -- Terry Pratchett, Reaper Man




Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408927
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste