关于网站注册程序的一个设计问题,郁闷了好久了,请热心人给个答案! 写一个cookie到注册人的临时文件夹里,每当点击下一步时在cookies里追加信息,当点击提交时,读取cookies内容并保存到数据库,同时删除cookies文件 只是一种方法 仅供参考 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 把所有数据 写到一个 MAP 然后把MAP 存入CACHE 感觉不错 很想请教一下LS的具体是如何实现?如果是我开发的话,我就保存在session中,写数据库之后,清理掉session.一点愚见. 为什么总感觉session 不稳定呢,容易丢失吧?!而且session 不容易实现负载均衡吧?3楼的做法难道是将临时信息写到ehcache中? 1 放在session 里面,编程容易,安全性也好控制,毕竟每一步保存进session的都是验证过的2 放在cookie里面,可以节省有限的内存,因为cookie有存储限制的。3 放在request里面?没想过,呵呵,累人又不安全cookie和request页面都是可以伪造的,所以还是服务器端保存验证后的结果比较稳妥。建议,保存session里面,而且以整体对象形式保存,不要每个注册数据单独保存。<%User userNew = (User)session.getAttribute("userNew");if(userNew==null){ // 返回注册的第一页 // 或者 userNew = new userNew(); session.setAttribute("userNew",userNew);}...%> 有一个更牛的想法,把这些注册页面写进一个jsp,只是用不同的div来显示,点击下一步只是隐藏相应的div,这样的话岂不是都不用存了? session 和DIV(7楼)的办法都可以! 用javascript,点击下一步,不刷新页面,就把刚填过的信息隐藏,在把新需要填写的信息显示。 完善老紫竹1 放在session 里面,编程容易,安全性也好控制,毕竟每一步保存进session的都是验证过的,且现在最便宜的就是内存,可能会占用过多的服务器内存?(你的网站一分钟会注册多少人啊?再牛鼻的网站也不可能因为注册而耗尽内存,更何况你的注册信息其实是非常之小的)2 放在cookie里面,可以节省有限的内存,因为cookie有存储限制的。 (这个方法有待考虑,不是不可行,经过写cookie这一步,写session比写cookie快多了,而且cookie的大小限制,更何况也没几个人这样用,最多用来存用户名和口令)3 放在request里面?(你每一个页面都要从当前页面中将所有数据取出来,经过action处理后,传到下一个页面中,再取出,再传,累不累?) 再者如果用户不完成注册就结束,你可以将session的时间设小,10分钟足够注册完了,你的网站10分钟,不会有10000人注册吧?那你担心什么!4 div隐藏,也是不错的想法<div id="div1" style="display:block"><input ...></div><div id="div2" style="display:none"><input ...></div>不过页面要非常复杂和非常大了! 谢谢大家!不过俺最后采用的还是放到request里。放到request里面尽管会造成每个页面都加上一些隐藏字段,但后台采用了struts2.0的model driven 模式,所以不用每个action都定义一大堆属性。还好呵呵。不过有人说不够安全,这个我也正在考虑请问一下大家能详细讲讲这种方式的不安全之处嘛 tomcat集群session共享问题,高手求解 今天的面试题,请高人指教 可以用JAVA+SQL来开发ERP吗? jsp的问题 急招java/j2ee开发及测试工程师! 开发时什么时候确定前端页面? spring和ibatis结合时的事务问题 这句话如何解释? JASPERREPORT 套打 数据丢失 救命贴 token获取之后的问题 如何开发项目 简单点说!求pet store或者jive的下载地址(分不够可再另开贴加分)
如果是我开发的话,我就保存在session中,
写数据库之后,清理掉session.一点愚见.
而且session 不容易实现负载均衡吧?3楼的做法难道是将临时信息写到ehcache中?
2 放在cookie里面,可以节省有限的内存,因为cookie有存储限制的。
3 放在request里面?没想过,呵呵,累人又不安全cookie和request页面都是可以伪造的,所以还是服务器端保存验证后的结果比较稳妥。建议,保存session里面,而且以整体对象形式保存,不要每个注册数据单独保存。
<%
User userNew = (User)session.getAttribute("userNew");
if(userNew==null){
// 返回注册的第一页
// 或者
userNew = new userNew();
session.setAttribute("userNew",userNew);
}
...
%>
1 放在session 里面,编程容易,安全性也好控制,毕竟每一步保存进session的都是验证过的,且现在最便宜的就是内存,可能会占用过多的服务器内存?(你的网站一分钟会注册多少人啊?再牛鼻的网站也不可能因为注册而耗尽内存,更何况你的注册信息其实是非常之小的)
2 放在cookie里面,可以节省有限的内存,因为cookie有存储限制的。 (这个方法有待考虑,不是不可行,经过写cookie这一步,写session比写cookie快多了,而且cookie的大小限制,更何况也没几个人这样用,最多用来存用户名和口令)
3 放在request里面?(你每一个页面都要从当前页面中将所有数据取出来,经过action处理后,传到下一个页面中,再取出,再传,累不累?) 再者如果用户不完成注册就结束,你可以将session的时间设小,10分钟足够注册完了,你的网站10分钟,不会有10000人注册吧?那你担心什么!4 div隐藏,也是不错的想法
<div id="div1" style="display:block"><input ...></div>
<div id="div2" style="display:none"><input ...></div>
不过页面要非常复杂和非常大了!
不过俺最后采用的还是放到request里。
放到request里面尽管会造成每个页面都加上一些隐藏字段,但后台采用了struts2.0的model driven 模式,所以不用每个action都定义一大堆属性。还好呵呵。不过有人说不够安全,这个我也正在考虑
请问一下大家能详细讲讲这种方式的不安全之处嘛