以前开开发过程中使用cookie比较随便,后来发现同一个cookie在不同端口的站点下面其实是共有的,给开发造成一定的麻烦。现在我的cookie访问类已经修改过来了。所以说,有时候网上的东西还是不能拿过来就用啊,具体问题还得具体分析
using System; using System.Web; namespace Common.Web { /// <summary> /// 操作Cookie /// </summary> public class Cookie { /// <summary> /// 创建Cookies /// </summary> /// <param name="strName">Cookie 主键</param> /// <param name="strValue">Cookie 键值</param> /// <param name="strDay">Cookie 天数(单位:30分钟)</param> /// <code>Cookie ck = new Cookie();</code> /// <code>ck.setCookie("主键","键值","天数");</code> public bool SetCookie(string strName, string strValue, int strDay) { try { DelCookie(strName); string port = HttpContext.Current.Request.Url.Port.ToString(); strName = strName + "_" + port; HttpCookie Cookie = new HttpCookie(strName); Cookie.Expires = DateTime.Now.AddDays(strDay / 48.0); // Cookie.Expires = DateTime.Now.AddDays(strDay / 1.0); Cookie.Value = strValue; System.Web.HttpContext.Current.Response.Cookies.Add(Cookie); return true; } catch { // Common.LogManager.GetInstance().Log("设置COOKIE失败"); return false; } } /// <summary> /// 读取Cookies /// </summary> /// <param name="strName">Cookie 主键</param> /// <code>Cookie ck = new Cookie();</code> /// <code>ck.getCookie("主键");</code> public string GetCookie(string strName) { string port = HttpContext.Current.Request.Url.Port.ToString(); strName = strName + "_" + port; HttpCookie Cookie = System.Web.HttpContext.Current.Request.Cookies[strName]; if (Cookie != null) { if (Cookie.Value != null) { return Cookie.Value.ToString(); } else { return null; } } else { return null; } } /// <summary> /// 删除Cookies /// </summary> /// <param name="strName">Cookie 主键</param> /// <code>Cookie ck = new Cookie();</code> /// <code>ck.delCookie("主键");</code> public bool DelCookie(string strName) { try { string port = HttpContext.Current.Request.Url.Port.ToString(); strName = strName + "_" + port; HttpCookie Cookie = new HttpCookie(strName); Cookie.Expires = DateTime.Now.AddDays(-100); Cookie.Value = null; System.Web.HttpContext.Current.Response.Cookies.Add(Cookie); return true; } catch { return false; } } /// <summary> /// 得到网站的Cookie /// </summary> /// <param name="url">网站域名 如http://www.xxx.com</param> /// <param name="cookie"></param> /// <returns></returns> public System.Net.CookieCollection GetCookieCollection(string url, System.Net.CookieContainer cookie) { Uri uri = new Uri(url); System.Net.CookieCollection ccll = cookie.GetCookies(uri); return ccll; } } }
function getcookie(varName) { var port = location.port; //浏览器端口 if (port == "") { port = "80"; } var cookieStr = document.cookie; if (cookieStr == "") { return "0"; } var cookieValue = cookieStr.split(";"); //alert(cookieValue); var startPos = -1; var endPos = -1; for (var i = 0; i < cookieValue.length; i++) { //startPos = cookieValue[i].indexOf(varName); var key = cookieValue[i].substring(0, cookieValue[i].indexOf("=")) //alert(("查询到的KEY " + key).toString().length); //alert(("希望查询到的KEY " + varName + "_" + port).toString().length); if (key.replace(" ", "") == (varName + "_" + port).replace(" ", "")) { startPos = cookieValue[i].indexOf("=")+1 var css = cookieValue[i].substring(startPos); //alert(varName + ":" + port + "=" + css); //alert("查询 "+varName+" 得到 "+css); return css; } } return "0"; } function savecookie(key, val) { var port = location.port; if (port == "") { port = "80"; } var the_date = new Date("December 31, 2020"); var expiresDate = the_date.toGMTString(); document.cookie = key + "_" + port + "=" + escape(val) + "; expires=" + expiresDate; } function delCookie(name) { var port = location.port; if (port == "") { port = "80"; } var exp = new Date(); exp.setTime(exp.getTime() - 1000); var cval = getcookie(name); document.cookie = name + "_" + port + "=" + escape(cval) + ";expires=" + exp.toGMTString(); } function getPort(str) { s = str.split('_'); return s[1]; }
来自http://www.cnblogs.com/zhuzhenyu/archive/2012/07/27/2611958.html
相关推荐
主要介绍了详解nginx同一端口监听多个域名和同时监听http与https的相关资料,需要的朋友可以参考下
使用nginx进行服务器管理,经常会遇到跨域问题,此文档就是解决此类问题; nginx跨域问题,解决多端口,多ip问题
华为-配置同一vlan下端口隔离
主要介绍了解决vue中使用proxy配置不同端口和ip接口问题 ,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
用了一个礼拜时间做了一个端口扫描程序 从扫描同一个网段的IP开始 逐步添加功能 现在还具有了扫描选定IP的常见TCP UDP端口 包括部分常见木马所使用端口 并可以自定义扫描端口 扫描同一网段的IP主要是用SHELL方法 ...
扫描IP开放端口,支持多线程扫描。 通过该工具可以扫描常用的端口和指定的端口是否开放。 常用端口号: 代理服务器常用以下端口: (1). HTTP协议代理服务器常用端口号:80/8080/3128/8081/9080 (2). SOCKS...
这是一个基于C# winform TCP-IP 服务端程序。可实现一个IP地址多端口号同时启动服务。包含创建TCP-IP服务、监听客户端反馈的消息、处理并回复消息给客户端。
当我们在浏览器的URL栏输入xxx.vicp.net(举例而已,不是色情网 站),浏览器就会查询xxx.vicp.net的IP地址,于是我们的服务器会概述它,你的IP地址,然后浏览器将URL的数据打包,传递到查询到的IP 地址的80端口...
现在公司要求网络管理员在服务器上使用一个IP为ABCD四个公司建立独立的网站,每个网站拥有自己独立的域名.四家网站域名分别为: www.a.com www.b.com www.c.com www.d.com. 通过使用主机头,站点只需一个 IP 地址...
apache 设置主机头,同一端口绑定多个域名和网站
java课程设计小组项目——java语言的斗地主游戏 ,可进行三人联机打牌 (连接同一IP),基于...修改代码中的IP地址和端口号 例:"127.0.0.1",8888 端口号一致 ,IP地址也要修改 可查看本机的网络IP(每个人的情况不同)
IP段端口扫描.rar
飞速IP开放端口扫描器可以快速的扫描指定的IP地址端口,比普通的扫描软件快很多
实现android中IP和端口的重定向,输入原始IP,端口和目标IP,端口,实现重定向功能
先给大家说下apache添加多端口的方法,具体步骤如下所示: Apache\conf 目录下 添加端口监听 Vhost.conf简单写写 下面是有关apache实现单ip多端口映射的内容 我使用一个apache服务器。在我的apache根目录下...
易语言IP段端口扫描源码,IP段端口扫描,扫描IP段,开始扫描,连接客户,等待延时,打开网页,PeekMessage
⑴多IP段扫描 ⑵任意单端口扫描 ⑶结果查看功能 ⑷换肤功能 ⑸待扫IP段统计功能 ⑹IP段文件导入功能 使用中遇到的问题处理: ⒈无法扫描 ①是否选择了SYN或TCP扫描(XP系统不支持SYN扫描) ②s.exe程序是否...
端口扫描工具
IP远程控制端口修改软件,简单易用。