Php 在加载$\u Cookie之前重置旧Cookie
我正在将一个用ColdFusion编写的旧web应用程序迁移到PHP5。 旧的应用程序使用了cookie,所以很多用户都在浏览器中获得了cookie 域是相同的,因此PHP5在自动全局$\u cookie中获取旧cookie,换句话说,生成的print\u r$\u cookie如下所示:Php 在加载$\u Cookie之前重置旧Cookie,php,cookies,coldfusion,firewall,mod-security,Php,Cookies,Coldfusion,Firewall,Mod Security,我正在将一个用ColdFusion编写的旧web应用程序迁移到PHP5。 旧的应用程序使用了cookie,所以很多用户都在浏览器中获得了cookie 域是相同的,因此PHP5在自动全局$\u cookie中获取旧cookie,换句话说,生成的print\u r$\u cookie如下所示: Array ( [CFID] => 10753812 [CFTOKEN] => 81032420 [CFGLOBALS] => urltoken=CFID#=1075
Array
(
[CFID] => 10753812
[CFTOKEN] => 81032420
[CFGLOBALS] => urltoken=CFID#=10753812&CFTOKEN#=81032420#lastvisit={ts \'2011-12-07 11:51:43\'}#timecreated={ts \'2011-11-28 01:19:23\'}#hitcount=3#cftoken=81032420#cfid=10753812#
)
除了应用程序防火墙ModSecurity2:autoloading$\u COOKIES之外,总体上没有问题。防火墙会检测到它是邪恶的。之前用一个误报SQL注入,然后用一些XSS攻击匹配
我可以禁用这些规则,但我认为这不是最好的解决方案
如何检查ColdFusion cookie是否存在?
如何在不自动加载的情况下从用户浏览器中删除旧cookie
谢谢。你可以试试PHP5.3吗?此php ini配置文件:
auto_globals_jit = On
然后,塞特库奇。。。。要重置,在此之后,访问$\u COOKIE读取另一种可能的解决方案是在桥接页面中使用javascript
<script type="text/javascript">document.cookie="";</script>
使用特定的ModSecurity2规则和PHP桥接页解决:
1 HTTP层:当存在cookie时,重定向到。。。
在Apache的配置中:
SecRule REQUEST_COOKIES:CFGLOBALS !^$ "phase:1,nolog,pass,redirect:http://www.abcde.com/cookie_reset.php"
2应用层:因此重置旧cookie。
在cookie_reset.php页面中
<?php
setcookie ("CFID", "", time() - 3600);
setcookie ("CFTOKEN", "", time() - 3600);
setcookie ("CFGLOBALS", "", time() - 3600);
header("Location: http://www.abcde.com/");
这是不可行的,即时加载只影响$\u服务器和$\u环境。