浏览模式: 标准 | 列表 2011年10月的文章

行尸走肉 第二季(The Walking Dead Season 2)下载

上半年看了行尸走肉 第一季(6集),觉得挺不错的,第二季最近又开始开播了。相信也有很多人很想马上看到,目前更新到了第二集,一周一等,无比煎熬!

《行尸走肉 第二季》(The Walking Dead Season 2)[YYeTs人人影视字幕组出品][中英双语字幕][更新06集][HR-HDTV,RMVB]

Tags: 行尸走肉

PHP快速判断客户端浏览器是否IE核心

代码如下:

<?php

if(strpos($_SERVER["HTTP_USER_AGENT"],"MSIE"))

echo "IE";

else

echo "not IE";

?>

简单测试如下:

IE:微软IE浏览器、360安全浏览器、搜狗高速浏览器

not IE:chrome、firefox、opera

结论:判断快速准确,判断结果以IE核心为准

解决IE浏览器跨域名iframe嵌套网页获取cookies

问题产生的前因:A网站采用iframe框架形式嵌套了B网站的一个页面C,直接打开页面C会在本地保留一个cookie文件,而当采用A网站iframe框架形式嵌套后就无法成功生成cookie文件,该问题仅在IE浏览器环境下出现,firefox、chrome、Safari浏览器下没有问题。

造成该问题的原因:一个所谓的隐私首选项(简称为P3P)的W3C标准。只有在每一页上设置一个cookie发送头,才能允许Internet Explorer接受第三方Cookie。

换言之,只有在页面C上设置一个cookie发送头,那么A网站iframe框架形式嵌套后就可以在IE下成功获得页面C的cookie。

  • PHP:header('P3P:CP="IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT"');
  • ASP.NET:HttpContext.Current.Response.AddHeader("p3p","CP=\"IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT\"");
  • Django:response = render_to_response('mytemplate.html')
    response["P3P"] = 'CP="IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT"'
  • JSP:response.addHeader("P3P","CP=\"IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT\"")

本文解决方案参考了http://adamyoung.net/IE-Blocking-iFrame-cookies

Tags: cookies

解决Warning: Cannot modify header informat...

近几天正冰在测试有关跨域名cookies存储问题,在某个php测试页面里的header函数一直遭遇:Warning: Cannot modify header information - headers already sent by错误提示。为了解决该问题,翻山越岭地用google查询了相关资料,造成该问题的原因是:函数 header(),setcookie() 和 session 函数需要在输出流中增加头信息。但是头信息只能在其它任何输出内容之前发送。在使用这些函数前不能有任何(如 HTML)的输出。函数 headers_sent() 能够检查您的脚本是否已经发送了头信息。

来继续了解下原理:PHP脚本开始执行时,它可以同时发送header(标题)信息和主体信息。 Header信息(来自 header() 或 SetCookie() 函数)并不会立即发送,相反,它被保存到一个列表中。 这样就可以允许你修改标题信息,包括缺省的标题(例如 Content-Type 标题)。但是,一旦脚本发送了任何非标题的输出(例如,使用 HTML 或 print() 调用),那么PHP就必须先发送完所有的Header,然后终止 HTTP header。而后继续发送主体数据。从这时开始,任何添加或修改Header信息的试图都是不允许的,并会发送上述的错误消息之一。

解决方案如下(须保证出错函数之前没有任何输出):

1、如果说这条仅仅只是错误提示,并不影响你程序正常运作,那么只需要“屏蔽”它即可。在页面顶部的php标签中加入ob_start();,在返回的信息下面加入ob_end_flush();,这样就可以屏蔽错误信息。

<?php ob_start(); ?>

... HTML codes ...

<?php

... PHP codes ...

header ("Location: ....");

ob_end_flush();

?>

2、反之要彻底解决,正冰是通过Notepad++先建立一个空白页面,然后将编码设置为Encode in UTF-8 without BOM,然后将出问题页面代码复制进去保存为一个新页面即可。

notepad++.jpg

大小: 21.26 K
尺寸: 300 x 196
浏览: 134 次
点击打开新窗口浏览全图


因为正冰所测试的页面还有一个setcookie函数,这个也会导致这样的问题出现,简单摘录如下:cookie本身在使用上有一些限制,例如:

  1. 呼叫setcookie的叙述必须放在<html>标签之前
  2. 呼叫setcookie之前,不可使用echo
  3. 直到网页被重新载入后,cookie才会在程式中出现
  4. setcookie函数必须在任何资料输出至浏览器前,就先送出

解决方法就是在程序开始用ob_start();这个函数。

wordpress管理员密码忘记了用phpmyadmin找回来

手头管理着多个wordpress搭建的网站,因为经常忘记密码而头疼不已。这不又忘了密码,还好有phpmyadmin,一条SQL语句马上改回来了。

进入phpmyadmin,选择数据库,然后修改wp_users表中对应的管理员的user_pass字段为5d41402abc4b2a76b9719d911017c592,就可以以hello作为密码登录了。

嫌麻烦的同学可以直接执行以下SQL语句,wp为数据库名,ID为第一个用户(即默认管理员)

UPDATE  `wp`.`wp_users` SET  `user_pass` =  '5d41402abc4b2a76b9719d911017c592' WHERE  `wp_users`.`ID` =1;

另外,phpmyadmin最新下载地址:http://www.phpmyadmin.net/home_page/downloads.php,选择合适版本下载上传到空间上,用管理面板解压缩,然后就可以用了。

Tags: wordpress, 管理员密码, phpmyadmin

忘记了windows系统登录密码?用ERD Commander 2005改

ERD Commander是一个程序组,它是该迷你版Windows XP上的主要应用程序(因此该光盘又叫做ERD Commander Boot CD),它提供的三类工具可以修复与挽救硬盘上已损坏的Windows系统(支持Windows 2000/XP/2003),无需重新安装,因此,该光盘也是一个系统维护盘,可以直接访问硬盘上的所有文件,还可以修改Windows的管理员密码。

正冰本次推荐的ERD commander 2005是易通汉化加强版,该版本登陆密码是Yitong ,首字母大写。另外有一款据说是汉化精简版的登陆密码是yitong2005。

软件使用比较简单,直接下载刻盘,然后从光盘启动。利用ERD Commander,无需原来的密码就可以轻松地修改包括管理员帐户在内的任何Windows帐户的密码。系统进入后点击“开始”菜单,选择“系统工具→Locksmith”,在弹出的向导对话框上选择需要修改密码的系统账号,然后输入两次新密码就可修改原来的密码,重启电脑以新密码登录即可。

迅雷下载:ERD commander 2005 易通汉化加强版