1.由MSDN:若要使用 ViewState 属性,ASP.NET 网页必须有一个服务器窗体元素 (<form runat="server">)。
我用VIEWSTATE存储: ViewState["test"] = "this is viewstate";
string v = (string)ViewState["test"];
Response.Write(v);
然后读取视图.如果读取服务器控件如Label1不用Label1.text的方法,有没有用viewstate方法读取(ASPX运行后,runat="server"的控件都有生成viewstate自动维护,是不是这样?)
2.在不知道viewstate里面存储哪些变量时,可不可以遍历viewstate保存的内容?3 Response.Cookies["usercookie"].Value = username.Text.ToString();
Response.Cookies["usercookie"].Expires = DateTime.Now.AddDays(Convert.ToInt32(sdate.SelectedItem.Value)); Response.Write(Request.Cookies["usercookie"].Value.ToString())
我这样写COOKIE和读COOKIE,但我看到别人的程序有对COOKIE加票据一类的加密过程,请问这样的方法不够安全吗?(指在不把密码存在COOKIE里,那样安不安全?)
我用VIEWSTATE存储: ViewState["test"] = "this is viewstate";
string v = (string)ViewState["test"];
Response.Write(v);
然后读取视图.如果读取服务器控件如Label1不用Label1.text的方法,有没有用viewstate方法读取(ASPX运行后,runat="server"的控件都有生成viewstate自动维护,是不是这样?)
2.在不知道viewstate里面存储哪些变量时,可不可以遍历viewstate保存的内容?3 Response.Cookies["usercookie"].Value = username.Text.ToString();
Response.Cookies["usercookie"].Expires = DateTime.Now.AddDays(Convert.ToInt32(sdate.SelectedItem.Value)); Response.Write(Request.Cookies["usercookie"].Value.ToString())
我这样写COOKIE和读COOKIE,但我看到别人的程序有对COOKIE加票据一类的加密过程,请问这样的方法不够安全吗?(指在不把密码存在COOKIE里,那样安不安全?)
解决方案 »
- 客户如果不满意,则弹出对话框,让他填写不满意的原因
- 请教asp.net中js选中数据行,点击上移和下移按钮进行排序
- 单击TEXTBOX触发Calendar控件的显示
- vs2005 连接SQLSERVER2005 ,失败()急
- 急急,在VS2005中如何用SQL实现分页啊
- 请教个微软树(2003)的问题??
- 问个关于Global.asax的问题
- datagrid的两个问题!
- 急啊!!!在线等待!!解决就给分!!
- 如何实现在客户端点击一个按钮来下载文件(word,pdf,excel),而不是打开此文件
- ASP.NET初学者+菜鸟遇到大问题!!!!!
- asp.net初学者问一个OnItemCommand问题
怎么计算ASP。NET页面运行时间?
我在page_init里算开始,在page_render算结束的,
结果render里没输出来结果来
FormsAuthenticationTicket ticket=new FormsAuthenticationTicket(
1,userName.Text,DateTime.Now,DateTime.Now.AddMinutes(30),
false,Request.UserHostAddress);
//将票据加密
string authTicket=FormsAuthentication.Encrypt(ticket);
//将加密后的票据保存为cookie
HttpCookie coo=new HttpCookie(FormsAuthentication.FormsCookieName,authTicket);
//使用加入了userdata的新cookie
Response.Cookies.Add(coo); 下面是FormsAuthenticationTicket构造函数的重载之一的方法签名
public FormsAuthenticationTicket(
int version,
string name,
DateTime issueDate,
DateTime expiration,
bool isPersistent,
string userData
); 参数
version
版本号。
name
与身份验证票关联的用户名。
issueDate
Cookie 的发出时间。
expiration
Cookie 的到期日期。
isPersistent
如果 Cookie 是持久的,为 true;否则为 false。
userData
将存储在 Cookie 中的用户定义数据 使用userdata也很简单,FormsIdentity的Ticket属性就提供了对当前票据的访问,获得票据后就可以用UserData属性访问保存的信息,当然是经过解密的。
((System.Web.Security.FormsIdentity)this.Context.User.Identity).Ticket.UserData
我看到的就是这种加密Forms验证在内部的机制为把用户数据加密后保存在一个基于cookie的票据FormsAuthenticationTicket中,因为是经过特殊加密的,所以应该来说是比较安全的。而.net除了用这个票据存放自己的信息外,还留了一个地给用户自由支配,这就是现在要说的UserData。这句话的意思也就是说我没多大必要用这么复杂的加密方式做了,如果要提高安全性,直接不用这种COOKIE就是了