|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
大家可以自己去看一看.可以说看得想呕吐.以前有次下了个动网来看.里面连基本内置函数的保护措施(函数没防御性)都没有.难怪经常补这个补那个了.可能现在.NET版会好点吧一个网站有很多页面,假如用户晓得某个页面的链接,能够在扫瞄器中间接输出url会见它。但这在一个请求有平安性的站点上是不同意的。我们请求用户必需登录今后才干会见各级页面,偶然也的确但愿用户老是先看到站点的主页。这两种请求能够经由过程在asp的global.asa中对session工具编程来完成。
1.用户必需从主页入手下手扫瞄
假如仅但愿用户每次上站都先会见站点主页,能够在session的session_onstart事务中到场response.redirect“url"来完成。比方在global.asa中有以下代码:
subsession―onstart
response.redirect″netdoctor.yeah.net″
endsub
因为用户在会见站点时,连续接就会引发session的onstart事务,以是不论用户在扫瞄器中输出的是本站点上的何url,城市因为onstart事务中重定向命令的感化而转向指定页面。
2.必需是经由考证的用户才干扫瞄
关于有平安性请求的站点,假如是intranet用户,能够把考证与nt的用户考证分离起来,只需给指定目次设定ntfs用户权限,用户会见时就会主动弹出考证窗口。这类考证不必要利用asp编程完成。
实践情形是,我们不会把大批的internet用户到场域用户中,通常为用一个数据库来办理用户名和口令,由asp程序把从web页面上获得的用户名和口令到库中举行查找考证。假如一个用户晓得站点的目次布局,有大概间接输出某个页面的url,从而避过登录考证界面。如许,登录平安形同虚设。
如前所述,用户与站点连续接,就会激发一个session―onstart事务,以是我们能够在这里强迫它转向登录页面。global.asa中的代码以下:
subsession―onstart
response.redirect″login.asp″
endsub
3.辨析申明
伴侣们能够注重到,以上两段代码实践上是一样的。可是,关于2中的情形,固然一会见就转向了登录页面,但是此时session的onstart事务已停止,假如再输出指定的url,就能够避过平安检测了。
我如今的办理办法是在每一个asp页眼前加高低面一段代码,来完成下面的功效:
〈%
ifsession(″userid″)=″″then
response.redirect″login.asp″
endif
%〉
个中,session变量是在用户经由过程登录后创建的一个在全部过程当中都失效的变量,如在login.asp中,利用以下代码:
ifcheckpwdok()then
session(″userid″)=request(″userid″)
endif
不外这类举措对站点的每一个页面都要云云处置。对asp页面这么办还能够,对html页面文件就力所不及了。以是,本文在此举一反三,但愿能有伴侣提出更好的举措。
ASP在国内异常流行,因为国内大多使用的是盗版的Windows和盗版的SQLServer,而ASP+COM+SQLServer实际上也是一种不错的搭配,其性能也不输于PHP+MYSQL,特别是Windows系统和SQLServer都有图形界面,比APACHE和MYSQL易于维护,因此对于不重视知识产权的国家来说也是一种不错的选择。 |
|