Как отбросить/отбросить Запрос в ASP.NET?

Вы можете сделать это с другим html-элементом внутри одного фонового изображения.

// has your background image
// will have the gradiant style

CSS

.gradient {
  background: linear-gradient( rgba(255,255,255,0.23) 0%, rgba(164,49,34, .85) 100%);
}

Вот пример Fiddle

  • Обратите внимание, я просто упростил градиент CSS. Сохраняйте свой стиль.

Подумайте, как вы используете тег body, как в настоящее время. Вы должны убедиться, что div внутри (с градиентом) расположен непосредственно над другим div. Может быть, вы должны сделать что-то вроде

.parent {
  // The element with the image
  position: relative;
}

.child {
  // the element with the gradient
  position absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
}

6
задан Waleed Eissa 10 November 2008 в 13:27
поделиться

8 ответов

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

Почему использование модуль вместо обработчика? HTTP-модуль называют ранее в конвейере запроса. Для подобных помещенных в черный список запросов Вы хотите отбросить запрос максимально рано и быстро. Это означает, чем ранее в запросе можно отбросить запрос, тем лучше.

Можно читать немного больше о Модулях по сравнению с Обработчиками здесь.

4
ответ дан 9 December 2019 в 20:50
поделиться

Возможно, Вы могли использовать

Response.Clear();
Response.End();
3
ответ дан 9 December 2019 в 20:50
поделиться

Править: Это могло бы быть лучше реализовано как HTTPModule вместо обработчика, но основная идея сохраняется. Дополнительную информацию см. в http://www.kowitz.net/archive/2006/03/08/ihttpmodule-vs-ihttphandler.aspx


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

Код Psudo - не протестированный

class IgnoreHandler : IHttpHandler
{
    #region IHttpHandler Members

    public bool IsReusable
    {
        get { return true; }
    }

    public void ProcessRequest(HttpContext context)
    {
        context.Response.Clear();
        context.Response.StatusCode = 401;
        context.Response.Status = "Unauthorized";
        context.Response.End();
    }

    #endregion
}

Очевидно, если Вы хотите, чтобы это возвратило HTTP 200 (хорошо) и пустую страницу, просто удалите эти две строки, относящиеся к StatusCode и Состоянию.

И затем зарегистрируйте его в web.config

<httpHandlers>
    <add verb="*" 
         path="*" 
         validate="false" 
         type="MyNamespace.IgnoreHandler, MyAssembly" />
</httpHandlers>
2
ответ дан 9 December 2019 в 20:50
поделиться

Моя первая мысль была что предложенный John. Наиболее идеальное решение состояло бы в том, чтобы добавить, что они дюйм/с к списку заблокированного дюйм/с в Вашем брандмауэре, если у Вас есть доступ к нему, тот путь Ваше приложение, не должны делать никакой обработки вообще.

2
ответ дан 9 December 2019 в 20:50
поделиться

Я предложил бы, чтобы лучшее решение не состояло в том, чтобы дать определенное "никакой ответ", но дать более обескураживающее стандартное сообщение ошибки HTTP. Каждый раз, когда я пытаюсь обескуражить неавторизованных пользователей, я выпускаю страницу/URL, не найденную сообщением следующим образом:

throw new HttpException(404, "File not found - " + Request.AppRelativeCurrentExecutionFilePath);

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

0
ответ дан 9 December 2019 в 20:50
поделиться

Можно хотеть взглянуть на этот http://www.angrypets.com/tools/rdos/, который делает подобную вещь к тому, что Вы говорите о по подобным причинам, и реализован как модуль.

0
ответ дан 9 December 2019 в 20:50
поделиться

Другой раздражающий, но простой способ сделать это состоял бы в том, чтобы Спать запрос на обескураживающее количество времени прежде, чем закрыть его.

0
ответ дан 9 December 2019 в 20:50
поделиться

AFAIK там не является никаким путем к прямому отбрасыванию запрос без ответа. Можно сохранить запрос, вращающийся в ASP.NET с любым потоком, спя техника, которую Вы любите, но Вы не делаете жизнь лучше для Вашего сервера тем путем.

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

0
ответ дан 9 December 2019 в 20:50
поделиться
Другие вопросы по тегам:

Похожие вопросы: