Avatar billede ghostweb Nybegynder
10. september 2006 - 20:38 Der er 12 kommentarer og
1 løsning

Kodefejl , alle kan oprette ?

Skal ikke kunne sige hvorfor dette her ikke virker har ikke så meget forstand på asp.

Har lavet det sådan at kun min ip skal kunne oprette beskeder.

men alligevel kan alle oprette beskeder.

her kommer min kode:

<!-- #include file="admin.asp" -->

<%
dim id, SQL
if (Request.Servervariables("REMOTE_ADDR") = adminIP1 or Request.Servervariables("REMOTE_ADDR") = adminIP2) and LCase(Request.QueryString("mode"))="opret" then
  id = replace(Request.Querystring("id"),"'","")
  SQL = "Insert into news where id = " & id
  conn.execute(SQL)
end if
%>


<form method="POST" action="godkend.asp" onsubmit="return validate(this);" name="opretform0submit1">
<p align="left">
Overskrift:<input type="text" name="overskrift" size="20"></p>
<p align="left">
Af:<input type="text" name="nyhed" size="20">&nbsp;&nbsp;&nbsp; </p>
<p align="left">
Billede:<input type="text" name="af" size="40">
(link)</p>
<p align="left">
<td><font size="1" face="Verdana"> Nyhed:</font></td>
<td><font size="1" face="Verdana">
<INPUT TYPE="text" NAME="billede" size="100"></font></td></p>
<p align="left">
<input type="submit" value="opret" name="B1"></p>
<p align="left">
</p>
  </form>
Avatar billede nielle Nybegynder
10. september 2006 - 21:01 #1
Det ser nu ellers meget pænt ud. Men prøv lige dette her:

<%
Dim id, SQL
If ((Request.ServerVariables("REMOTE_ADDR") = adminIP1) Or (Request.ServerVariables("REMOTE_ADDR") = adminIP2)) And LCase(Request.QueryString("mode")) = "opret" Then
    id = Replace(Request.Querystring("id"), "'", "")
    SQL = "INSERT INTO news WHERE id = " & id
    'Conn.Execute(SQL)
    Response.Write "DEBUG: " & SQL & "<br>"
End if
%>
Avatar billede ghostweb Nybegynder
10. september 2006 - 21:07 #2
Tusind tak, sker der samme får ingen fejl , men kommer bare ind på opret siden.
Avatar billede nielle Nybegynder
10. september 2006 - 21:14 #3
Ok, det skal forstås sådan at de slet ikke må komme ind på siden?

I din admin.asp fil filføjer du noget i stil med dette:

ipAddr = Request.ServerVariables("REMOTE_ADDR")
If ipAddr<>adminIP1 And ipAddr<>adminIP2 Then
    Response.Redirect "Login.asp"
End If

Dermed er det kun administratorenb som kan komme ind på sider som include'r admin.asp.
Avatar billede nielle Nybegynder
10. september 2006 - 21:16 #4
Dette giver en generel beskyttelse, og så brhøver du kun at lave (og vedliheholde) tjekket et sted ialt.

Alle andre steder inclider dt bare admin.asp, og så behøver du ikke at bekymre dig mere om det:

<!-- #include file="admin.asp" -->
<%
If LCase(Request.QueryString("mode") = "opret" Then
    id = Replace(Request.Querystring("id"), "'", "")
    SQL = "INSERT INTO news WHERE id = " & id
    Conn.Execute(SQL)
End If
%>


<form method="POST" action="godkend.asp" onsubmit="return validate(this);" name="opretform0submit1">
<p align="left">
Overskrift:<input type="text" name="overskrift" size="20"></p>
<p align="left">
Af:<input type="text" name="nyhed" size="20">&nbsp;&nbsp;&nbsp; </p>
<p align="left">
Billede:<input type="text" name="af" size="40">
(link)</p>
<p align="left">
<td><font size="1" face="Verdana"> Nyhed:</font></td>
<td><font size="1" face="Verdana">
<INPUT TYPE="text" NAME="billede" size="100"></font></td></p>
<p align="left">
<input type="submit" value="opret" name="B1"></p>
<p align="left">
</p>
</form>
Avatar billede nielle Nybegynder
10. september 2006 - 21:22 #5
"
Dette giver en generel beskyttelse, og så behøver du kun at lave (og vedligeholde) tjekket et sted ialt.

Alle andre steder includer du bare admin.asp, og så behøver du ikke at bekymre dig mere om det:
"
Avatar billede ghostweb Nybegynder
10. september 2006 - 21:28 #6
Forstod det ikke helt. nu når jeg kommer ind på opret.asp
får jeg bare somom siden ikke findes..

admin.asp :
<%
dim AdminIP1
dim AdminIP2
AdminIP1 = "00" ' din ip ""
AdminIP2 = "00" ' din ip ""

ipAddr = Request.ServerVariables("REMOTE_ADDR")
If ipAddr<>adminIP1 And ipAddr<>adminIP2 Then
    Response.Redirect "index.asp"
End If
%>





opret.asp

<!-- #include file="admin.asp" -->
<%
If LCase(Request.QueryString("mode") = "opret" Then
    id = Replace(Request.Querystring("id"), "'", "")
    SQL = "INSERT INTO news WHERE id = " & id
    Conn.Execute(SQL)
End If
%>


<form method="POST" action="godkend.asp" onsubmit="return validate(this);" name="opretform0submit1">
<p align="left">
Overskrift:<input type="text" name="overskrift" size="20"></p>
<p align="left">
Af:<input type="text" name="nyhed" size="20">&nbsp;&nbsp;&nbsp; </p>
<p align="left">
Billede:<input type="text" name="af" size="40">
(link)</p>
<p align="left">
<td><font size="1" face="Verdana"> Nyhed:</font></td>
<td><font size="1" face="Verdana">
<INPUT TYPE="text" NAME="billede" size="100"></font></td></p>
<p align="left">
<input type="submit" value="opret" name="B1"></p>
<p align="left">
</p>
</form>
Avatar billede nielle Nybegynder
10. september 2006 - 21:33 #7
Du skal sætte værdierne af AdminIP1 og AdminIP2 til den IP-adresse ud selv har. Virker dog kun hvis du har *fast* ip-adresse.
Avatar billede ghostweb Nybegynder
10. september 2006 - 21:37 #8
Jeg har sat min ip til den rigtige.

men når jeg prøver at komme ind får jeg denne fejl:

http://frip.dk/kawaii/news/nyt%20news/opret.asp
Avatar billede nielle Nybegynder
10. september 2006 - 21:41 #9
Ret:

If LCase(Request.QueryString("mode") = "opret" Then

- til:

If LCase(Request.QueryString("mode") = "opret") Then
Avatar billede nielle Nybegynder
10. september 2006 - 21:41 #10
Sludder:

If LCase(Request.QueryString("mode")) = "opret" Then
Avatar billede ghostweb Nybegynder
10. september 2006 - 21:48 #11
Det er jo perfekt, tusind tak skal du have. :)
Avatar billede ghostweb Nybegynder
10. september 2006 - 21:48 #12
Læg et svar.
Avatar billede nielle Nybegynder
10. september 2006 - 21:49 #13
Svar :^)
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