日期:2014-05-16  浏览次数:20883 次

asp 程序设计基础问题!
本帖最后由 aqiang566971 于 2014-02-21 22:07:23 编辑
问题1、 两个页面传递参数是否可以使用Session 传递,优缺点是什么!我现在使用的是链接传值方法
 1.asp?aa=11&bb=22

问题2、程序每个页面是否都需要安全检查,检查代码是放到单独页面然后通过<!--#include file="include/opendb.jsp"-->的方法调用,还是直接放到页面中!

现在每个页面是这种方法检查的,是否正确,有没有更好的办法!

<%
If Session("Passed")=false or Session("UserName")="" or Session("GongSiNo")="" then
'验证用户是否登录,如果有用户登录,则根据上个程序可知用户名用
response.write("<script language=javascript>window.top.location.href='../index.htm';</script>")
else
set user_rs=server.createobject("adodb.recordset")
sql="select top 1 caozuoyuan_xm from user_caozuoyuan  where caozuoyuan_xm='"&session("UserName")&"'"
set user_rs = conn.execute(sql)
'user_rs.open sql,conn,1,1
if user_rs.eof and user_rs.bof then
response.write "<script language=JavaScript>" & chr(13) & "alert('对不起,没有这个用户!');" & "history.back()" & "</script>"
response.end
end if
End If 
%>


问题3、用户状态是应该用 Session 存储还是用response.cookies 存储!那种适合做软件 如OA系统 需要用户长时间在线不超时!
------解决方案--------------------
1 可以用Session传递, 优点是数据在服务器端,不会像在url传递那样能被简单的篡改,缺点是占服务器内存,多台机器集群的话,Session同步困难。 可以考虑用数据加密后用Cookie传递的方法,只是增加一点服务器计算的时间。
2 可以include进来,或者用Server.Execute更快一点。 最好写一个MVC框架,直接在一个单一的Cotroller文件中就可以解决的了。 也可以用 IIS Filter 的方式去做,不用每一页都写了。

3 Cookie更适合,数据加密存数即可。