-
回避 zend framework session 问题
日期:2008-12-15 | 分类:班门弄斧
有两个完全相同的登录页面,index 和 login ,都有验证码,因为是copy ,验证码就保存在相同的 SESSION 变量 A 中,去同一个验证页面进行验证。但每次调用任何页面(包括 login)都会运行一次 index 页面(不知道是什么原因,zend framework 每次dispatch 的时都要运行 IndexController/indexAction,我原以为只是运行 index.php 而已)。所以在 login 页面登录时定义了 A ,然后在 index 里又改变了 A,这样在验证页面总是验证码过不了。
看了说明文档也不知道为什么会运行 index 页面,苦恼中,突然想到为什么不可以用不同的SESSION 变量来存储这两个页面的验证码呢……index 页面 用 A 来验证,login 页面用 B 来验证,B 只在login 页面里定义。事情就变得超简单了。就像搭车,如果你不想和某人一起搭,就搭和他不同的车吧,广州的公车还是挺多的。
我们在执着于某事的时候,需要横向发散的思维。达到目的的路径不止一条,豁达会让人轻松自如。
-
整合了paypal,觉得有点成就感,所以记一记。
paypal,很复杂很强大。对于新接触的人来说,他确实是很复杂的东西,结构大致如下:
website payment standard
PDT
IPN
website payment pro
derect payment
express checkout
standard 和 pro 两种应用都是一个原理,发送信息到paypal ,然后再从paypal 获取验证的信息。发送信息给paypal 使用 ssl 协议,php 里面有 fscokopen 函数或者 php_curl 组件可以实现。这些 paypal 网站里都有范例。
standard 应用很简单,商家只需要paypal 帐户的email 就可以了,主要有PDT 和 IPN 两种方式向paypal 网站发送信息,并获取paypal 的回应来做验证,PDT 是用GET 方法来获取返回,IPN 用POST 方式获取返回,所以IPN 的信息会详细一些。买家在paypal 网站里可以选择使用信用卡或者paypal 来付款。不用验证可以接收到paypal 返回的信息,但是很不安全。
pro 应用需要商家提供 paypal 帐户的API 信息,其中derect payment 是信用卡支付,界面完全在商家网站就可以完成。express checkout 是paypal 支付,要进入到paypal 网站。两种都是使用API 来完成信息的发送、接收和验证的。
弄清了这些关系,就可以根据自己的需要来选择整合。paypal 网站里有很详细的资料,最关键是知道以上的结构,然后查起资料来就很简单了。我只是需要支付,paypal 还有认证等别的功能,我不需要,就没管了。 -
zend framework 关于mod_rewrite 的需要
日期:2008-11-10 | 分类:班门弄斧
偶然间访问网站时把地址写成 path/to/site/index.php ,发现网站还是可以运行的。只是view helper : baseUrl() (就是 Getting Started with Zend Framework 里面介绍的helper) 也会在后面加上 index.php,如果图片或者文件的链接都是用了baseUrl helper 的话,就会出错。简单的方法就是改一下baseUrl helper 就可以了。
为什么要说前面的东西呢? 主要是发现了 zf 还是可以通过 index.php(文件名) 来访问 index.php 的。zf 的原理是把所有文件的访问都引向 index.php(通过.htaccess),然后再由 zend_controller_action 来 router。使用.htaccess 必须打开服务器的 mod_rewrite 模块,如果管理员可以给你打开这个模块,那就太好了。但是一般租用的服务器,管理员从安全和高效来考虑,是不打开的。zf 就不可以使用了吗?很多人都说可以,我也是看了一些文章,在这里总结一下自己的看法:
其实很简单,就是在访问的时候直接加上 index.php 就可以了。
例如 正常情况下的URL : path/to/site/controller/action
我们只要改成 : path/to/site/index.php/controller/action (还要把 .htaccess删除)如果你用了baseUrl helper 来做图片和链接的地址,那就要改写图片的链接了……
很多人会考虑是否要把 “用户友好” 的URL 改写回 Query 的URL,其实不用,因为这部分功能是由zend_controller_action 来实现的,而 mod_rewrite 模块的打开是配合使用.htaccess 对目录访问的限制和引而已吧。
-
zend_framework 处理不存在的 controller
日期:2008-11-05 | 分类:班门弄斧
我的第一个项目准备完成了,使用了 zend_framework 框架,MVC 的好处不说了,看了 N 次 zend_framework 手册,都没有搞清楚 zend_framework 怎么处理不存在的页面的(不过中英版本一起看才知道英文版比较好理解些)。
最后在 atoat 的空间里找到了答案,在此记下,也谢谢 atoat 的贡献。
zf 处理不存在的 controller 使用的是默认 errorController.php 的 errorAction 来实现。
errorController.php :
<?php
class ErrorController extrends Zend_Controller_Action
{
public function errorAction()
{
// 有个前提:在index.php 里要设置 $frontController -> throwExceptions(false);
// 注意 这里是errorAction ,默认的是 error.phtml
}zf 处理不存在的 Action 就比较容易找了,在手册里也找得到。即在每个 controller 里定义一个 public function __call() 就可以了。
-
解决“'mysql'不是内部或外部命令……”
日期:2008-08-29 | 分类:班门弄斧
以前用 mysql 都是通过 phpmysqladmin 或者 Navicat for MySQL ,它们提供了很方面的界面。不过如果过一段时间初始化数据库,用命令行把原来的命令再运行一次就简单多了(当然把命令写在一个php文件里就可以),所以试着从命令行里进入mysql ,在 cmd 里输入 “mysql -u root -p” ,得到的提示是“'mysql'不是内部或外部命令……”。
试着改变cmd目录,cd c:\xampp\mysql\bin ,在这里在输入 mysql -u root -p ,成功。看来mysql 没问题,只是系统变量设置。“我的电脑--属性--高级--环境变量”,在 系统变量 里找到 path ,添加 “c:\xampp\mysql\bin ” ,ok了。
-
现在学车的人超多,我也在学,虽然没考试,但从教练处听说最主要是倒桩
。严格地说,桩试考的是蝴蝶桩,是按照右边的线路图来进行的。而这一过程当中的难点就在倒桩上。左后倒和右后倒。每个教练都会有不同的方法和技巧,我学的是皮卡车,总结了一下,有几种方法:
1. 回头往后看,桩在哪边就从哪边回头,右后倒时眼睛在桩的对角线上时立刻打满方向盘,差不多进乙库时调整,尽量右车尾和图中点2保持30厘米的距离,进库后就看着车尾退方向盘,保持车在库里的转角不要超过90度。左后倒要比右后倒早一点打方向盘,因为视角的关系,早多少可以在实践中获得。
2. 回头看车尾的位置,大概到第一个桩即图中的线段36时就可以打满方向盘了,其他同上。
3.回头看后座车窗里一出现第二个桩即图中的点2时就立刻打满方向盘,其他同上。在这些方法中我觉得第一种最实用,是从网上看来的,其他是我教练教的。
-
上路了!学了三个星期的车,就只是倒桩,而且人还超多,一个小时才有5分钟的上车时间。昨天终于上路了,很是兴奋。
路段是二桥到杨美。大概5公里的河堤路单向三车道,又宽又平, 其他都是县级路,估计只有两辆车宽,还有不少的坡,幸运的是车流不多,所以算是练车的好路。我们12个人,挤上一辆皮卡,浩浩荡荡地出发!教练最大的个性就是没有个性,练了这么久车,只听过他交怎么倒桩,而且只是右后倒,其他就没有关于驾驶的话语了。这次上路我除了兴奋准备的很好外,其余就不知道还有什么。学员们抢位置,我们好几个第一次上路的都只能在后面的车斗里,仍然兴奋。
轮到我开车的时候已经是在县级路上,坐上驾驶位,教练没说什么,我和他说我是第一次上路, 他还是什么。我问了转弯灯在哪,然后按照教练的口号做。打左转弯灯,按喇叭,放手刹,挂1档,踩油门,松离合,前进。可是由于是第一次碰这个油门,完全不习惯加一点油是踩到哪里,一脚踩多了,然后一放又放没了……教练很生气,开骂了,幸好马上就掌握了这个油门。一路上,教练帮着控制方向盘,虽然时速只有20几迈,但还是很爽的!还有一次被教练骂,在一次上坡时,从2档退到1档,不知道是放离合过快还是忘记加油门,总之是死火了。教练又很生气,说这样会把车弄坏,我们大家只得走路回去。然后,在教练的“威严”下,我又重新启动。
由于人数较多,一天下来,每个人就只能开两次。第二次的时候,面对旁边坐着的“威严”的教练,身体不由得紧张起来。虽然没有再犯什么错误,可是已经忘了爽字怎么写了。无知并不是错,学习也没有错对,要知道失败是成功之母。 我很坦然地面对失败,若要无形地多承担一些什么失落、委屈,谁都没有这个权利,who care.
-
arp病毒+木马=天下无敌
日期:2008-02-27 | 分类:班门弄斧
最近局域网受到病毒的严重干扰,症状如下:
arp病毒:欺骗局域网里的所有机器,让其处于网络瘫痪状态。现在的人感觉一个单机放着就是垃圾,非要连上网络之后,它的主人才满意,网速慢了还不乐意。
木马:1.强行在浏览器里加入一行script代码,加入浮动广告;2.点击广告诱发病毒,一不留意病毒就把杀毒软件先干掉,控制双击盘符,并且埋伏在每个 .exe文件中;3.病毒删除注册表里“显示系统文件”项,一见杀毒相关立即结束该进程。
受害人是多为对计算机了解很少,直至发现不能上网才知道有问题。
解决办法: 用antiarp(arp防火墙)检测网络,寻找到 arp 攻击的源 ip ,然后重装该机器,dos下杀毒。局域网里最好都装上antiarp。
局限性:即使有杀毒软件的提示,有些对计算机了解很少的人仍然会放过病毒,私人 U 盘是病毒传播的主要载体。
由于以上种种原因,近几天一直做着重复性地劳动,精疲力尽却毫无作用,我们在砌墙,有人在挖墙脚。竟然还有人很讨厌杀毒软件的提示而置之不理……
理想:全民培训 杀毒软件的使用,安全使用 U 盘。
-
等了很久,很久,实在是太久了,不得已,把原来的数据库删了。从百度快照里找回来一些日志,挽回一点损失,感谢百 度。
偶们复活之后,原来的用户资料也都丢失了,麻烦各位仍感兴趣的人自己到登陆界面注册。不过系统反应时间好象要等一天,有点久,注册后请尽快联系我,我直接提供给您密码。期待您的加入!
天煞的!
-
鼠标中键在 firefox 里的功能
日期:2007-12-13 | 分类:班门弄斧
也许你在用 firefox 上网,为了让它跑得更快,建议不要安装太多的扩展。在随心所欲地使用方面,你知道下面这些功能吗?
在新标签页里打开链接:Middle click
关闭标签页:在标签上Middle click
增大页面字体:Ctrl + Scroll Up
减小页面字体:Ctrl + Scroll Down
后退:Shift + Scroll Down
往前:Shift + Scroll Up
一行行滚动:Alt + Scroll
-
偶们(oumen.net) 没开通几天,数据库就歇菜了。便宜没好货,这是真理。听说当天(12月9日)主机服务提供商在弄数据库,之后,我的数据库就一直连接不上,每查询一个表就提示 Table 某某 doesn't exist。找了很久,估计是权限被改了。也有说 MySQL 的数据库是不可以直接复制到 data 目录下的,移动之后就没用了,必须执行 sql 语句才可以还原。最惨的是上次备份的时候没有留意,备份的 sql 竟是空白!最近主机商正在处理,希望能拯救它。
-
昨晚很晚的时候,发现学校网站目录里多了几个asp文件,打开看,许多代码,还有注释“刘云峰文件上传组件”“木马”之类的。很明显被入侵而且装了木马了。
计算机用户里多了个bindian()用户,网站目录里多了一些文件,数据库里多了两个表,装了远程控制软件pcAnywhere.
百度一下,发现它也入侵过别的网站,并留言说只是善意提醒ASP的漏洞,并没有做破坏。,然后顺便推荐自己,想寻求个职位。
清除了多余的用户名和文件,C盘下可疑的文件也删了。没有发现遭受什么破坏,也许还是一个“善意的提醒”,但是ASP的漏洞还在想办法弥补当中……水平有限,望能得到高手指点。
- 不知它怎样跨过防火墙来入侵,难道ASP漏洞可以骗过防火墙。还要具体查看一下防火墙配置。
- 如果是内网入侵的话,就没有经过防火墙,也就是自己人干的。学生之中好象没发现有谁ASP用得这么好的,批处理命令厉害的还有。
- 说实话,我们的服务器还真没有什么值得别人取的,除非是同类单位、竞争对手,怀着不良的心来窃取“资料”。总算“十分感谢”这位黑客,有高度的职业精神,不烂杀无辜。
- 要恶补ASP知识,但是强烈欲望和极少能用的时间形成巨大的矛盾,领导信息方面的无知致使我们在别的事情上疲于奔命,而在网络里孤军奋战。接下来最重要的是要统一战线,然后才能提出要求。
-
[转贴]某个牛人做的Windows系统文件详解
日期:2007-03-17 | 分类:班门弄斧
-
href后要接"http://"
日期:2007-03-08 | 分类:班门弄斧
发现qingshiedu.com的留言本里的网友链接不对,链接地址前面都自动加上了原站地址:http://qingshiedu.com/网友地址。打开源码看,并没有不对,<a href="<%=rs("link")%> " >,直接调用用户输入的地址。但测试结果链接地址仍然是加上了原站地址。
于是换成链接一个实际地址,比如<a href="http://xiedean.blogbus.com">,正确。偶然发现href 跟的地址必须要加"http:// ",否则都会认为是原站的一个链接,所以自动加上原站地址。
于是改成:<a href="http://<%=rs("link")%>">,并对用户输入的地址进行”http://"判断,有的话就去掉。
-
找出没有盘符的移动硬盘
日期:2007-01-28 | 分类:班门弄斧
插入一80G移动硬盘,WIN2003系统的服务器右下脚弹出了绿色箭头,这是正常的情况。但是打开我的电脑,却没有看到任何一个移动盘符……(移动硬盘我分了3个区)怀疑是中毒了,曾经在摄影组里遇到过这情况,高手来修改了一下注册表就好了。但当时对注册表认识不深,完全不知道修改的是哪里。
换一U盘试试,正常!惨了,难道是我昨晚用移动硬盘时没正常关机导致数据丢失?!在另一机上试,正常。放心了……
插回服务器,右击我的电脑---管理---磁盘管理,看到已识别出移动硬盘,只是盘符的名称为空,系统没有分配路径,于是分别对着空盘符右键,选择“更改驱动器号和路径(C)...” 搞定。
-
一老同志不远几栋楼,抱着电脑来求救,说电脑不行了……真不好意思让老同志跑这么远,本想手头工作送了点再去帮忙的,既然来了,就马上修理起来。很明显的死机,弹出了十几个IE窗口。
本以为很容易解决的,打算在安全模式里清理启动项,结束病毒进程,删除一些病毒文件,再用杀毒软件扫描就好了。但是由于水平有限,根据启动项提示的路径删除了windows下的病毒文件和临时文件,以及一看就是得病毒文件之后,碰到了一个问题:卡巴斯基不能用!没有激活。估计是受权文件被黑了。插上网线,用我一直用着的激活号也不管用了。每次重启,总有windows目录下的一个svchost.exe在运行。清除启动项、删除文件、修改注册表都没有用。正在郁闷的时候,插着网线重启,刚开机就又彪出十几个IE窗口,进程管理器里十几个奇怪的用户进程,事实证明:前面所作的工作都白费了,又回到了起点。而此时已经耗费了一个多小时。
出恨招:放进一张ghostXP盘,加上装驱动,一些常用软件,20分钟搞定。
杀毒,亲自把它的脖子上绞绳,当然很爽了,但是最后没绞死,又陪了买绳的钱那就郁闷了。有时候除了绞杀,还可以直接痛快地一刀下去解决问题。关键是效率!









