Avatar billede tj_cuper Nybegynder
29. april 2006 - 22:25 Der er 16 kommentarer og
1 løsning

Problemmer med min beskyttelse af mit nyhedssystem login /sessio

hej jeg har et problem med min beskyttelse ved mit nyhedsystem.
Problemt besåtr i at jeg har en kode øverst på siden som skal beskytte siden så det kun er admin der kan komme ind. Men hver gang jeg er logget ind som admin og prøver at oprette en nyhed og jeg trykker på opret i min formular (submit) ryger jeg ud af admin border og ender på forsiden og nyheden er ikke blevet oprettet...

Scriptet i toppen af siden ::

<%
if isEmpty (session("id")) Then
    Session.Timeout = 20
    Session.Contents.RemoveAll()
    Response.Redirect("Default.asp")
End if
%>

Scriptet til min admin login ::

<!--#include file="../includes/inc_forbindelse.asp" -->
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Untitled Document</title>
<link href="../Layout/design.css" rel="stylesheet" type="text/css">
</head>
<%
    If Request.QueryString("action") = "login" Then
   
                strUID = Trim(Replace(Request.Form("Brugernavn"),"'","''"))
                strPWD = Trim(Replace(Request.Form("Adgangskode"),"'","''"))
               
                If (Len(strUID) > 0) And (Len(strPWD) > 0) Then
                               
                    Set rs = Server.CreateObject("ADODB.Recordset")
                    rs.Open "SELECT * FROM protect WHERE (Username = '" & strUID & "') AND (Password = '" & strPWD & "')", database
                   
                            If (Not rs.BOF) And (Not rs.EOF) Then
                           
                                        intUID = rs("id")
                                        intTRAN = rs("transfer")
                                       
                            Else
                                strERR = "Access Denied"
                            End If
                           
                            If Len(intUID) > 0 Then
                           
                                        Session("id") = intUID
                                        Response.Redirect intTRAN
                            End If
                           
                            Else
                                strErr = "Access Denied"
                            End If
                           
                            If Len(strErr) > 0 Then
                                            strErr = "<p><font color=""red"">" & strErr & "</font></p>"
                            End If
                    End If
                %>
               
<!-------------------------------------------------------- Login formularen ------------------------------------------------------------>
    <form method="post" action="default.asp?action=login">
        <table class="Text" border="0" cellpadding="0" cellspacing="0">
            <tr>
                <td colspan="2" class="Overskrift">Login ::</td>
            </tr>
            <tr>
                <td>
            <a href="reg.asp"><img style="margin-top:2px;" src="../layout/register.gif" border="0"></a>
                </td>
                <td>
                <a href="#"><img style="margin-top:2px;" src="../layout/password.gif" border="0"></a>   
                </td>
            </tr>
            <tr>
                <td width="50%">ID:</td>
                <td width="50%"><input class="logFelt" type="text" name="Brugernavn"></td>
            </tr>
            <tr>
                <td width="50%">Pass:</td>
                <td width="50%"><input class="logFelt" type="password" name="Adgangskode"></td>
            </tr>
            <tr>
                <td colspan="2" align="right"><input class="logGo" type="submit" value="Login" name="Action"></td>
            </tr>
            <tr>
                <td colspan="2">
                <%=strErr%>
                </td>
            </tr>
        </table>
    </form>
</body>
</html>

Nyheds system script ::

