Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


Spärra text i gästbok?

Postades av 2006-10-24 19:18:40 - André Andersson, i forum asp - allmänt, Tråden har 19 Kommentarer och lästs av 1476 personer

Hejsan!

Jag har en gästbok där jag dagligen får SPAM som typ viagra mm...

Jag skulle vilja göra så att "Request.Form("msg")" inte får innehålle frasen "<a href=" för i alla inlägg finns det länkar med. Så om "<a href=" finns med i meddelandet ska det bara stå "Stop SPAMMING!"

Tack på förhand!


Svara

Sv: Spärra text i gästbok?

Postades av 2006-10-24 19:26:36 - Stefan Brännström

Så här t ex:

<%
  Dim msg
  msg = Request.Form("msg")
  If inStr(msg,"<a href=") Then msg = "Stop SPAMMING!"
%>

...men det kanske vore smartare att stoppa redan vid "inläggandet"... att inlägg innehållande "<a href=" inte får postas överhuvudtaget, dels med javascript på klientsidan samt även då i ASP-koden på serversidan...

Ett ännu bättre sätt är köra HTMLEncode på serversidan... stoppar iofs inte inläggen men gör däremot all HTML-kod ofunktionell... Vill man kunna använda fetstil, bilder, länkar så kan man göra en funktion för BBkod eller nåt liknande...


Svara

Sv:Spärra text i gästbok?

Postades av 2006-10-24 19:49:02 - André Andersson

Jag får det inte att fungera, den lägger in inlägget ändå..

<code>
<%

Dim msg
msg = Request.Form("msg")
If inStr(msg,"<a href=") Then msg = "Stop SPAMMING!"


if Request.Querystring("visa") = "spara" then

strNamn = SafeSQL(Request.Form("name"))
strEpost = SafeSQL(Request.Form("epost"))
strHemsida = SafeSQL(Request.Form("site"))
strDatum = now()
strInlagg = SafeSQL(Request.Form("msg"))
strIP = Request.ServerVariables("REMOTE_ADDR")

objConn.Execute("INSERT INTO gastbok(Namn,Epost,Hemsida,Datum,Inlagg,IP) VALUES('" & strNamn & "','" & strEpost & "','" & strHemsida & "','" & strDatum & "','" & strInlagg & "','" & strIP & "')")
Response.Redirect "gbook.asp"
End If

objRS.Close : Set objRS = nothing
objConn.Close : Set objConn = nothing
%>
</code>


Svara

Sv: Spärra text i gästbok?

Postades av 2006-10-24 19:49:56 - Stefan Brännström

...men... du skall ju inte lägga in Request.Form("msg") i databasen utan bara msg...
<code>
strInlagg = SafeSQL(msg)
</code>

...och du borde kanske i så fall bara söka efter "<a " i Request.Form("msg")... det kan ju hända att dom skriver länkar så här <a title="Klicka här" href="http://www.mydomain.com"> d.v.s. att inte href kommer som första argument...


Svara

Sv:Spärra text i gästbok?

Postades av 2006-10-24 20:02:08 - André Andersson

Ok, men jag vill inte att inlägget ska registreras om msn innehåller "<a href=", nu läggs ju "Stop SPAMMING!" in.


Svara

Sv: Spärra text i gästbok?

Postades av 2006-10-24 20:04:22 - Peter Larsson

För att stoppa gästboks-spam (som auto-postas) kan du använda dig av en dynamiskt framtagen bild som visar en liten "kod".
Denna skrivs sedan in när inlägget skall skickas. Är inte "koden" rätt så sparas inte inlägget.


Svara

Sv:Spärra text i gästbok?

Postades av 2006-10-24 20:10:27 - Daniel Melin

vad ni krånglar till saker..

förslag 1: Spärra HTML kod i alla inlägg (använd server.htmlencode(textmessage) när du skriver ut inlägget till klienten)

förslag 2: Gör som föreslagits innan, använd javascript och meddela personen ifråga att det inte är tillåtet att posta länkar


Svara

Sv: Spärra text i gästbok?

Postades av 2006-10-24 20:12:31 - Stefan Brännström

*skratt*
...precis det som jag skrev i mitt första inlägg... ;)


Svara

Sv: Spärra text i gästbok?

Postades av 2006-10-24 20:15:04 - André Andersson

Hur ser det scriptet ut då?


Svara

Sv:Spärra text i gästbok?

Postades av 2006-10-24 20:15:54 - Daniel Melin

vilket av dom? javascript eller spärra HTML kod?


Svara

Sv: Spärra text i gästbok?

Postades av 2006-10-24 20:17:13 - André Andersson

Javascriptet som säger att det inte tilllåtet att länka, dvs <a href= eller <a


Svara

Sv:Spärra text i gästbok?

Postades av 2006-10-24 20:23:33 - Daniel Melin

out of the blue:

<textarea name="meddelande" id="meddelande"></textarea>
<input type="button" value="Skicka inlägg" onclick="sendmyform()" />


function sendmyform() {
  var myMessage = document.GetElementById("meddelande").value;
  if (myMessage.indexOf('<a') > 0) {
    alert("Du får ej posta länkar i min blog, pucko!");
  }
  else {
    document.name_of_your_form_here.submit();
  }
}


Svara

Sv:Spärra text i gästbok?

