博采众长,精于一技。Live for love, work for dream.

Google浏览器Chrome SSH翻墙设置教程

1.更改DNS
有部分被墙网站同时被DNS劫持了。你可以使用Google的DNS或者Open DNS(208.67.222.222 或 208.67.220.220)。
google-dns.png

2、MyEnTunnel设置

首先下载MyEnTunnel, 解压,运行myentunnel目录下面的myentunnel.exe,按照下图所示:

MyEntunnel.jpg

按上图所示填写SSH服务器的IP或域名,SSH端口一般默认即可,用户名和密码填写你购买的SSH帐号 和密码。

本地端口填写:7070,在启动时自动连接、失败时重新连接、启动动态套接字、启用压缩前打 勾。点击保存,再点“连接”。在系统右下角图标显示为绿色即连接成功。

继续阅读 »

document.domain与三级域名的问题

以前如果要使iframe里面的脚本能访问parent的内容,但iframe和parent的二级域名相同,那一般都会在两者都写上document.domain="xxx.com" 以放宽访问权限。

今天发现,如果iframe和parent在同一个三级域名下,比如都是aa.bb.com,那设了document.domain反而会造成访问拒绝。

查了下MSDN,有如下解释:

Remarks

The property initially returns the host name of the server from which the page is served. The property can be assigned the domain suffix to allow sharing of pages across frames. For example, a page in one frame from home.microsoft.com and a page from www.microsoft.com initially would not be able to communicate with each other. However, by setting the domain property of both pages to the suffix "microsoft.com", you ensure that both pages are considered secure and access is available between the pages.

When you set the domain property, use the domain name determined by the server rather than by the client browser.

All the pages on different hosts must have the domain property explicitly set to the same value to communicate successfully with each other. For example, the value of the domain property of a page on the host microsoft.com would be "microsoft.com" by default. It might seem logical that if you set the domain property of a page on another host named msdn.microsoft.com to "microsoft.com," that the two pages could communicate with each other. However, this is not the case unless you have also explicitly set the domain property of the page on microsoft.com to "microsoft.com".

Furthermore, this property cannot be used to allow cross-frame communication among frames with different domain suffixes. For example, a page in one frame from www.microsoft.com and a page in another frame from www.msn.com would not be able to communicate with each other even if the domain property of both pages was set to the suffix "microsoft.com".

Security Alert Using this property incorrectly can compromise the security of your Web site. Set the domain property only if you must allow cross-domain scripting. Use a value determined on the server. Setting this property to a value determined on the client (like through the location object) could expose your site to attack from another site through Domain Name System (DNS) manipulation. For more information, see Security Considerations: Dynamic HTML.
For more information on domain security, see About Cross-Frame Scripting and Security.

中文翻译:

在DHTML中,不同的窗口和框架(frames)中的内容可以通过对象模式用脚本相互交互。但是,由于可以在一个浏览器中通过多个窗口和框架同时显示多个毫不相干的内容,因此制定一定的限制性规则用于确保数据的真实性和保护个人隐私信息就显得很有必要的。
这片文章描述了为什么要添加这些限制性规则,以及这些规则在是如何应用在DHML模型上的。所有这些关于脚本交互的规则在windows, dialog boxes, frameSets, frames和iframes这些对象上都是一律适用的。
对于绝大多数内容而言,只有来至于同一个Web域的内容之间的相互交互操作才是允许的。例如,在www.studyez.com 上的一个页面可以用脚本自由的操作任何在www.studyez.com 这个站点的任何其他页面,但是不能通过脚本去操作在其他Web网站上的页面,即使这个页面通过iframe嵌入在www.studyez.com 的页面中。DHTML对象模型使用document.domain属性来判定这个限制规则:只有在同一个Web域里的页面才能自由交互。判断是否属于同一个Web域,要看域名主机、协议以及端口三者是否一致,只有三者完全相同,才能称之为同一个域。比如http://www.studyez.com/ 的页面与 https://www.studyez.com 的页面之间不能用脚本交互操作(因为协议不同),http://www.studyez.com 的页面与http://community.studyez.com 的页面之间也不能用脚本相互交互(因为域名主机不同),http://www.studyez.com:888/ 与 http://www.studyez.com/ 的页面之间一样也不能交互操作(因为端口不同)。
一个页面的脚本许可操作范围可以通过设置这个页面的document.domain属性而扩大到具有相同父域名的所有站点中。例如,在http://www.studyez.com/ 中的一个页面,通过脚本设置document.domain属性(初始默认 www.studyez.com)为studyez.com,从而使得在http://gongwuyuan.studyez.com , http://community.studyez.com, 以及所有其他studyez.com所属的字域名中的页面都可以与这个页面进行交互操作,只要这些页面也相应的设置document.domain属性为studyez.com即可。由于只有那些来至于同一个父域studyez.com所属的站点的页面才可以设置document.domain=studyez.com,所以这也间接的保证了这些内容都是来自于同一个提供者并且双方都已经明确地作了允许互操作的设置。这个设置限制为父域名必须是有效的二级域名,对于.com, .net, 是如studyez.com,对于国际域名,如.cn,则是studyez.com.cn 或 studyez.cn,而不能是com.cn。
为了确保在windows和frames中可以加载任何网站的内容,所以导航操作是一直允许的,不受前面所述的规则限制。只有读取或者修改内容才是被限制的。如可以设置href属性以导航到新的页面,但是如果加载的页面不在同一个Web域里,则不能读取href属性,因为如果可以读取href属性的话,就可以知道用户正在浏览什么页面,而这是违反用户隐私策略的。对于处于不同Web域情况下,与导航相关属性的操作限制如下:

