На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
  
> A potentially dangerous Request.Form
    Получил месседж...
    Цитата
    A potentially dangerous Request.Form value was detected from the client (ctl13$txtMessage="<h1>Hello, world1</h...").
    Description: Request Validation has detected a potentially dangerous client input value, and processing of the request has been aborted. This value may indicate an attempt to compromise the security of your application, such as a cross-site scripting attack. You can disable request validation by setting validateRequest=false in the Page directive or in the configuration section. However, it is strongly recommended that your application explicitly check all inputs in this case.

    Exception Details: System.Web.HttpRequestValidationException: A potentially dangerous Request.Form value was detected from the client (ctl13$txtMessage="<h1>Hello, world1</h...").

    Ничто не мешает отключить эту валидацию... ибо задалбывает... с другой стороны - может она иногда и полезна бывает, как вы считаете, господа?
      Забить на валидацию безопасно до тех пор, пока ты это не соберешься вывести введенную юзверем строчку на экран в первозданном виде, не пропуская через HttpUtility.HtmlEncode. А отключить ее можно как на уровне страницы, так и глобально. На самом деле ИМХО надо отключать. Меня бы, как юзера напрягала невозможность вводить символы < >
        Цитата Uncle_Bob @
        Меня бы, как юзера напрягала невозможность вводить символы < >

        Да и недружелюбно как-то, когда на твою попытку изобразить модный ник, браузер выкидывает белую страничку с жёлтым фоном... Надо обрабатывать руцями дыры подобные... хотя геморойно... иногда можно и неуследить.
          Цитата Budda @
          иногда можно и неуследить.

          Надо просто за правило взять, все что выводится на страничку из базы, пропускать через HtmlEncode. Независимо от того, как оно в базу попадает... Тогда за всем уследишь :)

          Добавлено
          Цитата Budda @
          Да и недружелюбно как-то, когда на твою попытку изобразить модный ник, браузер выкидывает белую страничку с жёлтым фоном...

          И очень информативным сообщением :lol:
            Цитата Uncle_Bob @
            все что выводится на страничку из базы, пропускать через HtmlEncode

            из базы? Но почему не наоборот? Чем грозит выкладывание на страничку незаенкоденных данных?
              Цитата Budda @
              Чем грозит выкладывание на страничку незаенкоденных данных?

              как вариант там может быть JS скрипт который получает кукие и пр.
                Цитата kosten @
                как вариант там может быть JS скрипт который получает кукие и пр.

                Так может стоить енкодить данные перед сохранением в БД?
                  Цитата Budda @
                  Так может стоить енкодить данные перед сохранением в БД?

                  конечно, ведь там может быть запрос который вызовет SQL-инъекцию.
                    А... т.е. и одно, и другое... ясно. Но насчёт инъекции... если делать гармотные запросы (с плэйхолдерами), то инъекция не проконает ведь... ?
                      Budda
                      запросы лучше делать через хранимые процедуры.
                        У меня мускуль 3й... :(
                          Да, в одну сторону надо проверять на предмет SQL инъекции, в другую - JS инъекции. Кстати, через JS можно запостить троянчика, запросто.
                            Если проверять На JS-инъекцию, то тогда уж проверять при сохранении данных в БД... Потом ведь можно и не проверять более... или вы бы при выводе тоже проверяли , да? Но почему?
                              ИМХО в базе дешевле хранить <> чем & gt; & lt;

                              Второй вариант. Кто-то получил несанкционированный доступ к базе и подложил туда того же трояна :)
                                охохо.. не ... он же тогда и скрипты может "поправить"... правда к базе доступ проще получить, чем к сорцам...
                                  В общем, пропуская все "сомнительные" строки через HtmlEncode, ты гарантируешь себе безопасность по линии JS инъекций.
                                  0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                                  0 пользователей:


                                  Рейтинг@Mail.ru
                                  [ Script execution time: 0,0803 ]   [ 17 queries used ]   [ Generated: 28.03.24, 13:43 GMT ]