Валидация опасна: получить значение текстовой области - PullRequest
1 голос
/ 23 марта 2011
<%@ Page Language="C#" 
  ValidateRequest="false" 
  MasterPageFile="~/PersonPage/ConfigPersonalPage.master" 
  AutoEventWireup="true"
  CodeFile="ConfighPropertise.aspx.cs" 
  Inherits="PersonPage_ConfighPropertise" %>

<textarea style="width:850px;height:500px" 
   id="txtEnterProject"  
   name="txtEnterProject"></textarea><br />

   var a= $("#txtEnterProject").val()

если a == 'a' ошибки нет

но

если a = <p>a</p>, то ошибка:

`error:HttpRquestValidationException:A potentially dangerous...  `

asp.net '3,5'

1 Ответ

1 голос
/ 23 марта 2011

ASP.NET не нравится размещать HTML по умолчанию:

HttpRquestValidationException: Исключение, которое генерируется при получении потенциально вредоносной входной строки от клиента как части данных запроса. Например, HTML или скрипт.

Это сделано для того, чтобы пользователи не могли публиковать вредоносный код в вашем приложении.

если ваше приложение работает в доверенной среде , например в интрасети , вы можете добавить правило:

 <pages validateRequest=”false” />

в вашу (asp.net 2.0, 3.5) веб-конфигурацию, чтобы избежать этого исключения, или для (4.0 веб-сайтов):

<httpRuntime requestValidationMode=”2.0″ />

подробнее здесь ...

для других сред (например, для всего интернета) не отключайте это , но проверяйте и переформатируйте ваши postbackdata действительными для сервера способами.

подробнее здесь ...

образец:

2,0 / 3,5

<configuration>
 ....
    <pages validateRequest="false">
    </pages>
 ....
 </configuration> 

4,0

<configuration>
....
  <system.web>
    <httpRuntime requestValidationMode="2.0" />
   </system.web>
   <pages validateRequest="false">
   </pages>
....
</configuration> 
...