摘要:
1.1.1 摘要 最近网络安全成了一个焦点,除了国内明文密码的安全事件,还有一件事是影响比较大的——Hash Collision DoS(通过Hash碰撞进行的拒绝式服务攻击),有恶意的人会通过这个安全漏洞让你的服务器运行巨慢无比,那他们是通过什么手段让服务器巨慢无比呢?我们如何防范DoS攻击呢?本文将给出详细的介绍。1.1.2 正文 在介绍Hash Collision DoS攻击之前,首先让我们复习一下哈希表(Hash table)。 哈希表(Hash table,也叫散列表),是根据关键码值(Key/Value)而直接进行访问的数据结构。也就是说,它通过把关键码值映射到表中一个位置来访问记 阅读全文
随笔档案-2012年12月
网络安全 - Cross-site scripting
2012-12-31 12:45 by Danny.tian, 472 阅读, 收藏,
摘要:
1.1.1 摘要 在本系列的第一篇博文中,我向大家介绍了SQL Injection常用的攻击和防范的技术。这个漏洞可以导致一些非常严重的后果,但幸运的是我们可以通过限制用户数据库的权限、使用参数化的SQL语句或使用ORM等技术来防范SQL Injection的发生,接来了要向大家介绍Cross-site scripting(XSS)。 定义:Cross-site scripting(XSS),是一种经常出现在Web应用中的计算机安全漏洞,它允许恶意Web用户将代码植入到提供给其它用户使用的页面中。比如,包括HTML代码和客户端脚本的页面。为不和层叠样式表(CSS)的缩写混淆,通常将跨站脚本缩写 阅读全文
网络安全 - SQL Injection
2012-12-31 11:12 by Danny.tian, 817 阅读, 收藏,
摘要:
1.1.1 摘要 日前,国内最大的程序员社区CSDN网站的用户数据库被黑客公开发布,600万用户的登录名及密码被公开泄露,随后又有多家网站的用户密码被流传于网络,连日来引发众多网民对自己账号、密码等互联网信息被盗取的普遍担忧。 网络安全成为了现在互联网的焦点,这也恰恰触动了每一位用户的神经,由于设计的漏洞导致了不可收拾的恶果,验证了一句话“出来混的,迟早是要还的”,所以我想通过专题博文介绍一些常用的攻击技术和防范策略。 SQL Injection也许很多人都知道或者使用过,如果没有了解或完全没有听过也没有关系,因为接下来我们将介绍SQL Injection。1.1.2 正文 SQL Injec 阅读全文
Go Web开发之Revel - 概念
2012-12-28 15:58 by Danny.tian, 3226 阅读, 收藏,
摘要:
MVC摘要:Model:用于描述你的应用程序域的基本数据对象,Model也包含特定领域的逻辑为了查询和更新数据View:描述怎样展示和操作数据Controller:处理请求的执行,他们执行用户期待的Action,他们决定哪个视图将被用于显示,他们还为视图准备和提供必要的数据用于渲染视图每个请求产生一个Goroutine Revel构建于Go HTTP server之上,它为每一个进来的请求创建一个go-routine(轻量级线程),这意味着你的代码可以自由的阻塞,但必须处理并发请求处理。Controllers and Actions 每一个HTTP请求调用一个action,它处理请求和输出.. 阅读全文
Go Web开发之Revel - 介绍
2012-12-28 15:53 by Danny.tian, 3287 阅读, 收藏,
摘要:
Revel框架的资源如下:Revel的新东东? 概念.Mailing ListSearch our mailing list (revel-framework@googlegroups.com)帮组邮箱Send an email to the revel-framework@googlegroups.comBug提交Open an issue on github. 阅读全文
Go Web开发之Revel - Hello World
2012-12-28 14:43 by Danny.tian, 3070 阅读, 收藏,
摘要:
下面结合之前创建的myapp做一个提交表单的demo首先编辑app/views/Application/Index.html模板文件添加一下form表单<form action="/Application/Hello" method="GET"> <input type="text" name="myName" /> <input type="submit" value="Say hello!" /></form>刷新表单我们提 阅读全文
Go Web开发之Revel - 网页请求处理流程
2012-12-28 12:59 by Danny.tian, 4865 阅读, 收藏,
摘要:
我们之前已经已经创建了myapp的应用,现在我们来看看revel是如何处理一个浏览器访问http://localhost:9000的请求的。Routes(路由)首先revel会检查conf/routes文件,这个文件包含一个路由,如下:GET / Application.Index这个路由信息告诉revel当访问 / 路径是应该调用Application Controller的Index方法Actions(行为)下面我们我们来看一下Controll中的Action,所在路径为app/controllers/ap... 阅读全文
Go Web开发之Revel - 创建你的第一个App
2012-12-28 11:35 by Danny.tian, 4723 阅读, 收藏,
摘要:
使用下面的revel命令行工具在你的GOPATH中创建一个空的项目并运行打开你的浏览器访问http://localhost:9000,出现下图表示程序可以正常工作了至此结束。 阅读全文
Go Web开发之Revel - Getting Started
2012-12-28 11:18 by Danny.tian, 7093 阅读, 收藏,
摘要:
今天开始对revel框架做一些开发和总结,首先从官方的Getting Started开始1. 安装Go开发环境,还不会的可以参考搭建Go语言开发环境-基础篇及搭建Go语言开发环境-优化篇2.建立GOPATH目录并下载revel源代码mkdir ~/gocodecd $GOPATHgo get github.com/robfig/revel3.编译revel命令行工具,revel自己封装了go的命令行工具,创建revel项目、打包发布基本都用这个工具,执行下面的命令go build -o bin/revel github.com/robfig/revel/cmd4.可以将编译出来的revel命令 阅读全文
WebRTC 文章汇总
2012-12-20 17:13 by Danny.tian, 375 阅读, 收藏,
摘要:
GETTING STARTED WITH WEBRTC:http://www.html5rocks.com/en/tutorials/webrtc/basics/ 阅读全文
Go 贡献者 minux.ma 关于内存泄漏问题的详细解释
2012-12-11 14:14 by Danny.tian, 1479 阅读, 收藏,
摘要:
目前Go使用的GC是个保守的GC,换句通俗的话说就是宁可少释放垃圾不可误释放还在用的内存;这个反映在设计上就是会从堆栈、全局变量开始,把所有可能是指针的字全部当作指针,遍历,找到所有还能访问到的内存中的对象,然后把剩下的释放。那么如何判断一个字(uintptr)可能是指针呢?大家知道Go的内存分配是参考的tcmalloc,并做了一些改动,原先tcmalloc是使用类似页表的树形结构保存已经从操作系统中获得的内存页面,Go使用了另外一个办法。由于Go需要维护每个内存字的一些状态(比如是否包含指针?是否有finalizer?是否是结构体的开始?还有上面提到的是否还能访问到的状态),综合在一起是每个 阅读全文
Go开发常见问题
2012-12-10 17:46 by Danny.tian, 502 阅读, 收藏,
摘要:
1、疑问:go get 命令不能下载到GOPATH,在使用go get github.com/robfig/revel 时,发现一个奇怪的问题,为啥运行命令后在GOPATH/src下面找不到下载的文件捏?原因:如果第一次没有设置GOPATH的话,调用go get github.com/robfig/revel源代码会被下载到GOROOT/src/pkg里面,即使之后设置了GOPATH也会因为之前已经下载到了GOROOT下面而不会下载到GOPATH里面,只有删除了GOROOT里面的文件才会优先考虑GOPATH。 阅读全文
Sublime text 2 使用备忘
2012-12-08 20:31 by Danny.tian, 355 阅读, 收藏,
摘要:
快捷键 Control + `调出控制台Ctrl+Shift+P弹出Package ControlCtrl+鼠标左键点击同时选择多个词Ctrl+P弹出万能跳转,后续操作@可跳转到函数,#可跳转到相关词汇,:可跳转到具体行号,还可以输入文件名然后接@ # :组合查询Ctrl+D一直按可以逐个将相同的词加进来Alt + F3一次选择所有相同的词Ctrl+L选择整行(按住-继续选择下行)Ctrl+KK从光标处删除至行尾Ctrl+Shift+K删除整行Ctrl+Shift+D复制光标所在整行,插入在该行之前Ctrl+J合并行(已选择需要合并的多行时)Ctrl+KU改为大写Ctrl+KL改为小写Ct.. 阅读全文
搭建Go语言开发环境-优化篇
2012-12-08 14:53 by Danny.tian, 3834 阅读, 收藏,
摘要:
在上篇搭建Go语言开发环境-基础篇中提到的Go环境变量设置准备在这篇文章中进行一下优化已增加开发效率之前的环境变量export GOROOT=$HOME/goexport GOBIN=$GOROOT/binexport GOARCH=amd64export GOOS=linuxexport PATH=$GOBIN:$PATHexport GOPATH=$HOME/goprograms修改后的环境变量~/.bashrc文件变成了如下这样:export GOROOT=$HOME/goexport PATH=$GOROOT/bin:$PATH为什么要删除GOBIN GOARCH GOOS呢??因为系 阅读全文
搭建Go语言开发环境-基础篇
2012-12-08 10:54 by Danny.tian, 4611 阅读, 收藏,
摘要:
1. 安装Go环境(源码安装)配置环境变量打开~/.bashrc,添加如下变量export GOROOT=$HOME/goexport GOBIN=$GOROOT/binexport GOARCH=amd64export GOOS=linuxexport PATH=$GOBIN:$PATHexport GOPATH=$HOME/goprograms运行source ~/.bashrc安装Go工具链sudo apt-get install bison ed gawk gcc libc6-dev make git安装Mercurialsudo apt-get install mercurial下载 阅读全文
浙公网安备 33010602011771号