33 lines
1.0 KiB
C#
33 lines
1.0 KiB
C#
using System;
|
|
|
|
namespace CookieMonster
|
|
{
|
|
public class CookieValue
|
|
{
|
|
public string Browser { get; set; }
|
|
|
|
public string Name { get; set; }
|
|
public string Value { get; set; }
|
|
public string Domain { get; set; }
|
|
|
|
public DateTime LastAccess { get; set; }
|
|
public DateTime Expires { get; set; }
|
|
|
|
public bool IsValid
|
|
{
|
|
get
|
|
{
|
|
// sanity check. datetimes are stored weird in each cookie type. make sure i haven't converted these incredibly wrong.
|
|
// some early conversion attempts produced years like 42, 1955, 4033
|
|
var _5yearsPast = DateTime.UtcNow.AddYears(-5);
|
|
if (LastAccess < _5yearsPast || LastAccess > DateTime.UtcNow)
|
|
return false;
|
|
// don't check expiry. some sites are setting stupid values for year. eg: 9999
|
|
return true;
|
|
}
|
|
}
|
|
|
|
public bool HasExpired => Expires < DateTime.UtcNow;
|
|
}
|
|
}
|