javascript 沙箱实现
从一个经典的跨域脚本应用说起: JSONP 是一个流行的跨域获取数据的方案,它原理是向文档动态插入一个 script 标签,向远程服务器发起一个脚本请求,然后远程服务器返回一个定的回调函数并传入 JSON 数据,这样完成跨域数据交换。 如页面预先定义一个全局函数: 1 window.jsonp534533 = function (json) { 2 //... 3 } 向服务器发起 script 请求 JSONP http://api.douban.com/jsonp?key=3435type=musiccallback=jsonp534533 服务器返回 js 文件 1 jsonp534533({ 2 "code" : 0 3 "data" : [...] 4 }) JSONP 虽然很方便实现前端跨域,但是其弊端也是显而易见的:无法保证安全性。 由于是 script 直接执行,假若提供 JSONP 服务器返回了恶意代码 (如被黑客入侵),这样将会十分危险。恶意代码可以向页面插入广告或者直接重定向第三方站点、甚至可以窃取 cookie 用 N 种方式发送到第三方服务器,这些都直接威胁站…
quickdb另辟捷径高效解决NOSQL数据库 数据持久性问题
目前的NOSQL主要分为两种,一种是基于内存型的如redis、memcached,一种是基于磁盘型的如Tokyo Tyrant、Tokyo Cabinet、Berkeley DB。 redis、memcached这类内存型NOSQL。虽然读写效率很高,但是有一个大问题,就是数据库持久性。memcached是一重启进程数据就没 了。redis支持两种持久化方式,一种是 Snapshotting(快照)也是默认方式,另一种是Append-only file(缩写aof)的方式。但是这两种效率都不高。 怎样才能做到高效读写,又能保持数据持久性了? quickdb 是 一款基于内存文件系统的 HashTable数据结构的Key-Value数据引擎. . 什么是内存文件系统了?就是操作系统把系统内存划出一部分当作硬盘使用。你可以像操作磁盘那样的操作内存。但效率远远比硬盘来的快多了。通俗叫做内存文件 系统,只要服务器不重起数据将一直都在。 通俗的来讲 redis、memcached是自己申请内存管理数据。当进程重启或者挂了就会丢失数据。quickdb是把实体数据储存在内存文件系统里的。当 quic…
错误消息:“当前页面的脚本导致 Internet Explorer 运行缓慢”
概要 由 于运行某些脚本可能需要较长的时间,因此 Internet Explorer 会提示用户决定是否要继续运行这些缓慢的脚本。 某些测试和基准可能使用了运行时间较长的脚本,并希望增加到消息框提示之前的等待时长。在 Internet Explorer 中,可以在特定的客户端计算机上通过修改注册表项更改脚本超时值。 更多信息 有时,网页包含需要很长时间来运行的脚本。如果您在某个网页上编写 ActiveX 控件的脚本以传输较大的文件或执行大型数据库查询,往往会造成显著的时间延迟。Internet Explorer 3.02 检测较长的延迟并用对话框提示用户阅读以下内容: 此页包含需要很长时间才能完成的脚本。要立即结束此脚本,请单击“取消”。 Internet Explorer 版本 4.0、5.0、6、7 和 8 的等效消息框显示以下内容: 当前页面的脚本导致 Internet Explorer 运行缓慢。如果继续运行,您的计算机可能会停止响应。是否要终止此脚本? 此机制允许用户停止意外进入无限循环的脚本,否则执行速度会十分缓慢。 在 Internet Explorer 3.02 中,此…
升级FlashPlayer导致视频采集卡无法正常使用的解决方法
自从更新至FlashPlayer11以来,笔者的采集卡一直无法采集到320*240以上分辨率的视频,而换回老版本的FlashPlayer则可以,今天偶然发现可以用一款名为flashxf.exe的小工具修复后可以恢复正常. 点此下载该工具.
Sphinx 2.0.3 发布,全文搜索引擎
全文搜索引擎 Sphinx 发布了最新的 2.0.3 版本,可从这里 下载 。 这是自 0.9.9 版本以来的第一个稳定发行版本,包括稳定的经过大量测试的实时索引技术,64位的 MVA 支持,基于表达式的ranker、关键字字典等多项新特性,完整列表请看 changelog . Sphinx是一个基于SQL的全文检索引擎,可以结合MySQL,PostgreSQL做全文搜索,它可以提供比数据库本身更专业的搜索功能,使得应用程序更容易实现专业化的全文检索。Sphinx特别为一些脚本语言设计搜索API接口,如PHP,Python, Perl ,Ruby等,同时为MySQL也设计了一个存储引擎插件。 更多关于 Sphinx 的详细信息,或者下载地址请点 这里
JAVA分别实现Windows平台和Linux平台下的ip获取
一般我们很容易获取Windows系统下的ip信息,比如: java package com.han ; import java.net.InetAddress ; import java.net.UnknownHostException ; /** * 程序实现了Windows平台下获得本机ip地址 * @author HAN * */ public class InetAddressObtainment_Windows String hostname ; String hostaddress ; void initialize try InetAddress ia = InetAddress . getLocalHost ; //获得本机网络地址对象 hostname = ia. getHostName ; //获得对应主机名 hostaddress = ia. getHostAddress ; //获得对应主机地址 catch UnknownHostException e // TODO Auto-generated catch block e. printStackTrace ;…
7 个开源的TTS(文本转语音)系统推荐
TTS(Text To Speech,文本转语音)是语音合成应用的一种,它将储存于电脑中的文件,如帮助文件或者网页,转换成自然语音输出。TTS可以帮助有视觉障碍的人阅读 计算机上的信息,或者只是简单的用来增加文本文档的可读性。TTS经常与声音识别程序一起使用。 本文主要介绍7款开源的TTS系统,你可以用来学习,也可以在你的项目中使用。 1. MARY Text-to-Speech System MARY是一个采用Java开发的、多语种的文本转语音平台,它支持:德语、英语、美式英语、泰卢固语、土耳其语和俄语。 2. SpeakRight Framework Helps to build Speech Recognition Applications SpeakRight 是一个 Java 框架,用于编写语音识别应用,基于 VoiceXML 技术。使用 StringTemplate 模板引擎自动生成 VoiceXML 文档。 3. Festival Speech Synthesis System Festival提供了一个通用的框架,用于构建语音合成系统,该系统包含了各种模块示…
CSDN明文口令泄露的启示
2011年12月21日晚,某计算机专业的大学生寝室,某同学大叫到:“兄弟们,最新的日本XX女星的AV片已经下好,大家快过来看啊,相当精彩 啊~~~”,然而,这个寝室里的其它同学似乎没有听到这哥们的呼喊,于是,这哥们又叫了三次,没有人理他,因为大家都在眉飞色舞地谈论着CSDN的明文密 码和用户帐号泄露的事情,并在网上查找着下载CSDN那600万的用户数据……上面这个故事是我编的,只是想描述一下昨晚的情形。 其实,CSDN明文密码并不是什么稀奇的事情,我是2000年注册CSDN的吧,当时找回口令的机制就是把口令直接传回来了,这一定是明文了。去年 去CSDN参加移动互联网沙龙的时候,范凯和蒋涛说过明文密码的事,不过他们说的是很早以前的事了,而且一笔带过了。1年后的今天,事情又暴了,可见, “出来混的,迟早是要还的”这句话是几近真理的。 我在以前的BLOG里就提到过CSDN的明文密码(在“ 如何设计用户登录功能 ”一文)和 帐号泄露(“ 如何设计自己的口令 ”) 的事( 由此可见,酷壳里的很多文章里的事都应验了 ,因为我知道“出来混的,迟早是要还的”) ( 可悲吧?还是程序员的网站呢,明文口令…
你会做Web上的用户登录功能吗?
Web上的用户登录功能应该是最基本的功能了,可是在我看过一些站点的用户登录功能后,我觉得很有必要写一篇文章教大家怎么来做用户登录功能。下面 的文章告诉大家这个功能可能并没有你所想像的那么简单,这是一个关系到用户安全的功能,希望大家能从下面的文章中能知道什么样的方法才是一个好的用户登录 功能。 以下内容,转载时请保持原文一致,并请注明作者和出处 。 用户名和口令 首先,我们先来说说用户名和口令的事。这并不是本站第一次谈论这个事了。 如何管理自己的口令 让你知道怎么管理自己的口令, 破解你的口令 让你知道在现代这样速度的计算速度下,用穷举法破解你的口令可能会是一件很轻松的事。在这里我想告诉从开发者的角度上来做设计这个用户名和口令的事。下面一几件规则: 限制用户输入一些非常容易被破解的口令 。如什么qwert,123456, password之类,就像 twitter限制用户的口令 一样做一个口令的黑名单。另外,你可以限制用户口令的长度,是否有大小写,是否有数字,你可以用你的程序做一下校验。当然,这可能会让用户感到很不爽,所以,现在很多网站都提供了UX让用户知道他的口令强度是什么样的(比如 …
如何管理并设计你的口令
在互联网上,需要我们输入用户名口令的地方实在是太多了,多得都让人记不过来了,N个电子邮件帐号,QQ, MSN,校内,开心,facebook,Blog,各种论坛,网银,淘宝,电子相册……,太多了,想想看,你要用多少用户名口令,相信很多人可能会这样 做,用几乎一样的口令和用户名来申请所有的这些帐号,我估计这是大多数人的做法。当然,这样一来,你就需要保管好你的用户名和口令了,因为只要被破解了, 就相当于你所有的帐号被破解了,这是多数恐怖的一件事情啊。你可能觉得别人破解你的口令很难,但我告诉你也许会非常容易,因为,如果你只使用一样的用户名 和口令的话,也许某天,你注册了一个不知名的小网站,可能会意味着你所有的用户名和口令都被人获取了,要小心啊。 对我来说,我通常会有几组组帐号和密码, 一个帐号/密码是用于一些大的可以依赖的站点,如:MSN,gmail,linkedin,facebook,hotmail等,因为我相信这些站点应该可以足够信任不会出卖用户信息,也有足够的能力不会让用户信息和口令外泄。 一个帐号/密码用于一些国内的一些大的网站,如:QQ,开心,CSDN,Sina,网易,Blog,同学…
传播、沟通、分享