<table class="matchesText" border="0" width="487" style="float: center; margin-top:6px;" cellpadding="0" cellspacing="1">
                                    <tr>
                                        <td>
                                            <% If Request("action") = "" then %>
                                            <Form method="post" action="am_news.asp?action=skriv">
                                        </td>
                                        <tr>
                                            <td>Overskrift:</td>
                                            <td><input class="logFelt" type="text" name="overskrift"></td>
                                        </tr>
                                        <tr>
                                            <td>Name:</td>
                                            <td><input class="logFelt" type="text" name="Navn"></td>
                                        </tr>
                                        <tr>
                                            <td>Tekst:</td>
                                            <td><textarea class="textArea" cols="40" rows="10" name="text"></textarea></td>
                                        </tr>
                                        <tr>
                                            <td>Billedefilnavn:</td>
                                            <td><input class="logFelt" type="text" name="billede"></td>
                                        </tr>
                                        <tr>
                                            <td><input class="skrivGo" type="submit" name="Submit" value="Opdater">
                                            </form>
                                            </td>
                                        </tr>
                                        <tr>
                                            <!-- her bliver slet includet -->
                                            <td colspan="2">
                                                <!--#include file="../includes/inc_slet.asp" -->
                                            </td>                                   
                                            <% End if %>
                                           
                                            <!----------------------- Start på script til indskrivning i database ---------------------->

                                            <%
                                                If Request("action") = "skriv" then
                                            %>
                                            <!--#include file="../includes/inc_forbindelse.asp" -->
                                           
                                            <%
                                                Set news = Server.CreateObject("ADODB.Recordset")
                                                news.Open "news", database, 2, 2
                                               
                                            News.AddNew
                                           
                                                news("overskrift") = Request.Form("overskrift")
                                                news("Navn") = Request.Form("Navn")
                                                news("text") = Request.Form("text")
                                                news("billede") = Request.Form("billede")
                                                news("dato") = Date()
                                               
                                            news.Update
                                           
                                            Response.Redirect("am_news.asp")
                                            %>
                                            <% End If %>
                                    </tr>
                                </table>

Håber at der er nogle af jer der vil prøve at se om i kan finde problemmet med scriptet så jeg kan få det til at virke. Det er meget vigtig da det er et eksamens projekt...
Avatar billede cpufan Juniormester
29. april 2006 - 23:35 #1
du sætter jo ikke session("id") til at være noget nogen steder

eller hvad?

ikke i det viste i hvert tilfælde.
Avatar billede tj_cuper Nybegynder
29. april 2006 - 23:37 #2
Det er denne fil (sikkerheds filen) jeg includer på mit nyheds system ::

<%
if isEmpty (session("id")) Then
    Session.Timeout = 20
    Session.Contents.RemoveAll()
    Response.Redirect("Default.asp")
End if
%>
Avatar billede cpufan Juniormester
29. april 2006 - 23:39 #3
jo jeg har fundet det hvor du sætter "id"

enten har du ikke et felt i din tabel der hedder id,
eller også er søgeningen tom
Avatar billede tj_cuper Nybegynder
29. april 2006 - 23:42 #4
hmm Ok jeg forstår ikke helt hvad du mener. men har en felt i min database som hedder "id"

Forstår bare ikke når man adder nyhed at den så går til forsiden. Nyheds system virker ellers fint når man ikke har incluedet sikkerheds filen =

<%
if isEmpty (session("id")) Then
    Session.Timeout = 20
    Session.Contents.RemoveAll()
    Response.Redirect("Default.asp")
End if
%>
Avatar billede cpufan Juniormester
29. april 2006 - 23:44 #5
jo jeg har forstået det nu

du kan ikke have den i toppen af den side,
da sesssion("id") aldrig når at blive sat
før den tjekker og sender dig væk.

koden bliver jo udført fra toppen af siden og nedefter.


du er nød til at fjerne den fra loginsiden, men så have den på alle andre sider.

altså dit tjek
Avatar billede cpufan Juniormester
29. april 2006 - 23:45 #6
eller også køre den efter, du har kigget i db efter brugernavn og pw.
Avatar billede cpufan Juniormester
29. april 2006 - 23:45 #7
og sat session
Avatar billede tj_cuper Nybegynder
29. april 2006 - 23:48 #8
kan du ikke lige prøve at sætte det ind i scriptet er ret ny i asp kun haft det i 3 uger så. ikke lige den største hej til det :D
Avatar billede cpufan Juniormester
29. april 2006 - 23:49 #9
hvis du ikke har det tjek på din loginside, det har du vist ikke alligevel,
hvis jeg lige samler mig sammen og læser ordentligt efter ..............

så prøv lige at udskrive din session("id") efter du har sat den..

                                  Session("id") = intUID
response.write session("id")                                       
'Response.Redirect intTRAN
Avatar billede cpufan Juniormester
29. april 2006 - 23:53 #10
kan jeg ikke lige se hele koden - bare som den nu er...
Avatar billede tj_cuper Nybegynder
29. april 2006 - 23:54 #11
Login script ::

