php与asp共用cookie

xss弹cookie利用XSS获取用户cookie xss弹cookie利用XSS获取将cookie获取到自己的搭建DVWA的虚拟机里面。 1.首先写一个获取cookie的脚本 get.php 阅读详情
<script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>

因为涉及到根域的cookie保存,所以就涉及到cookie的安全性,如何才能确保cookie是正确的,没有被修改过的。
asp中cookie是类似数组的形式存在的(Response.Cookies("gbmad")("name"),Response.Cookies("gbmad")("pass")),而php却不行,为此我自己写了个函数在php中使php可以读写asp保存的cookie(以数组的形式),这个问题虽然解决了,可是却不能解决cookie的正确性与否。

我的想法是给cookie加个验证码,通过一个特定的函数把cookie进行加密,如md5,获得一个验证码,在读取cookie的时候比较一下这个验证码,正确则说明cookie没有被修改过,如果要获得这个md5值就必须保证cookie的字符连接顺序是一样的,这个就有点难了,毕竟asp里的数组没有key,更不能排序,我就想先给加上key吧,第一反映就是Scripting.Dictionary,又想到很多人都会把scrrun.dll卸载(不知道这些人怎么想的,windows安全配置不好,都怪罪到scrrun.dll头上来了),于是就写了个asp下类,可以有key,赋值就用cookie.Item("name") = "name",Scripting.Dictionary一样的方式,处于习惯,我都会简单做个测试,测试下这个类的效率如何,结果如上面的演示,结果发现效率好低啊,但是还是拿出来给大家分享下,所以可以的情况下大家还是用Scripting.Dictionary,Scripting.Dictionary的效率还是比较高的。

研究出来的函数,先丢下,注意,这里没有加上一个key,这样的的话也是可以伪造cookie,但是只要在CookieEncrypt和CookieDecrypt函数的md5是加上一个自己定义的key,只要不知道这个key就没法伪造cookie了,这里可以确保cookie不能伪造,不能确保cookie被盗用,防盗用的方式就是把客户的ip加到md5里去(但是似乎以前碰到过有用户的ip是几分钟就更换一次的情况)
asp端的函数:

程序代码
Public Function CookieEncrypt(ByVal cookiename, ByVal cookiekey, ByVal cookieval, ByVal expire, ByVal path, ByVal domain)
Dim cookie, sessionid, i, l
If (IsArray(cookiekey) And IsArray(cookieval)) Then
Call Randomize()
sessionid = CLng(Rnd() * 10000000)
cookie = cookiename & "="
l = UBound(cookiekey)
For i = 0 To l
cookie = cookie & Server.UrlEnCode(cookiekey(i)) & "=" & Server.UrlEnCode(cookiekey(i)) & "&"
Response.Cookies(cookiename)(cookiekey(i)) = cookiekey(i)
Next
cookie = cookie & "sessionid=" & sessionid
Response.Cookies(cookiename)("sessionid") = sessionid
cookiekey = Join(cookiekey, ",") & ",sessionid,cookieseries"
Response.Cookies(cookiename)("cookieseries") = cookiekey
cookie = cookie & "&cookieseries=" & Server.UrlEnCode(cookiekey)
Response.Cookies(cookiename)("cookiehash") = md5(cookie)
CookieEncrypt = True
Else
CookieEncrypt = False
End If
End Function
Public Function CookieDecrypt(ByVal cookiename)
Dim cookie, cookiekey, i, l
cookiekey = Request.Cookies(cookiename)("cookieseries")
If (Len(cookiekey) > 0) Then
cookiekey = Split(cookiekey, ",")
cookie = cookiename & "="
l = UBound(cookiekey)
For i = 0 To l
cookie = cookie & Server.UrlEnCode(cookiekey(i)) & "=" & Server.UrlEnCode(Request.Cookies(cookiename)(cookiekey(i))) & "&"
Next
cookie = left(cookie, (Len(cookie) - 1))
If (Request.Cookies(cookiename)("cookiehash") = md5(cookie)) Then
CookieDecrypt = True
Else
CookieDecrypt = False
End If
Else
CookieDecrypt = False
End If
End Function

