ASP.NET读取ASP设置的Cookie
这类问题通常在整合或二次开发ASP网站时遇到。按常理来说,浏览器的Cookie存放在客户端,实际上与服务端使用什么语言无关,但我们在实际操作过程中,总会遇到一些意想不到的问题。
1. 当ASP写的Cookie的Key中带有下划线,例如我们在ASP中这样设置Cookie:
Response.Cookies("Admin_User")="管理员";
那么在aspx.cs的页面,使用Request.Cookie["Admin_User"] ,是怎么都读不到的。在这里我写了一个循环,将当前cookie的所有Name与Value都输出了一遍,发现下划线“_”已经转义成了“%5F”,而使用Request.Cookie["Admin%5FUser"] 就可以得到我们想要的“管理员”了。
遇到类似问题的朋友,不妨做这样的尝试。
2. 还需要注意中文乱码的问题,不管我将字符集设置为GB2312,还是GBK,甚至是UTF-8都没法获得正确的中文,实际上问题出在ASP那边,ASP页面显示简体中文时,需要设置“代码页”(它可读写,整型数,用于表示显示页内容的字符集,简体中文为936,日文为932,ANSI为1252)。
string cookie = System.Web.HttpUtility.UrlDecode(Request.Cookies["Admin%5FUser"].Value, System.Text.Encoding.GetEncoding(936));
使用以上的方式,便可以获取包含中文的Cookie了。
相关文档:
Trustwave's SpiderLabs Security Advisory TWSL2010-001:
Multiplatform View State Tampering Vulnerabilities
Published: 2010-02-08 Version: 1.1
SpiderLabs has documented view state tampering
vulnerabilities in three products from separate vendors.
View states are used by some web application frame ......
前段时间读了不少关于MVC的文章,试着在ASP中应用了一下,发现对于小程序,代码量会大幅度增加,但是逻辑清晰,数据封装很合理,以前需要仔细规划的代码复用竟然成了理所当然的事情。
所谓MVC,即Model(模型),View(视图),Control(控制)三层架构。各部分各司其职,Model即底层构架,包含与数据库连接的部分,View ......
Web页面是无状态的, 服务器对每一次请求都认为来自不同用户,因此,变量的状态在连续对同一页面的多次请求之间或在页面跳转时不会被保留。在用ASP.NET 设计开发一个Web系统时, 遇到一个重要的问题是如何保证数据在页面间进行正确、安全和高效地传送,Asp.net 提供了状态管理等多种技术来解决保存和传 ......
大家知道在网站的每个页面上,存储一些全局处理信息,理想的做法是将这些信息一次性的集中存储在资料档案库中,而不是在网站的每个页面上都重复这样的操作。
比如说数据库连接串就是这样的信息,如果这些信息不是集中存储在特定区域中,而是在网站的每个需要连接数据库的页面上手工输入,可以设想:当数 ......
以下代码 使用.net FtpWebRequest 实现FTP的常用功能, 代码已经调试通过, 可复制直接使用。 经测试使用此种方式实现的FTP操作与直接使用命令的方式操作FTP要稳定许多。 有设计不好的地方请指正。
using System;
RYWo})E[3K Tg0using System.Collections.Generic;
}k'LQ BB-_d0using System.Text;ITPUB ......