webForumDet fria alternativet

Tillåt endast speciella HTML taggar

ASP

5 svar · 277 visningar · startad av Wickmark

Medlem sedan juli 2003162 inlägg
Frågan#1

Hur skriver jag en funktion som ersätter < och > på taggar som inte tillåts, och hoppar över de som tillåts.

Typ:
(Ingen fungerande kod)

<%
dim TILLATNA
dim ICKE_TILLATNA
dim strChk

  Function chkHTML(strChk)
    TILLATNA = "font, p, b, hr, i, dd" 'etc...
    ICKE_TILLATNA = "embed, meta, object" 'etc....

    strChk = Replace(ICKE_TILLATNA,"<","&lt;")
    strChk = Replace(ICKE_TILLATNA,">","&rt;")

  end function
%>

...

<%=chkHTML(RecSet("Inlagg"))%>

denna koden är bara en typ 'ritning'. Hoppas ni förstår!
Så, ni får klart skriva om hela koden från topp till tå :)

Hur ska jag göra ? Vad är koden?

Väldigt tacksam för ett svar; har letat som besatt :e

MVH
Wickmark

Medlem sedan juli 20033 147 inlägg
#2

Bara att göra en enkel funktion:

Function textEncode(str)
  str = Replace(str, "<table>", "inte tillåtet")
  str = Replace(str, "<tr>","inte tillåtet")  textEncode = str
End Function

textEncode(RecSet("inlagg"))

Allt som inte står där funkar alltså att skriva..

Mvh

Medlem sedan maj 200010 687 inlägg
#3

En funktion som endast släpper igenom tillåten HTML.

Function BlockUnAllowedHTML(ByVal sStr)
	Dim vAllowedHTML, i, objRegExp
	vAllowedHTML = Array("b", "u")
	
	sStr = Server.HTMLEncode(sStr & "")
	
	Set objRegExp = New RegExp
	objRegExp.IgnoreCase = True
	objRegExp.Global = True
	
	For i = 0 To UBound(vAllowedHTML)
		objRegExp.Pattern = "&lt;(" & vAllowedHTML(i) & ")&gt;([\s\S]*?)&lt;/(" & vAllowedHTML(i) & ")&gt;"
		sStr = objRegExp.Replace(sStr, "<$1>$2</$3>")
		objRegExp.Pattern = "&lt;(" & vAllowedHTML(i) & ".*?)&gt;([\s\S]*?)&lt;/(" & vAllowedHTML(i) & ")&gt;"
		sStr = objRegExp.Replace(sStr, "<$1>$2</$3>")
	Next 'i
	
	Set objRegExp = Nothing
	
	BlockUnAllowedHTML = sStr
End Function

Response.Write BlockUnAllowedHTML("<b>fdmkbfd</b><strong>foo</strong><u>vfdmkkf</u>")
Medlem sedan maj 200010 687 inlägg
#4

Det är lite osmidigt att behöva skriva ner alla taggar som inte accepteras. Smidigare att skriva de som ska accepteras.

Och att ange både tillåtna taggar och icke tillåtna blir muppigt. Hur ska de taggar som inte finns med i någon av listorna behandlas?

Medlem sedan juli 20033 147 inlägg
#5

Så går också o göra :e

Medlem sedan juli 2003162 inlägg
#6

Erik Juhlin skrev:

Det är lite osmidigt att behöva skriva ner alla taggar som inte accepteras. Smidigare att skriva de som ska accepteras.

Och att ange både tillåtna taggar och icke tillåtna blir muppigt. Hur ska de taggar som inte finns med i någon av listorna behandlas?

Hehehe, jag tänkte precis på det efter jag hade stängt ner datorn :stud

Om man skulle använda ungefär samma system jag gav i exemplet, skulle man ju behöva skriva in precis alla HTML taggar som finns :)

Tack så mycket för din hjälp! :e

280 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
147 ms — deklarationer (db)
0 ms — hämta statistik (cache)
131 ms — hämta tråd, inlägg och bilagor (db)
143 ms — ändringar (db)