使用方法:(md5函数自行解决,md5在asp下效率实在低啊)
写cookie:

程序代码
cookiekey = Array("name", "word")
cookieval = Array("name", "word")
Call SaveCookie("passport", cookiekey, cookieval, "", 0, "")
还没加上保存域的设置。
读cookie:(做个判断,时候正确,然后就可以一一读)

程序代码
If (LoadCookie("passport")) Then
For each aa In Request.Cookies("passport")
Call Response.Write(aa & ":" & Request.Cookies("passport")(aa) & "<br />")
Next
Else
Call Response.Write("Cookie Error")
End If

php端的函数:

程序代码
function CookieEncrypt($cookiename, $cookievalue, $expire = 0, $path = '', $domain = '') {
if (is_array($cookievalue)) {
$cookie = urlencode($cookiename) . '=';
$ck = array();
foreach ($cookievalue as $key => $val) {
$cookie .= urlencode($key) . '=' . urlencode($val) . '&';
$ck[] = $key;
}
$key = mt_rand(1000000, 9999999);
$cookie .= 'sessionid=' . $key;
$ck[] = 'sessionid';
$ck[] = 'cookieseries';
$cookie .= '&cookieseries=' . urlencode(implode(',', $ck));
$cookie .= '&cookiehash=' . md5($cookie);
if ($expire) {
$cookie .= '; expires=' . date('D, d-M-Y H:i:s', $expire) . ' GMT';
}
if ($path) {
$cookie .= '; path=' . $path;
}
if ($domain) {
$cookie .= '; domain=' . $domain;
}
header('Set-Cookie: ' . $cookie, false);
return true;
} else {
return false;
}
}

function CookieDecrypt($cookiename) {
$cookie = $_SERVER['HTTP_COOKIE'];
$carr = explode('; ', $cookie);
foreach ($carr as $val) {
if ($ipos = strpos($val, '=')) {
if (urldecode(substr($val, 0, $ipos)) == $cookiename) {
$cookie = substr($val, $ipos + 1);
break;
}
}
}
if ($cookie) {
$carr = explode('&', $cookie);
$cookie = array();
foreach ($carr as $kav) {
if ($ipos = strpos($kav, '=')) {
$cookie[urldecode(substr($kav, 0, $ipos))] = urldecode(substr($kav, $ipos + 1));
}
}
$ck = explode(',', $cookie['cookieseries']);
$c = $cookiename . '=';
foreach ($ck as $val) {
$c .= urlencode($val) . '=' . urlencode($cookie[$val]) . '&';
}
$c = substr($c, 0, -1);
if (md5($c) == $cookie['cookiehash']) {
return $cookie;
} else {
return array();
}
} else {
return array();
}
}

使用方法:(php下md5的效率就是高啊)
写cookie:

程序代码
$passport = array();
$passport['un'] = '0';
$passport['bn'] = '1';
CookieEncrypt('passport', $passport);
读cookie:
$c = CookieDecrypt('passport');
print_r($c);

 

php跨域cookie共享使用方法 A 机器所在的域:a1.main.com,A 有应用 main.phpB 机器所在的域:b1.test.com,B 有应用 test.php 1.在 main.php 里设置 cookie 的时候, cookie 的设置方法如下:复制代码 代码如下:setcookie( “TestCookie”,  “okol”,  time() + 3600,  “/”, “b1.test.com”, 1 ); 这样在 test.php 里就可以取到 cookie 。 2.输入 url 访问 test 的时候,必须输入域名才能解析。比如输入: http://b1.test.com/test.php ,可 立即下载

相关推荐

core_analyzer分析c++程序内存占用

