在PlayFramework下隐藏后台管理员登录界面的两种方法(限制IP和HTTPS)

最近在做一个网站,网站的内容有些是要管理员修改的,比如招聘信息等,但要修改的信息不是很多,因为想要尽可能的提高安全性,对管理后台的登录做了一些限制,首先想到的是对登录IP做限制,但是现在我们使用的宽带基本上都是动态IP,所以会给用户带来很多不便,于是想到了使用HTTPS,本文讲对这两种方法进行讨论,并给出相应实现。我是在Play framework的环境中开发,但是这个配置流程是普适的。

    1. 绑定IP


这个方法相当简单,在Play的Controller中使用request().remoteAddress()获取远程IP,然后对用户名进行匹配。

如果用户访问/admin/login这种地址,先判断他的IP是否在允许的IP范围内,如果不在,直接重定向到主页,入侵者是不知道这个地址是不存在,还是他的权限不能访问。

    2. 使用HTTPS双向验证


使用HTTPS双向验证并不能够达到管理登录的地址完全对用户透明,使用“绑定IP”的方法,当用户不在允许的IP地址访问/admin/login这种地址,后台可以直接把他重定向到/index, 但是使用HTTPS需要重定向到HTTPS的地址,大致的步骤如下:

转载须以超链接形式标明文章原始出处和作者信息及版权声明

Continue Reading

SSL related knowledge

第一篇尝试使用英文写作的文章,之前写好了,然后被自己脑残的一条update全没了,又重新写吧。

Several months ago, I wrote a project, the main purpose of which is to manage certificates, establish secure connection over HTTPS, and do a list of verifications regarding certificates downloaded from backend server, to achive the goal, I reviewed a lot of source code of OpenSSL, BTW, I, recently, realize that greate product might consist of a bunch of messy source code, which, however, doesn’t undermine the greatness of itself,also read a lot of wiki pages, stackoverflow pages, finally got the job done. Summerizing the knowledge acquired during the process would make it easier for future use I suppose, in case I will forgot, which I definetely will, in the future.

KK笔记:kknotes.com
本文链接地址: SSL related knowledge

转载须以超链接形式标明文章原始出处和作者信息及版权声明

Continue Reading

20150822 我的健身知识心得

开始关注健身也快一年了,攒了很多知识,在这里总结下,如果一年后,五年后,十年后,我还好好地活着这个世界上,在翻来看,估计也是别有一番滋味。

这里很多东西是自己的私货,很多细节已经完全略去,也可能有不对的地方。

健身,纵向来讲,可以分为三块芝士:
1. 健身知识
2. 肌肉解剖学
3. 运动营养学
横向来讲,有增肌,减脂,减肥(其实减肥是个伪概念),etc。。。

首先来讲第一个,肌肉解剖学

KK笔记:kknotes.com
本文链接地址: 20150822 我的健身知识心得

转载须以超链接形式标明文章原始出处和作者信息及版权声明

Continue Reading

用Swift开发二维码扫描器教程

 

(原文:Building a QR Code Reader in Swift 作者:Simon Ng 译者:xiaoying )
我相信大多数人都知道二维码(QR code)是什么,如果你对这个概念还不甚了解,那么看看下边那张图就知道了。

二维码是在二维平面里展示的一种条形码,开发者是Denso。最初它只是在制造业用来进行零部件跟踪,但是随着时间的发展,今天二维码已经在消费领 域变得非常流行,在消费领域二维码通常会被用来编码一个登录页面或者推广页面的URL。与传统的条形码不同的是,二维码在水平和垂直方向上都可以存储信 息,这样做的直接好处就是在二维码里可以同时以数字和字符的格式存储大量的信息。但是在这里我不会去探讨太多二维码的技术细节。如果感兴趣,可以去二维码 的官方网站了解更多信息。

KK笔记:kknotes.com
本文链接地址: 用Swift开发二维码扫描器教程

转载须以超链接形式标明文章原始出处和作者信息及版权声明

Continue Reading

使用iPhone为Apple Watch制作动画

(原文:Make Animations for APPLE WATCH Using iPhone 作者:Andy Drizen 译者:xiaoying)

无论要做一个像hamburger button 这样小的特性还是要做一个全新的用户界面,动画都是在iOS应用开发中非常重要的一环。一个重要的原因是因为苹果已经在UIKit和Core Animation的库中集成了很多常规特性,这使得对于开发者而言,实现这些动画变得非常简单。在实际开发中可以通过一些参数来控制这些动画的属性(例 如duration, easing, 延迟, 重复次数, auto reserve),苹果还提供很多其他可以做动画 (例如,通过指定frame,背景颜色,透明,transform)的控件,这些控件可以拿来即用,我们确确实实的被它们给宠坏了。那么,如果我们在一个 没有这么美好的平台下工作呢?

