平时找回密码用的最多的有2种机制,一是回答预设问题来重置,二是通过邮箱重置密码,想了一下第一种很容易实现,但用户注册时必须输入一大堆信息就很不好,第二种就很方便。
Tag Archives: 后端
Django用户授权认证系统
大致看了Django自带的用户授权认证系统,还是非常复杂的,实际开发中,我们可以直接用这套系统处理各个用户之间的权限,组等问题,我今天使用了一下它最简单的登陆注销,十分方便就能实现,不用去关心Cookie和Session的处理问题。
Django编写第一个app
看了一天的The Django Book,被Django的两点多吸引,1是自己配置url形式,这个真的太方便了,想当时为了为了仿notepad.cc的url形式,研究了半天的.htaccess。。。WordPress的自定义固定链接我不知道是怎么实现的,Django到能轻易实现,url可以变得非常灵活;2是Model和数据库的对应,在SSH架构中,需要一个hbm.xml和一个实体类,Django里只需定义class即可,而且可以直接说明many-to-many或one-to-many,非常快。当然忍不住也想自己试试敲几行代码,这个app非常简单,实现了用户登陆的功能,显示一个表单供用户登陆,成功就显示成功。
Struts2 jQuery 实现无刷新验证
在注册时我们需要验证用户所输信息的正确性,如果待用户提交表单一次性验证,体验不是很好,所有我们可以利用jQuery实时验证,很多网站都有这个功能,这里我们也简单的来实现一下。以验证用户名为例,可以这样实现:当用户名的输入框失去焦点时,利用jQuery的post方法通过HTTP POST 将用户名以JSON格式传向服务端,服务端接收数据判断后以JSON格式传给jQuery的回调函数即可,很简单的。
北邮互联网治理与法律研究中心被黑小记
昨日下午3点左右,有人爆“北京邮电大学互联网治理与法律研究中心”被黑,进入发现文章内容为现愤怒的小鸟之鞋砸校长版——Angry Shoes——估计隐射当时方校长被砸鞋事件,几分钟后围观人数过多,该网站不间断地出现“Service Unavailable”。
Struts 防止表单重复提交
最近开发中碰到了一个重复提交表单的问题,这应该这个非常危险的问题,可能会造成数据库增加大量数据,看了几种解决办法,有用JS提交后将button改为disable的,这其实并没有解决,特别是网络不流畅情况下,也有用cookie的,这里介绍一下Struts的Token机制,基本原理:服务器端在处理到达的请求之前,会将请求中包含的Token值与保存在当前用户会话中的Token值进行比较,看是否匹配,在处理完该请求后,且在答复发送给客户端之前,将会产生一个新的Token,该Token除传给客户端以外,也会将用户会话中保存的旧的Token进行替换,这样如果用户回退到刚才的提交页面并再次提交的话,客户端传过来的Token就和服务器端的不一致,从而有效地防止了重复提交的发生。
PHP实现URL重写
WordPress的文章大部分地址都是url重写的,下面介绍下利用.htaccess实现url重写。
首先看一个地址:http://yilee.info/notepad1/note/yilee 这个地址的yilee其实是虚拟的,note也并不是一个文件夹,实现起来很简单,在目录下加个.htaccess文件,内容是:
ForceType application/x-httpd-php
</Files>
ok,第一步完成,很容易理解,Apache看到note的url都会当做PHP去处理,在note里我们就要处理这个url了,上PHP代码:
$fields = explode(‘/’, $_SERVER['REQUEST_URI']);
?>
$fields是一个数组,其中$fields[3]就是本文中yilee,其它可以自己尝试,重写完毕,剩下的就靠自己发挥了。
使用Dropbox对虚拟主机进行备份
对网站进行备份是一个好习惯,将网站备份到其他网盘或者保存在自己的计算机上, 保证我们自己的网站万无一失,当出现意外时我们可以根据备份还原我们的系统。
对于备份自己的网站, 一般分成两个部分:网站程序和数据库。
cPanel已经提供了文件备份和数据库备份,而且也很方便,一键就可以备份整站,不过不能实现增量备份。
下面说一下用Dropbox备份虚拟主机,没有Dropbox的可以用http://db.tt/CFMycEr这个地址注册, 在原来基础上可以多加500M容量,自行解决翻墙问题。
要求是拥有国外的Linux虚拟主机(国内访问较困难。。。),而且虚拟主机需要有SSH权限。