webForumDet fria alternativet

Mailformulär kraschar när man fyller i taggar

.NET

7 svar · 1 539 visningar · startad av silfver

Medlem sedan apr. 200312 679 inlägg
Frågan#1

Jag har ett mailformulär med lite textboxar. Alla fält utan fältet med multiline är reglerat med regexp, man kan alltså inte fylla i vad som helst i dem.

Men i fältet för fritext så kan man fylla i vad man vill och kraschar således om man skulle skriva t.ex:

Hejsan! Mitt namn är <strong>daniel</strong>

A potentially dangerous Request.Form value was detected from the client (ctl00$ctl00$ctl00$ContentPlaceHolderDefault$MasterContentPlaceHolder$ctl03$becomeapartner_8$txtBusinessDescription="...t namn är <strong>daniel</stro...").

Hur kan jag göra om jag vill skicka med strängarna fast oformaterade? Går inte det i .net? Måste jag köra regexp på detta fältet också och ta bort taggarna?

Medlem sedan apr. 2005116 inlägg
#2

Detta kanske hjälper.

validateRequest="false"

http://www.asp.net/learn/whitepapers/request-validation

Medlem sedan aug. 20068 090 inlägg
#3

Men oj. Jag kanske missuppfattar, men det där är väl ett riktigt ordentligt "icke-problem"? Vilken användare börjar lägga in html i ett svarsformulär? Och om det faktiskt finns någon enda stolle i världen som skulle komma på idén göra något så totalt onödigt och får det där felmeddelandet, så borde väl vederbörande kunna lista ut varför.

(Och kan han inte lista ut det så vill du inte ha med honom att göra ändå... :) )

Medlem sedan apr. 200312 679 inlägg
#4

budg1e skrev:

Detta kanske hjälper.

validateRequest="false"

http://www.asp.net/learn/whitepapers/request-validation

Ja, den går inaktivera men vill inte tumma på säkerheten. :)

Danne V skrev:

Men oj. Jag kanske missuppfattar, men det där är väl ett riktigt ordentligt "icke-problem"? Vilken användare börjar lägga in html i ett svarsformulär? Och om det faktiskt finns någon enda stolle i världen som skulle komma på idén göra något så totalt onödigt och får det där felmeddelandet, så borde väl vederbörande kunna lista ut varför.

(Och kan han inte lista ut det så vill du inte ha med honom att göra ändå... :) )

Det handlar mer om att om man råkar skriva något konstigt tecken så kraschar hela formuläret. Och det är inte så proffsigt, eller hur? Så det är helt klart ett problem.

Medlem sedan aug. 20068 090 inlägg
#5

silfver skrev:

Det handlar mer om att om man råkar skriva något konstigt tecken så kraschar hela formuläret. Och det är inte så proffsigt, eller hur? Så det är helt klart ett problem.

OK, det var skillnad. Voffo skrev du inte det? Som du skrev först verkade det som om du siktade uteslutande på att någon skulle använda html.

Det finns väl en hel del vanliga formulärsvalideringar som bl.a. letar efter udda tecken och ger ett meddelande till användaren om h*n skulle ha lagt in något sådant.

De jag sett kollar att användaren skriver a-z, 0-9 och bindestreck eller underscore men protesterar mot alla andra tecken. Det finns säkert motsvarande som även inkluderar svenska tecken i de godkända.

Medlem sedan apr. 200312 679 inlägg
#6

Ja, det är nåt regexp jag är inne på också. Men samtidigt känns det enklaste att bara skicka med ALLT som står i formulärfältet men skicka det helt oformaterat. Men .net verkar inte gå med på det. :)

Medlem sedan nov. 20014 054 inlägg
#7

silfver skrev:

Ja, det är nåt regexp jag är inne på också. Men samtidigt känns det enklaste att bara skicka med ALLT som står i formulärfältet men skicka det helt oformaterat. Men .net verkar inte gå med på det. :)

Ja ett alternativ är att sätta en regex-validation som kollar efter < > , alternativt nyttja javascript och innan postningen utförs låter man javascript konvertera om < och > till deras respektiv html-kodning & gt; och & lt;

Medlem sedan juli 2003555 inlägg
#8

Sätt validateRequest till false, sedan filtrera på server. Det är det enda som fungerar.

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