Сделать файлы cookie для простого членства более безопасными - PullRequest
0 голосов
/ 15 июня 2011

ASP.net Веб-страницы * Стек 1002 * поставляется с простым членством, лучшим объяснением которого является Мэтью Осборна «Использование SimpleMembership ». SimpleMembership - это легковесная система «пользователь / логин / членство», которая позволяет использовать cookie для «входа в систему». Я хотел бы повысить безопасность cookie, сделав так, чтобы cookie был httpOnly и был безопасным (только https) cookie. Как я могу это сделать?

Обновление: @ Дарин Димитров указал, что httpOnly - это только сеанс, а это не то, что я хочу.

Ответы [ 2 ]

1 голос
/ 22 августа 2012

Если это относится к вам, я предлагаю взглянуть на исходный код и посмотреть, как это делается: http://aspnetwebstack.codeplex.com/SourceControl/changeset/view/9c98c6e9a150#src%2fWebMatrix.WebData%2fWebSecurity.cs

Теперь, когда я проверил себя ... :) вот как они выглядят сейчас:

    public static bool Login(string userName, string password, bool persistCookie = false)
    {
        VerifyProvider();
        bool success = Membership.ValidateUser(userName, password);
        if (success)
        {
            FormsAuthentication.SetAuthCookie(userName, persistCookie);
        }
        return success;
    }

    public static void Logout()
    {
        VerifyProvider();
        FormsAuthentication.SignOut();
    }

Где членство предоставляет примерно тот же API, что и System.Web.Security.Membersip - который на самом деле заменяется WebMatrix.WebData.SimpleMembershipProvider при запуске.

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

Надеюсь, это немного поможет. Удачи! :)

1 голос
/ 15 июня 2011

Если вы не используете постоянный файл cookie, это означает, что файл cookie больше не хранится на клиентском компьютере, что отрицательно сказывается на всей функциональности Запомнить меня . HttpOnly куки хранятся в памяти браузера, но только для данного сеанса. В целях повышения безопасности убедитесь, что для файла cookie установлен флаг secure , который указывает, что этот файл cookie будет передаваться только по зашифрованному соединению.

...