环境:centos; 进程:单进程多线程c++程序; 问题:1. 分析系统内存占用; 2. 分析ptmalloc内存空洞(bins上的空闲chunk的大小); 包括:1. 占用了很大内存的c++进程; 2. gcore(在进程不core dump的情况下生成core文件); 3. core_analyzer(分析gcor...

weixin_41644391的博客 4811

php asp 共享cookie,php与asp共用cookie

因为涉及到根域的cookie保存,所以就涉及到cookie的安全性,如何才能确保cookie是正确的,没有被修改过的。 asp中cookie是类似数组的形式存在的(Response.Cookies("gbmad")("name"),Response.Cookies("gbmad")("pass")),而php却不行,为此我自己写了个函数在php中使php可以读写asp保存的cookie(以数组的形...

weixin_35953401的博客 216

HDR视频技术之七:逆色调映射

HDR 技术说是继 4K 之后视频领域的又一次重大技术突破,不仅提高图像的动态范围,同时也提供了更宽的色域,并提升了画面在高光和暗部的细节信息,带给观看者更加真实的视觉体验。但作为 HDR 产业链的核心,内容短缺的问题仍然是 HDR 普及和成熟的重要限制因素。众多电视厂商将 HDR 技术作为其产品规划中的重要技术,主要是在硬件方面进行提升。而由于 HDR 内容制作对于设备要求较高,对采集、调色、显示等多方面都需要较高的质量要求,内容制作的复杂度和周期长等因素,导致了 HDR 内容的匮乏。

多媒体开发者 2422

asp跨域共用cookie和session的问题

       这几天因为网站涉及到二极域名共用session的问题,头痛。在网上找了好久的料,终于在csdn里面找到2004年前辈们讨论的解决方案,个人感觉很受用。 楼主yufeiyxl(与飞)我要向各位请教的是Cookie的跨域访问问题。           问题是这样的:           我有一个网站,它有多个频道构成(比

yjfnypm的专栏 3466

从零到一:Mx_yolo本地训练与K210部署实战指南

本文详细介绍了从零开始进行Mx_yolo本地模型训练到K210部署的全流程实战指南。涵盖环境配置、数据准备、模型训练与调优、模型转换及K210部署等关键步骤,并提供了常见问题解决方案和性能优化技巧,帮助开发者高效完成AI模型在嵌入式设备的落地应用。

weixin_29081163的博客 252

SIMPLIS仿真软件2.2-SIMPLIS快速入门2

SIMPLIS仿真软件2.2-SIMPLIS快速入门2导读 导读 本文承接上一篇文章。开始介绍SIMPLIS仿真部分。正如上一篇所讲的快速入门的定位,该文对SIMPLIS的三种分析模式不会很深入的讲解,只会记录下一些重要的设置和操作。对于SIMPLIS的三种分析模式的详细讲解,后面会专门撰写。如果读者还没有搭建上一篇文章中讲述的电路,那你可以点击这个链接免费下载所需的电路SIMPLIS_tutorial_buck_converter ,然后在这个电路的基础上继续进行以下操作。 ...

qq_44677482的博客 2万+

php asp cookie,ASP Cookies

cookie 常用于识别用户。尝试一下 - 实例Welcome cookie本例演示如何创建 Welcome cookie。Cookie 是什么?cookie 常用用于识别用户。cookie 是一种服务器留在用户计算机上的小文件。每当同一台计算机通过浏览器请求页面时,这台计算机将会发送 cookie。通过 ASP,您能够创建并取回 cookie 的值。如何创建 Cookie?"Response.C...

weixin_36132709的博客 178

长短期记忆网络(LSTM)预测模型及其Python和MATLAB实现

LSTM 通过独特的门控机制解决了传统 RNN 的梯度消失和梯度爆炸问题,使其在处理长序列时具有显著优势。随着技术的不断发展,LSTM 及其变种(如 Bi-directional LSTM、Stacked LSTM 等)有望在更复杂的任务中发挥重要作用。2. **可视化真实值和预测值**:通过绘图来比较真实值和预测值,判断模型的准确性。2. **输入门(Input gate)**:决定当前的输入信息对细胞状态的影响。1. **细胞状态(Cell state)**:保持信息在时间步之间的传递。

qq_45441438的博客 2055

本机PHP和ASP之间共享登录信息

本机做开发,用了两套系统,分别为PHP(8080)和ASP(80),现在要整合,本来以为登录信息共享会比较麻烦,后来又觉得应该不是这样的,因为 ASP 和 PHP对COOKIE的机制和 .NET 是不同的,所以自己动手测试。测试结果:PHP和ASP里的COOKIE信息通用的, 这下没搞头了, 直接拿来用就OK了。...

真有意思 218

利用OTSU阈值算法在ZYNQ上实现浒苔识别

利用OTSU阈值算法进行图像二值化,结果用HDMI显示

qq_38075564的博客 1275

Android 中 app freezer 原理详解(二):S 版本

在之前的两篇博文《Android 中app内存回收优化(一)》和《Android 中app内存回收优化(二)》中详细剖析了 Android 中 app 内存优化的流程。这个机制的管理通过 CachedAppOptimizer 类管理,为什么叫这个名字,而不叫 AppCompact 等?freezer,一个针对应用进程长期处于 Cached 状态的优化。在之前博文《app freezer 原理 R 版本》

私房菜 3610

php asp cookie,详谈PHP之cookie的路径

学习web开发的朋友都知道cookie的路径有时特别烦人,稍不注意就搞晕了,在网上看到一篇讨论PHP cookie路径的文章不错,拿来和大家分享一把摘要:最近研究使用加密cookie给不同系统作同步登陆,其中遇到了一些关于cookie设置和cookie路径的问题,结合查找的资料和经验写一下总结。PHP setcookie()函数定义和用法setcookie() 函数向客户端发送一个 HTTP co...

weixin_33167915的博客 143

随机优化 (Stochastic Optimization) 算法详解及案例分析

随机优化是一种用于处理包含随机变量的优化问题的方法。其目标是通过考虑随机变量的概率分布,找到一个在期望意义下最优的解。

闲人编程的博客 4180

php cookie httponly,Cookie的httponly属性设置方法

为了解决XSS(跨站脚本***)的问题,从IE6开始支持cookie的HttpOnly属性,这个属性目前已被大多数浏览器(IE、FF、Chrome、Safari)所支持。当cookie中的HttpOnly属性被设置为true时,前端脚本JavaScript就无法访问或操作cookie了(只能通过后台访问),这样XSS就失效了。即便是这样,也不要将重要信息存入cookie。PHP设置方法:heade...

weixin_36199877的博客 1206

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

php中Cookie及其使用

 Cookie技术是一个非常有争议的技术,自经诞生它就成了广大网络用户和Web开发人员的一个争论焦点。有一些网络用户,甚至包括一些资深的Web专家也对它的产生和推广感到不满,这倒不是因为Cookie技术的功能太弱或别的技术性能上的原因,而仅仅是因为他们觉得Cookie 的使用,对网络用户的隐私构成了危害。因为Cookie是由Web服务器保存在用户浏览器上的小文本文件,它包含有关用户的信息(如身

WishMaster 6510

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

禁用COOKIE后SESSION还能用吗

1.ASP 在ASP中,Session必须倚赖Cookie才可用,Session是存储在服务器端的,而Cookie是存储在客户端的,相对 而言,Session的安全性和可靠程度都比Cookie高。 2.PHP 在PHP中,通过相关的配置,可以让Session不依赖Cookie而存在。 php.ini中,把session.use_trans_sid设成1,那么连接...

天下熙熙,皆为利来;天下攘攘,皆为利往。 7398

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

php curl怎么设置cookie,curl php正确设置cookie

我有一些饼干麻烦.他们似乎没有按照应有的方式进行设置,我也无法弄清楚原因. url加载url详细信息,然后设置cookie,然后将它们重定向回主站点.这是我正在使用的PHP代码$cookie_file_path = 'cookie-path.txt';// open a site with cookies$ch = curl_init();curl_setopt($ch, CURLOPT_URL,...

weixin_42366533的博客 2748

php和js是一个session,PHP和NodeJs开发的应用如何共用Session

PHP和NodeJs开发的应用如何共用Session首先了解下session的机制客户端(浏览器中) cookie 作为键值,匹配服务器端的一个数据。然后客户端每次在 HTTP 请求里面带着那个 cookie,然后服务器端“理所当然”认为服务器端的这个数据是针对该客户端的。某些系统喜欢把 session 内容编码后加密放在 cookie 里面那么你可以1.你可以共用 cookie,然后把数据放在 ...

weixin_39563827的博客 318

php中cookie的创建,php中如何创建拥有键的cookie集

cookies在程序中应用很广泛,那我们在php中该如何设置拥有键的cookie集。为什么更好地理解带有键的cookie,我们先引用ASP的案例来讲。如果一个 cookie 包含多个值的一个集合,我们就可以说 cookie 拥有键(Keys)。在下面的例子中,我们会创建一个名为 "user" 的 cookie 集。"user" cookie 拥有包含用户信息的键:Response.Cookies(...

weixin_33187554的博客 118

[转]PHP或ASP   中Cookie禁用了,Session还能用吗?

[转]PHP或ASP   中Cookie禁用了,Session还能用吗? http://laiguowei2004.blog.163.com/blog/static/3682900020107302248722/ COOKIE和SESSION本身是两码事,只是COOKIE可以存ID的时候同时存储一些数据到客户端一些时间。当服务器SESS...

liNewman的博客 148

asp2php用法,PHP和ASP的session

ASP的SEssion就是启用的,需要使用,直接赋值就可以了! 但是:PHP一定要自己先用session_start()启动,才能赋值。(php.ini设置更改过的除外!)在过期时间设置上,ASP设置比较灵活一些,默认是20分钟,要自定义,直接用session.timeout=时间间隔就可以了! 但是,PHP中,默认是24分钟,而且这个时间需要改变PHP.INI设置才行,但并不是每个人都能控制。今...

weixin_32233571的博客 232

asp和php关系,php和asp对象的等价关系_PHP教程

1)写HTMLasp: Response.Write(str)php: print $str;echo $str;print_r $debug_str;2) Form, Cookie and QueryString变量asp: 可以用Request object.php: 这些变量是自动提供的作为一个全局变量,如果在PHP.ini文件中这样配置的话:variables_order="EGPCS"r...

weixin_33045057的博客 162

asp php会话共享,与使用数据库相比,经典ASP和PHP之间共享会话 - php

我们有一个经过多年开发并在IIS6上运行的ASP Intranet Web应用程序。如今,我们想使用PHP语言添加一些新功能。 PHP在同一台服务器上运行良好。会话变量需要在ASP和PHP之间共享。我在问是否还有其他选择可以在经典ASP和PHP之间共享会话,而不是使用数据库作为网关(对我们来说浪费太多资源)?双方都需要读取/编辑会话变量。通过一些调整,我注意到每次用户登录ASP Web应用程序时,...

weixin_28938171的博客 192

Cookie禁用了,Session还能用吗?原因详解

Cookie与 Session,一般认为是两个独立的东西,Session采用的是在服务器端保持状态的方案,而Cookie采用的是在客户端保持状态的方案。但为什么禁用Cookie就不能得到Session呢?因为Session是用Session ID来确定当前对话所对应的服务器Session,而Session ID是通过Cookie来传递的,禁用Cookie相当于失去了Session ID,也就得不到...

root_miss的博客 4359
上一篇: 如何防止google adsense fraud clicks(欺骗点击作弊) 的分析,
下一篇: 利用ASP获得图象的实际尺寸的示例
piperzero
博客等级 码龄21年 1377粉丝 504原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值