KK笔记:kknotes.com
本文链接地址: 使用iPhone为Apple Watch制作动画

转载须以超链接形式标明文章原始出处和作者信息及版权声明

Continue Reading

iOS开发者如何提高自己的水平?

(原文:”http://www.bignerdranch.com/blog/leveling-up/” Leveling Up 作者:Mark Dalrymple 译者:xiaoying )

levelUp.jpg

不知道你有没有参与或是旁观过iOS开发的黑客马拉松,我觉得这是非常好的事情,在这里人们几乎不睡觉,一起脑洞大开,在Objective-C运 行时环境下,利用iOS的相关知识攻城略地,度过激情四射的72个小时。对于我来说,它们让人心潮澎湃,我的所有平台知识都在头脑风暴下接受考验,我的技 能也得到锤炼。

在某场活动里有一次我和我们组的一个伙伴在聊天的时候,他问我:“MarkD,我要怎么样才能学到所有那些知识的细节?我觉得我现在有点迷茫,我的 编程工作好像就是使用tableview和一些其他有的没的。”这是个让人不敢轻易回答的问题,尤其当这个问题是从一个经验丰富的工程师口里问出来的时 候,像“呃,你只要不断地去实践就好了”这种答案肯定是不负责任的。

KK笔记:kknotes.com
本文链接地址: iOS开发者如何提高自己的水平?

转载须以超链接形式标明文章原始出处和作者信息及版权声明

Continue Reading

WatchKit开发小窍门

本文由CocoaChina译者xiaoying翻译自苹果开发者中心,原文:WatchKit Development Tips
使用这些小窍门和最佳实践来优化你的WatchKit应用。

通用指导

使用图片序列来创建动画

Apple Watch中的动画是通过系统循环播放序列化命名的图片资源来实现的。另外,你可以通过定义重复次数来让一些图片在特定持续时间内动画,或者通过把持续时间设置为负数来逆向显示动画序列。

在Apple Watch上存储图片序列

当动画启动时,动画序列应该存储在Apple Watch上。事先在WatchKit应用中存储这些图片序列,或者通过WKInterfaceDevice在图片缓存中添加一个可以做动画的 UIImage对象来创建并且存储这些图片序列以备使用。想要减少加载时间,可在保证传递视觉效果的同时,尽可能使用最少的图片。

KK笔记:kknotes.com
本文链接地址: WatchKit开发小窍门

转载须以超链接形式标明文章原始出处和作者信息及版权声明

Continue Reading

20141231 匆匆这年

一女学生上课迟到,被罚跑圈,不久下起了大雨,忽然女生觉得雨停了,一看原来有一男生在她身边打着伞陪跑,女生脸上泛起绯红。故事讲到这里,照例该进一段 广告……听说,下雨天和巧克力更配哦……可那女生却说,我,有男朋友了,人生如此的艰难,就是因为有些事总是被拆穿,怎料那男生说:我不来,你男朋友就要 来,我怎么忍心他受苦…

这年间,又学到了很多段子,有的拿性取向开玩笑,有的拿挖掘机开玩笑,更甚者拿辣条开玩笑,看完辣条的段子我点开了淘宝,买箱辣条怀怀旧。

KK笔记:kknotes.com
本文链接地址: 20141231 匆匆这年

转载须以超链接形式标明文章原始出处和作者信息及版权声明

Continue Reading

Swift项目实践经验

本文由CocoaChina翻译组成员xiaoying翻译自http://making.duolingo.com/,原文:Real World Swift

最近我们刚刚发布了一款新的基于Swift的应用,当时还被苹果着重推荐了,目前它已经获得了相当多的用户。在这片文章里,我们想要分享一下这些经验,把我们对于这个新语言的看法呈现给大家,并且指出Swift中那些可以让我们写出更好程序的新特性。

这不是一篇Swift入门指南,这篇文章的受众是那些对Swift并不是很熟悉,而且好奇Swift在真实的编程过程中是怎么样子的开发者。我们会引用一些技术概念并且会在合适的地方提供关于它们的入门指南和文档的链接。

KK笔记:kknotes.com
本文链接地址: Swift项目实践经验

转载须以超链接形式标明文章原始出处和作者信息及版权声明

Continue Reading