仓酷云
标题:
ASP编程:关于Cookie跨域操纵碰到的成绩及办理方...
[打印本页]
作者:
精灵巫婆
时间:
2015-1-16 22:18
标题:
ASP编程:关于Cookie跨域操纵碰到的成绩及办理方...
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
跟学别的语言一样,先掌握变量,流程控制语句(就是ifwhileselect)等,函数/过程,数组
作者:
再见西城
时间:
2015-1-22 17:20
如何学好ASP,以前也有人问过,把回答给你转过来看看能否对你有帮助:
作者:
冷月葬花魂
时间:
2015-1-31 09:09
Application:这个存储服务端的数据,如果不清除,会直到web应用程序结束才清除(例如重启站点)
作者:
柔情似水
时间:
2015-2-6 18:58
学习ASP其实应该上升到如何学习程序设计这种境界,其实学习程序设计又是接受一种编程思想。比如ASP如何学习,你也许在以前的学习中碰到过。以下我仔细给你说几点:
作者:
仓酷云
时间:
2015-2-18 07:57
弱类型造成潜在的出错可能:尽管弱数据类型的编程语言使用起来回方便一些,但相对于它所造成的出错几率是远远得不偿失的。
作者:
精灵巫婆
时间:
2015-3-20 01:59
封装性使得代码逻辑清晰,易于管理,并且应用到ASP.Net上就可以使业务逻辑和Html页面分离,这样无论页面原型如何改变,业务逻辑代码都不必做任何改动;继承性和多态性使得代码的可重用性大大提高。
欢迎光临 仓酷云 (http://ckuyun.com/)
Powered by Discuz! X3.2