Postades av 2006-10-24 20:23:39 - Stefan Brännström

...t ex så här:

<!-- Ditt JavaScript -->
<script type="text/javascript">
  function chkform(f) {
    if (f.msg.value.indexOf('<a ')>0) {
      alert('aja baja, inte spamma');
      return false;
    }
    return true;
  }
</script>
<!-- Ditt formulär -->
<form ... onsubmit="return chkform(this);">
...
</form>

//EDIT//
too slow... ;)


Svara

Sv: Spärra text i gästbok?

Postades av 2006-10-24 20:25:03 - Daniel Melin

skillnaden på våra exempel är: hans går att gå förbi om man stänger av javascript.. :P

men vi har byggt på samma princid - javascript functionen indexOf

[edit]
(han har rätt i att mitt inte postas alls om javas. är avstängt)
[/edit]


Svara

Sv:Spärra text i gästbok?

Postades av 2006-10-24 20:26:52 - Stefan Brännström

ja... och Daniels postas inte alls om man stänger av javascript... ;)
...använder du mitt exempel bör du köra en validering på serversidan med...

Använder du Daniels exempel så kanske du skall lägga till ett mellanslag efter '<a' annars stoppar den även t.ex. <abbr>, <acronym>, <address> osv...


Svara

Sv: Spärra text i gästbok?

Postades av 2006-10-24 20:52:04 - Peter Larsson

Finns ingen anledning till att göra kontrollen på klient-sidan med javascript.
Ta bort alla <a> taggar på server-sidan och problemet är borta.
Eller som Stefan sagt, "HTMLEncode".


Svara

Sv:Spärra text i gästbok?

Postades av 2006-10-24 20:59:00 - Stefan Brännström

<b>Ta bort alla <a> taggar på server-sidan och problemet är borta.</b>
nja... jag tror han inte ville att dessa inlägg överhuvudtaget skulle läggas in i databasen... så rättare sagt:
"Spara inga inlägg som innehåller <a>-taggar i databasen och problemet är borta"... ;)

...t.ex:

<%
  If inStr(Request.Form("msg"),"<a ") Then 
    ' Felhantering
    Response.Redirect("fel.asp") ' eller nåt liknande...
  End If
%>

...vidhåller dock fortfarande att:
<info>
Ett ännu bättre sätt är köra HTMLEncode på serversidan... stoppar iofs inte inläggen men gör däremot all HTML-kod ofunktionell... Vill man kunna använda fetstil, bilder, länkar så kan man göra en funktion för BBkod eller nåt liknande...
</info>


Svara

Sv: Spärra text i gästbok?

Postades av 2006-10-24 21:37:20 - André Andersson

Tack det var precis så jag ville ha det, jag visste inte hur man gjorde.

Skrev först såhär:

<code>
If Request.Form("msg") = "<a href" Then
Response.Redirect("gbook.asp")
else

If Request.Querystring("visa") = "save" then
</code>

Tack igen!


Svara

Sv: Spärra text i gästbok?

Postades av 2007-01-09 14:14:33 - Andreas Hillqvist

Du kan ju låta användaren räkna:
<code>
<%@Language="VBScript"%>
<%Option Explicit%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>Untitled Page</title>
</head>
<body>
<%
Sub WriteForm()
Dim A, B, C
A = Fix(2 * Rnd())
B = Fix(10 * Rnd())
C = Fix(10 * Rnd())
%>
<form action="" method="POST">
<p>
<input id="a" name="a" type="hidden" value="<%=A%>" />
<input id="b" name="b" type="hidden" value="<%=B%>" />
<input id="c" name="c" type="hidden" value="<%=C%>" />
<%=B%> <%Array("+", "-")(A)%> <%=C%> = <input id="result" name="result" type="text" /><br />
<textarea id="message" name="message" cols="20" rows="2"><%=Server.HTMLEncode(Request.Form("message"))%></textarea>
<input id="action" name="action" type="submit" value="Skicka" />
</p>
</form>
<%
Function Valid()
Dim A, B, C, Result
A = CInt(Request.Form("a"))
B = CInt(Request.Form("b"))
C = CInt(Request.Form("c"))
Result = Request.Form("result")
If IsNumeric(Result) Then
Select Case A
Case 0
Valid = (Result = (B + C))
Case 1
Valid = (Result = (B - C))
End select
End If
End Function

If Request.Form("action") = "Skicka" Then
If Valid() Then
Response.Write "<h3>Ditt meddelande har lagts till!</h3>"
Else
Response.Write "<h3>Du måste ange rätt tal!</h3>"
WriteForm
End If
Else
WriteForm
End If
%>
</body>
</html>
</code>
Har inte hunit testa/köra koden så det kan finnas buggar/stavfel.


Svara

Nyligen

  • 09:09 Vill du köpa medicinska tester?
  • 12:47 Vem beviljar assistansen – kommune
  • 14:17 Någon med erfarenhet av hemstädnin
  • 14:14 Bör man använda sig av en båtförme
  • 14:12 Finns det någon intressant hundblo
  • 14:25 Tips på verktyg för att skapa QR-k
  • 14:23 Tips på verktyg för att skapa QR-k
  • 20:52 Fungerer innskuddsbonuser egentlig

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 569 169
27 953
271 705
1 439
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies