![]() |
Jag har ett forum soom har fått ovälkomna besökare. Jag har gjort en bild med ett lösenord som är kopplat till en databas. När formulärrutorna är kontrollerade att de är rätt ifyllda ska sidan new.asp laddas och där fylls uppgifterna i från formuläret. Då uppstår problemet. jag får felmeddelande om att alla fält ska vara ifyllda. Förstår inte var felet är, säkert alldeles för enkelt.
Koden för formuläret: [CODE]<td width="70" bgcolor="#EFEFDE" align="left">Skriv in koden i båda rutorna för att undvika spam</td> <td width="319" bgcolor="#EFEFDE" align="left"> Skriv in koden<input type="text" name="anvnamn" value="<%=Server.HTMLEncode(request.querystring("a nvnamn"))%>" SIZE="15"> <INPUT TYPE="text" NAME="losen" SIZE="15"> [img]loginbild.jpg[/img] </td> </tr> <td width="70" bgcolor="#EFEFDE" align="left">Namn</td> <td width="319" bgcolor="#EFEFDE" align="left"> <input type="text" name="autor" size="21" maxlength="15"> </td> </tr> <tr> <td width="70" bgcolor="#EFEFDE" align="left">Mail</td> <td width="319" bgcolor="#EFEFDE" align="left"> <input type="text" name="mail" size="34" maxlength="60"></td> </tr> <tr> <td width="70" bgcolor="#EFEFDE" align="left">Ämne</td> <td width="319" bgcolor="#EFEFDE" align="left"> <input type="text" name="title" size="34" maxlength="80"></td> </tr> <tr> <td width="394" bgcolor="#EFEFDE" colspan="2" align="left"> <textarea rows="6" name="message" cols="46"></textarea></td> </tr> <tr> <td width="394" bgcolor="#EFEFDE" colspan="2" align="center"> <input type="submit" value="Spara" name="B1"></td> </tr> </table>[/ Verifieringen <% Set Connect = Server.CreateObject("ADODB.Connection") Connect.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ="& server.mappath("forum.mdb") Set rs = connect.Execute("SELECT anvnamn, losen FROM postings WHERE anvnamn = '" & Inj (Request.Form("anvnamn")) & "' AND losen = '" & Inj (Request.Form("losen")) & "'") If rs.eof then Response.Write "Inloggningen misslyckades" Else rs.Close : Set rs = Nothing Connect.Close : Set Connect = Nothing Session("inloggad") = 1 Response.Redirect "new.asp" End If rs.Close : Set rs = Nothing Connect.Close : Set Connect = Nothing %> |
Har du kontrollerat att alla fälten verkligen innehåller något värde?
Citat:
|
Citat:
Kanske går dom in via.. <!--QuoteBegin--tri Connect.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ="& server.mappath("forum.mdb")[/quote] Men du kanske har ett externt skydd? Annars kan det vara dax att byta lösenord.. |
Tror jag sett någonstans att man ska kunna komma förbi lösenordet i access.
Det bästa är att ha databasen utanför webbrooten. |
Jag fick ett svar på denna fråga men jag är inte säker på att jag riktigt förstår.
Jag har ett javascript som kontrollerar att alla fält är ifyllda och då framföraööt fältet där info hämtas från databas. Rekomendationen jag fick var att ersätta Så här ser javascripet ut <script type="text/javascript"> function validate (form) { var returnValue = true; var anvnamn = form.anvnamn.value; if (anvnamn == "") { returnValue = false; alert("Du måste ange koden "); document.frmloginform.anvnamn.focus(); } return returnValue; } </script> "Prova att sätta ett ID på ditt formulär och använd sedan "document.getElementById('id')" istället för "form.anvnamn.value"... " Visst är det så att jag ska byta ut i javascriptet och ingen annanstans? Spelar det någon roll vad jag tilldelar formuläret för id, eller måste det vara specifikt? |
Du ska sätta ett specifikt ID på formuläret och sedan använda detta namn istället för 'id'. ID måste alltid vara unikt.
|
Ok, men ska jag fortfarande kontrollera lösenordet via databasen eller hoppa över det. Jag har kört fast och suttit med detta alldeles för länge nu. Så här gjorde jag men det är säkert helt fel.
<script type="text/javascript"> function validate (form) { var returnValue = true; var anvnamn = document.getElementById('inloggning'); if (anvnamn == "") { returnValue = false; alert("Du måste ange koden "); document.frmloginform.anvnamn.focus(); } return returnValue; } </script> <form name="frmloginform" id="inloggning" action="new.asp" method="post" onSubmit="return validate(this);"> <center> <table cellpadding="1" cellspacing="1" border="1" width="450" class="text"> <table border="0" cellpadding="0" cellspacing="0" width="100" bgcolor="#000000" align="center"> <tr> <td width="100%"> <table border="0" cellpadding="2" cellspacing="1" width="400" class="text"> <tr> <td width="389" bgcolor="#848CB5" align="center" colspan="2">Nytt inlägg </td> </tr> <tr> <tr> <td width="70" bgcolor="#EFEFDE" align="left">Skriv in koden i båda rutorna för att undvika spam</td> <td width="319" bgcolor="#EFEFDE" align="left"> Skriv in koden<input type="text" name="anvnamn" id="inloggning" SIZE="15"> |
Du skrev i ditt första inlägga "Jag har gjort en bild med ett lösenord som är kopplat till en databas." Har du ett enda lösenord för samtliga medlemmar?
|
Ja, det är samma för samtliga.
|
Verkar inte så lyckat men varför är det i så fall alls kopplat till en databas? =) Du behöver inte kolla mot databasen då....
|
Jag tänkte att det skulle vara svårare att skriva olämliga saker på forumet. Nu är det fullt av viagra reklam och annat skräp. Jag behöver något som kontrollerar att en av rutorna ska innehålla ett speciellt ord för att undvika att man skriver in skräp på forumet?
|
"En av rutorna"? Har inte kollat så noga men har du ett vanligt lösenord också så glöm min kommentar.
|
Hur kan man göra för att undvika intrång på forum. Det är ett publict forum som ska vara på en sida för vem som helst?
|
Behöver man inte vara inloggad för att skriva? Du kan nog glömma mina kommentarer om det jag skriver verkar förvirrande för jag har som sagt var inte varit inne och kollat närmare.
|
Tack, du gav mig en bra idé. Äntligen. jag borde komma runt det genom att skapa en forum som man loggar in sig på. jag har varit låst vid tanken att man inte ska behöva göra detta. jag som har lagt ned så många timmar på att försöka lösa det.
|
Alla tider är GMT +2. Klockan är nu 18:48. |
Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson