Cookie аутентификации ASP.NET, не удаляя после Firefox закрывается

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

По существу цветная гистограмма получит цветное распределение изображения. Это может тогда быть по сравнению с другим изображением, чтобы видеть, соответствуют ли цветные дистрибутивы.

Этот тип соответствия довольно эластичен к масштабированию (как только гистограмма нормализована), и вращение/смещение/перемещение и т.д.

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

Гистограммы были бы просты для генерации себя (предположение, что можно получить доступ к пиксельным значениям), но если Вы не чувствуете себя подобно ему, , библиотека OpenCV является большим ресурсом для того, чтобы сделать этот вид материала. Здесь презентация PowerPoint, которая показывает Вам, как создать использование гистограммы OpenCV.

5
задан Tony 29 October 2009 в 17:56
поделиться

5 ответов

Спасибо за советы, ребята, но я уверен, что закрываю браузер, и окна, связанные с Firefox, больше не открываются.

Читая это , кажется, что это поведение браузера по умолчанию, выбранное разработчиками Firefox 3 ...

Кажется, он сохраняет на диске файлы cookie, предназначенные для хранения в оперативной памяти, для восстановления вкладок, когда вы снова открываете браузер. Поэтому, если вы хотите удалить сеанс, вам нужно закрыть все вкладки, а затем браузер ...

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

2
ответ дан 14 December 2019 в 01:10
поделиться

Вместо того, чтобы полагаться на Mozilla или другие браузеры, я бы порекомендовал вам использовать этот код для удаления файлов cookie:

if (Request.Cookies["UserSettings"] != null)
{
    HttpCookie myCookie = new HttpCookie("UserSettings");
    myCookie.Expires = DateTime.Now.AddDays(-1d);
    Response.Cookies.Add(myCookie);
}

Для получения дополнительной информации по этой теме: Как: Удалить cookie

Изменить:

Если вы хотите удалить файлы cookie во время выгрузки страницы, вы можете использовать Javascript для этого:

<html>
<head>
  <title></title>
  <script type="text/javascript">
   function deleteCookie()
   {
     var d = new Date();
     document.cookie = "v0=1;expires=" + d.toGMTString() + ";" + ";";
     alert(document.cookie);
   }

  </script>
</head>

<body onunload="deleteCookie()">
...

</body>
</html>

Я думаю, что в вашей ситуации Javascript - лучшее решение.

1
ответ дан 14 December 2019 в 01:10
поделиться

Just a wild guess: make sure you haven't got the FireFox Downloads window still open...

0
ответ дан 14 December 2019 в 01:10
поделиться

Вы закрываете браузер или только одну вкладку? Вам нужно закрыть весь браузер. Если у вас открыто несколько окон браузера верхнего уровня, все они должны быть закрыты. Также,

4
ответ дан 14 December 2019 в 01:10
поделиться

Я бы сделал что-то вроде этого:

#!/bin/bash
trap : SIGTERM SIGINT

echo $$

find / >/dev/null 2>&1 &
FIND_PID=$!

wait $FIND_PID

if [[ $? -gt 128 ]]
then
    kill $FIND_PID
fi

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

Затем

11757] Команда find выполняется в фоновом режиме (с точки зрения сценария), и мы вызываем встроенную функцию wait для ее завершения. Поскольку мы дали реальную команду trap выше, когда сигнал обрабатывается, wait завершит работу со статусом больше 128. Если процесс wait ed для завершения, wait вернет статус завершения этого процесса.

Last , если wait возвращает это состояние ошибки, мы хотим убить дочерний процесс. К счастью, мы сохранили его PID. Преимущество этого подхода в том, что вы можете записать сообщение об ошибке или иным образом определить, что сигнал вызвал завершение работы сценария.

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

Чтобы trap работал так, как вы хотите, вам нужно связать его с wait - на странице руководства bash указано: " t используйте файлы cookie, используйте сеанс для хранения аутентифицированного пользователя, а ASP.NET будет управлять файлом cookie сеанса за вас, он работает с FireFox и является более безопасным.

Но если вы хотите продолжить использование этого файла cookie аутентификации, поместите код в удалить его в событии Global.asax Session_Start.

protected void Session_Start(object sender, EventArgs e)
{
    HttpContext.Current.Request.Cookies.Remove(FormsAuthentication.FormsCookieName);
}
1
ответ дан 14 December 2019 в 01:10
поделиться
Другие вопросы по тегам:

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