今天bbs出故障解决一例!

今天一到单位,报告bbs无法登录,所有内容的页面都无法显示。查看bbs日志没有发现异常改动,查阅服务器日志,发现报告发下错误:您运行的 Microsoft SQL Server 2000 版本或 Microsoft SQL Server 2000 Desktop Engine (也称为 MSDE) 和 Microsoft Windows Server 2003 家族使用时存在已知的安全弱点。为了减少计算机被某些病毒的攻击,Microsoft SQL Server 2000,MSDE 或 两者的 TCP/IP 和 UDP 网络端口被禁用。要启用这些端口,您必须从 www.microsoft.com/sql/downloads/default.asp或www.microsoft.com/china/sql/downloads/default.asp安装一个修补程序, 或 Microsoft SQL Server 2000 或 MSDE 的最新服务包。 有关更多信息,请参阅在 go.microsoft.com/fwlink/events.asp 的帮助和支持 

可是我已打过sql 2000 sp4的补丁了,用“netstat –an”查看1433端口是否打开。 检查后发现端口是打开,sql检查也很正常!这是什么原因呢?

从错误可以看出,问题出来这行代码上:if int(Expires)>0 then Response.Cookies(Key).Expires = date+Expires            ’date这里就函数date(),Expires值是9999

Expires 指定 cookie 的过期日期。为了在会话结束后将 cookie 存储在客户端磁盘上,或在许多时候,我们希望能更长时间地在访问者的计算机上保存cookie。必须设置该日期。
若此项属性的设置未超过当前日期,则在任务结束后所有cookie变量将到期无效,从CON.ASP和COOKIES.ASP中都能找出 EXPiRES值被设成了9999天,最终时间超过系统规定的了2038年1月19日
也是就越界了,笔者认为改成一年,半年,三个月,或一月,一周,一天,几小时这样的灵活多变的形式会更好,在登陆时带个多项选项框来选择就行了。
目前我们可以根据自己要求选用下面几种改法中任何一种就能正常了:
if int(Expires)>0 then Response.Cookies(Key).Expires = date+365  '一年后过期
if int(Expires)>0 then Response.Cookies(Key).Expires = date+30    '30天后过期
if int(Expires)>0 then Response.Cookies(Key).Expires = date+7      '七天后过期
if int(Expires)>0 then Response.Cookies(Key).Expires = DateAdd("h", 1, Now())    '1小时后过期
if int(Expires)>0 then Response.Cookies(Key).Expires = DateAdd("n",30,now())        '30分钟后过期

主要是 修正COOKIE保存时间超出2038年引起的问题
- BBSXP_Class.asp 文件中第193行添加 if int(Expires) > 365 then Expires=365
自行在193行添加if int(Expires) > 365 then Expires=365
其他版本 或 修改后的版本 请用记事本打开 BBSXP_Class.asp
找到:if int(Expires)>0 then Response.Cookies(Key).Expires = date+Expires
改为:if int(Expires) > 365 then Expires=365
if int(Expires)>0 then Response.Cookies(Key).Expires = date+Expires

本文出自 “浮云游子” 博客,谢绝转载!

你可能感兴趣的:(职场,休闲,bbsxp)