Неверная ошибка обратной передачи: веб-формы для маркетологов - PullRequest
1 голос
/ 25 февраля 2012

мы используем веб-формы для маркетологов для форм посадочных страниц и форм событий. Но мы продолжаем получать эту общую ошибку:

Неверный аргумент обратной передачи или обратного вызова. Проверка события включена с использованием в конфигурации или <% @ Page EnableEventValidation = "true"%> на странице. В целях безопасности эта функция проверяет, что аргументы для обратной передачи

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

Но мы многое получаем. означает ли это, что много раз вводились недопустимые символы?

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

спасибо заранее.

1 Ответ

1 голос
/ 25 февраля 2012

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

Вы можете проверить, какие значения были отправлены, используя форму, например:

protected override NameValueCollection DeterminePostBackMode()
{
    try
    {
        return base.DeterminePostBackMode();
    }
    catch(HttpRequestValidationException exc)
    {
        string formValues = String.Empty;
        foreach (string key in Request.Form.AllKeys)
        {
            formValues += key + "=" + Request.Form[key] + "\n";
        }
        Log("HttpRequestValidationException for form values:\n" + formValues);
        throw exc;
    }
}

EDIT:

В некоторых случаях может помочь добавление requestValidationMode="2.0" к тегу <httpRuntime ..> в web.config .

...