<!--#include file="../includes/inc_forbindelse.asp" -->
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Untitled Document</title>
<link href="../Layout/design.css" rel="stylesheet" type="text/css">
</head>
<%
    If Request.QueryString("action") = "login" Then
   
                strUID = Trim(Replace(Request.Form("Brugernavn"),"'","''"))
                strPWD = Trim(Replace(Request.Form("Adgangskode"),"'","''"))
               
                If (Len(strUID) > 0) And (Len(strPWD) > 0) Then
                               
                    Set rs = Server.CreateObject("ADODB.Recordset")
                    rs.Open "SELECT * FROM protect WHERE (Username = '" & strUID & "') AND (Password = '" & strPWD & "')", database
                   
                            If (Not rs.BOF) And (Not rs.EOF) Then
                           
                                        intUID = rs("id")
                                        intTRAN = rs("transfer")
                                       
                            Else
                                strERR = "Access Denied"
                            End If
                           
                            If Len(intUID) > 0 Then
                           
                                        Session("id") = intUID
                                        Response.Redirect intTRAN
                            End If
                           
                            Else
                                strErr = "Access Denied"
                            End If
                           
                            If Len(strErr) > 0 Then
                                            strErr = "<p><font color=""red"">" & strErr & "</font></p>"
                            End If
                    End If
                %>
               
<!-------------------------------------------------------- Login formularen ------------------------------------------------------------>
    <form method="post" action="default.asp?action=login">
        <table class="Text" border="0" cellpadding="0" cellspacing="0">
            <tr>
                <td colspan="2" class="Overskrift">Login ::</td>
            </tr>
            <tr>
                <td>
            <a href="reg.asp"><img style="margin-top:2px;" src="../layout/register.gif" border="0"></a>
                </td>
                <td>
                <a href="#"><img style="margin-top:2px;" src="../layout/password.gif" border="0"></a>   
                </td>
            </tr>
            <tr>
                <td width="50%">ID:</td>
                <td width="50%"><input class="logFelt" type="text" name="Brugernavn"></td>
            </tr>
            <tr>
                <td width="50%">Pass:</td>
                <td width="50%"><input class="logFelt" type="password" name="Adgangskode"></td>
            </tr>
            <tr>
                <td colspan="2" align="right"><input class="logGo" type="submit" value="Login" name="Action"></td>
            </tr>
            <tr>
                <td colspan="2">
                <%=strErr%>
                </td>
            </tr>
        </table>
    </form>
</body>
</html>
Avatar billede tj_cuper Nybegynder
29. april 2006 - 23:55 #12
protect script ::

<%
if isEmpty (session("id")) Then
    Session.Timeout = 20
    Session.Contents.RemoveAll()
    Response.Redirect("Default.asp")
End if
%>
Avatar billede tj_cuper Nybegynder
29. april 2006 - 23:55 #13
Nyheds system script ::

<!--#include file="inc_protect.asp" -->
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Untitled Document</title>
<link href="../Layout/design.css" rel="stylesheet" type="text/css">
</head>

