仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 454|回复: 6
打印 上一主题 下一主题

[学习教程] ASP编程:关于Cookie跨域操纵碰到的成绩及办理方...

[复制链接]
精灵巫婆 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 22:18:38 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
ActiveServerPage技术为应用开发商提供了基于脚本的直观、快速、高效的应用开发手段,极大地提高了开发的效果。在讨论ASP的安全性问题之前,让我们来看看ASP是怎么工作的。cookie|办理|成绩  Cookie跨域操纵看来是个复杂的成绩,由于只需指定Domain属性为指定网站的根域名就能够了.可是笔者在实践利用过程当中却碰到了一些成绩,切实其实值得注重.
  情况先容
  cookie在www主域名下创立,并写进Domain属性,如:(为便利调试以下代码皆为asp代码)
  Write.asp
<%
Response.Cookies(CookieName)("UserName")="SunBird"
Response.Cookies(CookieName)("Password")="xyz1234"
Response.Cookies(CookieName).Domain="xxxx.com"
%>
  下面文件放在www主域名下,同时在同目次下安排一个读取cookie的Read.asp
  Read.asp
<%
Response.WriteRequest.Cookies(CookieName)("UserName")
Response.WriteRequest.Cookies(CookieName)("Password")
%>
  再放一个Read.asp文件到别的一个子域名站点里,代码同上。最初我们再做一个扫除cookie的Clear.asp放在主域名下
  Clear.asp
<%
Response.Cookies(CookieName)("UserName")=""
Response.Cookies(CookieName)("Password")=""
Response.Cookies(CookieName).Domain="xxxx.com"
%>
  如今能够经由过程上面的实行按次来测试,Write.asp-->主域名的Read.asp-->子域名的Read.asp一切Read.asp页面都能够读取到Write.asp创立的cookie的值,然后再运转Clear.asp举行扫除,统统都Ok,看上往没有甚么成绩。
  可是把这类办法使用到实践的站点时却呈现成绩了。
  成绩形貌:
  第一次登录统统ok,一切子域名都能够会见到主域名存储的cookie,可是,一旦加入以后,子域名的cookie被扫除了,可是主域名的cookie仍旧保存着,强行扫除主域名的cookie以后,不管如何登录主域名下都没法保留cookie了,除非关失落扫瞄重视新翻开。
  经由屡次实验以后,偶然中发明成绩地点,以下是测试经由。
  创立一个Write2.asp的页面放在主域名下
<%
Response.Cookies(CookieName)("TEST_COOKIE")="TEST_COOKIE"
%>
  第一步:封闭扫瞄器后,按以下按次实行,Write.asp-->主域名的Read.asp-->子域名的Read.asp到这里一切Read.asp读取一般。
  第二步:Clear.asp-->主域名的Read.asp-->子域名的Read.asp到这里扫除操纵是乐成的。
  第三步:Write.asp-->Write2.asp-->主域名Read.asp-->子域名Read.asp到这里两个Read.asp都能够读取到cookie的值。
  第四步:从头实行第二步,发明主域名Read.asp仍旧输入了值,而子域名下的Read.asp的值已被清空了。
  依据以上测试总结以下几点再跨域利用cookie时必要注重的中央
  1、当你有一个Cookie组(或叫Cookie字典)利用Domain属性指定域名以后,当你在对该组的成员举行修正或新增的时分,必定要在操纵以后加上Resonse.Cookies(CookieName).Domain属性。
  2、假如没有需要,请不要修正已设置Domain的Cookie组,间接利用Response.Cookies("CookieText")=CookieValue来创立一个新的Cookie。
asp,你就只能等着微软给你解决,它不乐意你就只好悲催。而且asp跑在windows服务器上,windows服务器跟linux比起来简直弱爆了!
admin 该用户已被删除
沙发
发表于 2015-1-18 17:24:35 | 只看该作者
跟学别的语言一样,先掌握变量,流程控制语句(就是ifwhileselect)等,函数/过程,数组
再见西城 该用户已被删除
板凳
发表于 2015-1-22 17:20:39 | 只看该作者
如何学好ASP,以前也有人问过,把回答给你转过来看看能否对你有帮助:
冷月葬花魂 该用户已被删除
地板
发表于 2015-1-31 09:09:19 | 只看该作者
Application:这个存储服务端的数据,如果不清除,会直到web应用程序结束才清除(例如重启站点)
柔情似水 该用户已被删除
5#
发表于 2015-2-6 18:58:54 | 只看该作者
学习ASP其实应该上升到如何学习程序设计这种境界,其实学习程序设计又是接受一种编程思想。比如ASP如何学习,你也许在以前的学习中碰到过。以下我仔细给你说几点:
6#
发表于 2015-2-18 07:57:57 | 只看该作者
弱类型造成潜在的出错可能:尽管弱数据类型的编程语言使用起来回方便一些,但相对于它所造成的出错几率是远远得不偿失的。
精灵巫婆 该用户已被删除
7#
 楼主| 发表于 2015-3-20 01:59:14 | 只看该作者
封装性使得代码逻辑清晰,易于管理,并且应用到ASP.Net上就可以使业务逻辑和Html页面分离,这样无论页面原型如何改变,业务逻辑代码都不必做任何改动;继承性和多态性使得代码的可重用性大大提高。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2025-1-4 18:09

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表