window.location.href 可以设置用于导航到新的页面,但是不可以读取
window.location除href之外的属性 禁止
document.location.href 可写不可读
document.location除href之外的属性 禁止
iframe.src 可写不可读

当脚本尝试受限的操作时,都会抛出一个"拒绝访问"的错误。
从安全的角度理解跨域脚本操作的限制是非常重要的,因为否则的话,一个恶意站点的页面可以通过嵌入iframe加载别的网站的内容从而通过脚本和DHTML模型为所欲为。

XHProf-PHP性能分析工具安装

HProf是facebook开源出来的一个php轻量级的性能分析工具,跟Xdebug类似,但性能开销更低,还可以用在生产环境中,也可以由程序开关来控制是否进行profile。基于浏览

器的性能分析用户界面能更容易查看,或是与同行们分享成果。也能绘制调用关系图。在数据收集阶段,它记录调用次数的追踪和包容性的指标弧在动态callgraph的一个程序。

它独有的数据计算的报告/后处理阶段。在数据收集时,XHProfd通过检测循环来处理递归的函数调用,并通过给递归调用中每个深度的调用一个有用的命名来避开死循环。
XHProf的轻量级性质和汇聚功能,使得它非常适合用于收集“生产环境”的性能统计数据的统计。
1. 安装XHProf
wget http://pecl.php.net/get/xhprof-0.9.2.tgz
tar zxf xhprof-0.9.2.tgz
cd xhprof-0.9.2
cp -r xhprof_html xhprof_lib <directory_for_htdocs>
cd extension
phpize
./configure
make
make install

继续阅读 »

为非程序员准备的简洁Python语言教材

为非程序员准备的简洁Python语言教材,欢迎提问。
Python 的中文意思是巨蟒,大蟒蛇。

计算机编程主要概念

计算机语言编程的主要内容就这些:数字,文字,循环,公式,变量

数 字: 1, 2, 3, 5.6, 120, 32.4, 3.1415926, -3, -0.123
文字: 你好,我好,你太牛了,很黄很暴力,这类的文字。一般用双引号(")或者单引号(')括起来。术语叫字符串 ,就是一堆字符,串起来。
循环: 循环(loop)就是重复的做一件事。计算机是一个很笨的机器,基本上只会做加,减,乘,除,大于,小于,等于和循环这种简单的工作。编程就是把复杂的问 题,拆成简单的单元让它重复。
幸亏有下面讲到的公式,所以很多较复杂的问题已经有了解决方法,我们只是重 复的套用别人的解决公式就可以了,不用拆得太细。
Python 语言最大的优势,就是这个语言中包含了大量解决常见问题的公式,你想干的事,基本上都有人帮你干了,你只是需要把他们组织,捆绑起来就可以了。比如下载文 件的公式,分析网页内容的公式,压缩文件的公式,处理电子邮件的公式等等。
公式: 就像数学公式 (a+b)2= a2 + 2ab + b2 这种。算的时候带入具体数值,比如:(3+4)2 = 32 + 2*3*4 + 42 = 9+24+16 = 49 。前面的 (a+b)2 就是我们的公式名(当然编程时,我们会用一些比较容易明白的词组做为公式名,比如“和的平方”这种,英语或者拼音都可以),他需要两个参数a,b;后面的 a2 + 2ab + b2 是具体怎么算出来的步骤,这就是我们的公式内容。
在 计算机里,公式的术语叫“函数”或者“方法”。我们定义一个函数,就是定义一条公式,用的时候,拿来参数a,b什么 的,套一下公式就行了。
为了程序的结构清晰,我们往往会定义很多函数。把复杂的问题分成很多小问题,每个小问题放到一个函数 里,然后在解决复杂问题的函数里,使用这些小问题函数解决大问题。更重要的是我们可以大量的使用别人写好的函数来解决自己的问题。

继续阅读 »

JS中提示框(confirm框)的

用js将confirm确认框进行修改,将原来的"确定"、"取消"改成"是"、"否"、"取消"。
需要利用VBScript,特别说明,在FF下是不支持VBScript的,所以此方法只能用于IE
<script type="text/javascript">
execScript('n = msgbox("您是否已安装56ican?",vbYesNo,"提示")','vbscript');
            if(n == 6){
                window.open("http://www.56.com/help/vshow/vshow_down.html#3_2");
            }else if(n == 7){
                window.open("http://www.56.com/ican/ican.html");
            }
</script>

只有“是”“否”,还有其他情况可参考vbscript的msgbox

返回顶部