---
title: "Frågor om hur man gör sina sidor säkrare..."
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/41987-frågor-om-hur-man-gör-sina-sidor-säkrare"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "LearningASP"
published: "2002-04-18T18:59:26.000Z"
updated: "2002-04-19T19:19:12.000Z"
replies: 8
views: 524
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/asp/41987-frågor-om-hur-man-gör-sina-sidor-säkrare"
---

# Frågor om hur man gör sina sidor säkrare...

## #1 — LearningASP, 2002-04-18T18:59Z

Jag har lite frågor ang säkerhet på ASP-sidor...

Jag undrar hur man kan hindra användare att kunna lägga kod som kan köras på servern genom att posta kod i ett formulär?

även om  man kunde få lite tips allmänt för att höja säkerheten..

Tack så mycket på förhand

Jonas

Permalänk: https://www.webforum.nu/p/41987

## #2 — @nders, 2002-04-18T19:12Z

För att förhindra att javascript-kod körs om det postas i ett formulär, kan du alltid använda Server.HTMLEncode när du visar upp datan.

```
Response.write Server.HTMLEncode (strText)
```

För att öka säkerheten kan man alltid köra med NT-inloggning och se till att man alltid har installerat de senaste patcharna till IIS.

Mvh

Permalänk: https://www.webforum.nu/p/649008

## #3 — LearningASP, 2002-04-19T07:14Z

Jag har hört att man ska köra Replace() på ' 
men kan användare skicka ASP-kod i formulär och förstöra mha det?

MVH

Jonas

Permalänk: https://www.webforum.nu/p/649231

## #4 — @nders, 2002-04-19T07:20Z

> Jag har hört att man ska köra Replace() på '

Jo, det skall du göra om du använder SQL-frågor med strängar som kommer från en formulärinmatning. Det är dock inte av säkerhetsskäl i första hand, utan för att ett inmatat '-tecken bryter SQL-frågan och skapar ett fel.

> men kan användare skicka ASP-kod i formulär och förstöra mha det?

Nej, inte om inte du själv bestämt det och exekverar koden mha en metod som ExecuteGlobal el liknande. I standardutförande alltså: Nej.

Mvh,

Permalänk: https://www.webforum.nu/p/649238

## #5 — LearningASP, 2002-04-19T07:25Z

det spelar ingen roll vad man ersätter ' med för tecken eller?

Permalänk: https://www.webforum.nu/p/649239

## #6 — @nders, 2002-04-19T07:44Z

Egentligen gör det inte det, men det allra bästa är att escape:a det endast. Det gör du genom att byta ut en apostrof mot två. Då är strängen korrekt när du plockar ut den ur databasen, utan att du behöver göra några ersättningar. 

Detta är alltså rätt sätt:

```
strSQL = "SELECT * FROM tblTable  WHERE fldField = 'O''Malley'"
```

Om vi utgår i från att namnet *O'Malley* finns i asp-variabeln strName kan vi alltså göra så här:

```
strSQL = "SELECT * FROM tblTable  WHERE fldField = '" & replace(strName, "'", "''") & "'"
```

red: skrev oförståeligt...

Mvh,

Permalänk: https://www.webforum.nu/p/649243

## #7 — LearningASP, 2002-04-19T18:39Z

Jag hittade detta på Micrsoftsida om att kunna förstöra genom att skicka kod i formulär:

Check \<FORM\> and Querystring Input in Your ASP Code 
Many sites use input from a user to call other code or build SQL statements directly. In other words, they're treating the input as valid, well-formed, nonmalicious input. This should not be so; there are a number of attacks where user input is treated incorrectly as valid input and the user could gain access to the server or cause damage. You should always check each \<FORM\> input and query string before passing it on to another process or method call that might use an external resource such as the file system or a database. 

You can perform text checking with the JScript V5 and VBScript V5 regular expression capabilities. The following example code will strip a string of all invalid characters (characters that are not 0-9a-zA-Z or \_): 

Set reg = New RegExp 
reg.Pattern = "\\W+" ' One or more characters which
' are NOT 0-9a-zA-Z or '\_' 
strUnTainted = reg.Replace(strTainted, "") 

The following sample will strip all text after a \| operator: 

Set reg = New RegExp 
reg.Pattern = "^(.+)\\\|(.+)" ' Any character from the start of
' the string to a \| character.
strUnTainted = reg.Replace(strTainted, "$1") 

Also, be careful when opening or creating files by using Scripting File System Object. If the filename is based on the user's input, the user might attempt to open a serial port or printer. The following JScript code will strip out invalid filenames: 

var strOut = strIn.replace(/(AUX\|PRN\|NUL\|COM\\d\|LPT\\d)+\\s\*$/i,"");

The pattern syntax in the Version 5 script engines is the same as that in Perl 5.0. Refer to the V5 scripting engine documentation at <http://msdn.microsoft.com/scripting/default.htm> for further detail and <http://msdn.microsoft.com/workshop/languages/clinic/scripting051099.asp> for examples.

Permalänk: https://www.webforum.nu/p/650082

## #8 — kristoffer, 2002-04-19T18:56Z

Men vad händer om man på asp-sidan skall göra en 

```
objConn.Execute("DELETE FROM tblMytable WHERE fldMyfield = '" & Request.Form("textinput") & "'")
```

och någon skriver  **blabla'; DELETE FROM tblMytable** ?

eller nåt i den stilen

Permalänk: https://www.webforum.nu/p/650097

## #9 — Skarre, 2002-04-19T19:19Z

RED: missförstod frågan.

Permalänk: https://www.webforum.nu/p/650147

---

Tråden på webben: https://www.webforum.nu/amne/asp/41987-frågor-om-hur-man-gör-sina-sidor-säkrare