<body topmargin="0" class="background">
<div align="center"/>
    <table border="0" width="930" class="tblbg">
        <tr>
            <td>
            <div align="center">
                    <!-- HER BEGYNDER TABEL ER HOLDER STYR PÅ ALLE TABELERNE -->
                    <table border="0" width="880">
                        <tr>
                            <td>
                           
                                <!-- TOP BANNER TABEL -->
                                <table border="0" width="880" cellpadding="0" cellspacing="0">
                                    <tr>
                                        <td>
                                            <!--#include file="../includes/inc_banner.asp" -->
                                        </td>
                                        <td>
                                            <!--#include file="../includes/inc_top_menu.asp" -->
                                        </td>
                                    </tr>
                                </table>
                                <!-- TOP BANNER TABEL SLUT -->
                               
                                <!-- LEFT MENU STARTER HER -->
                                <table border="0" width="190" cellpadding="0" cellspacing="0" style="float: left; margin-top:11px;">
                                    <tr>
                                        <td>
                                            <!--#include file="inc_DBlogout.asp" -->
                                        </td>
                                    </tr>
                                    <tr>
                                        <td>
                                            <img src="../layout/spacer.gif" height="14">
                                        </td>
                                    </tr>
                                    <tr>
                                        <td>
                                            <!--#include file="../includes/inc_team.asp" -->
                                        </td>
                                    </tr>
                                    <tr>
                                        <td>
                                            <img src="../layout/spacer.gif" height="14">
                                        </td>
                                    </tr>
                                    <tr>
                                        <td>
                                            <!--#include file="../includes/inc_head_sponsor.asp" -->
                                        </td>
                                    </tr>
                                </table>
                                <!-- LEFT MENU SLUTTER HER -->
                           
                                <!-- RIGHT MENU STARTER HER -->
                                <table border="0" style="float: right; margin-top:7px;" cellpadding="0" cellspacing="0">
                                    <tr>
                                        <td>
                                            <!--#include file="../includes/inc_statistics.asp" -->
                                        </td>
                                    </tr>
                                    <tr>
                                        <td>
                                            <!--#include file="../includes/inc_logo.asp" -->
                                        </td>
                                    </tr>
                                    <tr>
                                        <td>
                                        <img src="../layout/spacer.gif" height="14">
                                        </td>
                                    </tr>
                                    <tr>
                                        <td>
                                            <!--#include file="../includes/inc_main_sponsor.asp" -->
                                        </td>
                                    </tr>
                                    <tr>
                                        <td>
                                        <img src="../layout/spacer.gif" height="14">
                                        </td>
                                    </tr>
                                    <tr>
                                        <td>
                                            <!--#include file="../includes/inc_partners.asp" -->
                                        </td>
                                    </tr>
                                </table>
                                <!-- RIGHT MENU SLUTTER HER -->       
                                <div align="center">
                                <!-- TEXTBOX STARTER HER -->
                                <table class="matchesText" border="0" width="487" style="float: center; margin-top:6px;" cellpadding="0" cellspacing="1">
                                    <tr>
                                        <td>
                                            <% If Request("action") = "" then %>
                                            <Form method="post" action="am_news.asp?action=skriv">
                                        </td>
                                        <tr>
                                            <td>Overskrift:</td>
                                            <td><input class="logFelt" type="text" name="overskrift"></td>
                                        </tr>
                                        <tr>
                                            <td>Name:</td>
                                            <td><input class="logFelt" type="text" name="Navn"></td>
                                        </tr>
                                        <tr>
                                            <td>Tekst:</td>
                                            <td><textarea class="textArea" cols="40" rows="10" name="text"></textarea></td>
                                        </tr>
                                        <tr>
                                            <td>Billedefilnavn:</td>
                                            <td><input class="logFelt" type="text" name="billede"></td>
                                        </tr>
                                        <tr>
                                            <td><input class="skrivGo" type="submit" name="Submit" value="Opdater">
                                            </form>
                                            </td>
                                        </tr>
                                        <tr>
                                            <!-- her bliver slet includet -->
                                            <td colspan="2">
                                                <!--#include file="../includes/inc_slet.asp" -->
                                            </td>                                   
                                            <% End if %>
                                           
                                            <!----------------------- Start på script til indskrivning i database ---------------------->

                                            <%
                                                If Request("action") = "skriv" then
                                            %>
                                            <!--#include file="../includes/inc_forbindelse.asp" -->
                                           
                                            <%
                                                Set news = Server.CreateObject("ADODB.Recordset")
                                                news.Open "news", database, 2, 2
                                               
                                            News.AddNew
                                           
                                                news("overskrift") = Request.Form("overskrift")
                                                news("Navn") = Request.Form("Navn")
                                                news("text") = Request.Form("text")
                                                news("billede") = Request.Form("billede")
                                                news("dato") = Date()
                                               
                                            news.Update
                                           
                                            Response.Redirect("am_news.asp")
                                            %>
                                            <% End If %>
                                    </tr>
                                </table>
                    <!-- HER SLUTTER TABEL ER HOLDER STYR PÅ ALLE TABELERNE -->
                    </div>
                   
                </td>
            </tr>
    </table>
</div>
</body>
</html>
Avatar billede tj_cuper Nybegynder
29. april 2006 - 23:56 #14
Det var dem alle håber du finder fejlen så jeg kan oprette en nyhed uden at blive logget ud.
Avatar billede cpufan Juniormester
30. april 2006 - 00:02 #15
må jeg se hele din loginside, der ser ikke ud til at være noget på den sidste du sendte
Avatar billede tj_cuper Nybegynder
30. april 2006 - 00:03 #16
hey fandt selv ud af det nu det var noget i min logout fil :D

brugt hele dagen på at finde den fejl også var det en :: Session.Abandon

så nu virker det sku og jeg kan komme vider men ellers tak for hjælpen
Avatar billede tj_cuper Nybegynder
30. april 2006 - 00:04 #17
lukker sprøgsmål nu...
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