[PHP语言开发学习笔记] 四、用PHP实现验证码
PHP实现验证码判断需要用到三类主要PHP函数
分别是:1.字段截取函数 2.图像处理(绘入)函数 3.随机数函数
验证码的实现原理是在服务器端产生一个随机字符串,然后保存在服务器中,以图形方式发送到客户端。客户端在登录的时候输入验证码,如果与服务器端保存的验证码一致,则通过验证;否则重新生成一个验证码发送到客户端。每次的验证码是随机生成的。
关于随机数、随机数种子当时在毕业设计里面有涉及到,现在做一个比较专业的解释:
阅读全文…
PHP实现验证码判断需要用到三类主要PHP函数
分别是:1.字段截取函数 2.图像处理(绘入)函数 3.随机数函数
验证码的实现原理是在服务器端产生一个随机字符串,然后保存在服务器中,以图形方式发送到客户端。客户端在登录的时候输入验证码,如果与服务器端保存的验证码一致,则通过验证;否则重新生成一个验证码发送到客户端。每次的验证码是随机生成的。
关于随机数、随机数种子当时在毕业设计里面有涉及到,现在做一个比较专业的解释:
阅读全文…
php编程中经常需要用到一些服务器的一些资料,特把$_SERVER的详细参数整理下,方便以后用到,以后搜索方便
$_SERVER['PHP_SELF'] #当前正在执行脚本的文件名,与 document root相关。
$_SERVER['argv'] #传递给该脚本的参数。
$_SERVER['argc'] #包含传递给程序的命令行参数的个数(如果运行在命令行模式)。
$_SERVER['GATEWAY_INTERFACE'] #服务器使用的 CGI 规范的版本。例如,“CGI/1.1”。
$_SERVER['SERVER_NAME'] #当前运行脚本所在服务器主机的名称。
$_SERVER['SERVER_SOFTWARE'] #服务器标识的字串,在响应请求时的头部中给出。
$_SERVER['SERVER_PROTOCOL'] #请求页面时通信协议的名称和版本。例如,“HTTP/1.0”。
$_SERVER['REQUEST_METHOD'] #访问页面时的请求方法。例如:“GET”、“HEAD”,“POST”,“PUT”。
$_SERVER['QUERY_STRING'] #查询(query)的字符串。
$_SERVER['DOCUMENT_ROOT'] #当前运行脚本所在的文档根目录。在服务器配置文件中定义。
$_SERVER['HTTP_ACCEPT'] #当前请求的 Accept: 头部的内容。
$_SERVER['HTTP_ACCEPT_CHARSET'] #当前请求的 Accept-Charset: 头部的内容。例如:“iso-8859-1,*,utf-8”。
$_SERVER['HTTP_ACCEPT_ENCODING'] #当前请求的 Accept-Encoding: 头部的内容。例如:“gzip”。
阅读全文…
IBM’s resource for developers and IT professionals in China
IBM developerWorks 中国
程序员资源与技术平台
http://www.ibm.com/developerworks/cn/ IBM 开发者资源平台
http://www.ibm.com/developerworks/cn/opensource/top-projects/php-resources.html IBM PHP 数据中心
数据宝藏,居然原来被我忽略了,失误失误~
最近看学习视频,一直看到前一大部分老师都用了php和html混编的形式,不过自己课下想想,其实从一开始学习php的过程,这种方式是不值得提倡的。
如果从没有GUI 的C基础而言,php和html代码混编也许比较容易理解。
但如果面对大型项目开发,会发现维护起来或者二次开发会是一场噩梦,混编的结果就是造成大量程序与界面代码堆积在一起,可读性极低。
原来看过几个简单的模板编程的例子,得出的结论是:
大型项目,特别是经常需要维护扩展的项目,要进行MVC分离。不然维护起来是一场噩梦。。
小型项目,特别是页面元素比较少的,不是经常变动的,混编就满足需要。
但回头看看大型程序开发比如phpwind、Discuz!、DEDE还有一些CRM程序,发现MVC和准确细节的注释是一个程序员的素质和美德。
前言
一、关于模板引擎的前言
从phplib到smarty,再到Discuz!的模板机制,本文试图通过PHP模板引擎为你讲解作者自己的PHP心得。
我清楚的记得在我刚上大学开始学习PHP的时候,曾经在phpe.net看到过一篇关于phplib Template和FastTemplate这两模板引擎性能比较的文章。让我在接下来半年的时间内持续的使用着phplib。不可否认phplib是左 右了一代PHP开发人员对于PHP模板引擎的认识。或许你也会对下面的方法比较熟悉
当我对于phplib的执行效率不满意的时候,我开始寻找下一个PHP的模板引擎,于是smarty跳入我的视野范围,当我费尽心血去学会了smarty并使用开发了很多东西,而现在的我突然发现记得的也就只有下面的方法了
究竟我们需要模板引擎来做什么呢,MVC?简单?易用?效率?请看下文的分析。
转载自:www.neoease.com
由于 Firefox 的崛起和 IE 兄弟们的各自为政, CSS Hack 再次得到网页制作人员的重视. 兼容浏览器对初学者来说绝对是一个苦活, 我的一些朋友就是因为烦这个没能坚持下来, 很是可惜.
目前我的机器上已经安装了 8 款浏览器, 听说 IE8 要发布了, 真叫人惊心动魄. 这不, 以后又多一个标准要兼容了, 感谢微软给我增加工作负担.
玩 WordPress 有一年多了, 做了很多主题, 自己从中也总结了一点心得体会, 在恶魔来世之前总结一下方便以后使用, 同时分享出来希望对初学者会有所帮助.
我很幸运, 我接触网页前台的时候 Firefox2 已经十分红火, 我的所有工作都是在 Firefox 上展开, 同时兼容其他浏览器的. 这样做肯定会比在 IE 做好再到别的浏览器兼容来得容易, 因为 IE 对老标准支持还是很不错的, 而 IE 的一些特有功能人家却不支持. 所以我推荐以 Firefox 结合 Firebug 扩展作为平台.
最近一段时间开始了php的系统学习,学习的过程中,深有感触的就是语言和语言之间其实很多地方是相通的。
读大学那会儿,大一大二老师在课堂上讲C语言,面对我们的没有漂亮的GUI开发环境,只有蓝底白字的Turbo C环境。那时候,我对C的认识就是开发鸡兔同笼的小玩意,殊不知C其实是各种复杂语言,不论是面向对象的还是面向过程的,不论是VB VC 还是PHP、JAVA、ASP的基础,它们其最根本的算法都是来源于C。
于是最近在我的linux环境下面 又一次打开了C环境,最近又一次开始把我压在书桌下面的大学课本C语言那出来做一次系统的复习和回顾。如果当时学习的时候知道这些,现在也不至于走这么多弯路。一个优秀的开发者,如果没有精通C,我觉得是无所作为的。最低层最更根本的算法,才是真的拿的出手的东西。
下面总结和看了一些关于PHP和C 的一些区别,挺有用,留下来作为笔记。
接触PHP+MySQL的时间已经掰掰指头有3年了,这次打算把大学期间零零散散的PHP学习做一个综合系统的总结和学习。
所以开始进行学习笔记的归纳。
使用的教材为:《PHP网络编程标准教程集》,那天去海淀图书城买的,内含一张光盘,很有用,里面有很多实例,作者通过这些实例讲解的比较细,有C 语言基础(最好是C#基础),参与过一定PHP项目开发的人很容易上手,它虽然是一本入门教材,但本次学习的目标在于全面系统的学习和复习,还是希望能够多取其精华,多从中受益,多能进行大范围的回顾和思考。
同时这次学习计划大约为3个月,是对自己自我学习能力、编程能力和综合运用能力的自我测试
来北京不能再这么碌碌无为 自己有这么好的学习机会 也有自己的服务器 不夯实自己的基础 是肯定不行的
得开始做点什么了。
转自Discuz!
现在,windows 2008 发布有一段时间了,不少人也开始部署在服务器上,windows2008自带的IIS升级到7.0版本,功能变化了不少,最近dz官方发布了dz7.0的正式版本,正好用来安装测试一下。
本篇主要讲解构造服务器的环境,一般来说我不赞成使用集成安装包,虽然方便,但是不能很好的满足自己的要求,我使用的软件分别是php5.2.6、 MySQL5.0.67,因为要安装ss/xs,所以也下载了zendoptimizer3.3.3,另外还下载了phpmyadmin,我都是分别到官 方站点下载的,一个是自己用起来放心,二是保证安装时不出毛病。
1、安装IIS7.0,默认安装windows2008后,iis 并没有安装,安装很简单,也不需要安装光盘,点击快速启动栏的服务器管理器按钮或者开始–管理工具–服务器管理器,在角色里点击添加,添加web服务 器角色,在出现的选择窗口里选择ISAPI筛选器、IIS管理器等你需要的功能,点击安装后等待片刻就安装好了,点击管理工具—iis管理器,出现的 页面与iis6.0还是有比较大的差别,功能基本都是图标按钮了,我一般都是将默认的站点关闭,因为默认站点的目录是c:inetpub,启用默认站点 对服务器的安全设置有点拖累,然后新建一个站点,将目录设置到其他分区,比如我就设置到E:inetpubwwwroot目录,新建站点就做好了,在 e:inetpubwwwroot下新建一个目录如Tdz(测试dz用),将测试文件复制进来,当然现在还不能安装,因为其他需要的条件还没准备好。
![]()
研究ubuntu也有段时间了,最近发现原来的老服务器用win2003天天被攻击,要不就是DDOS,要不就是内网ARP,所以我研究ubuntu当然是以网络架构和环境搭建有关,只有解决了这个问题,才能把安全问题搞定。
由于自己用的是桌面版的Ubuntu8.04,于是就想架设一个LAMP环境来学PHP,也趁此机会学一下PHP服务器的架设。
一、安装Ubuntu8.04
配置LAMP环境的配置,在这个教程里面里并不会讲述如何安装Ubuntu8.04,因为关于如何Ubuntu8.04在网上已经有很多的教程了,大家可 以去ubuntu论坛(官方)去查看。当然不推荐wubi安装。因为我自己用wubi安装使用虚拟机就发生了崩溃,然后就进入了小黑屋再也出不来了。
这里我就给出一个链接好了,Ubuntu8.04硬盘安装指南,如果你重来没有安装过Ubuntu,建议你在安装前先去官方的中文WIKI去了解下如何安装Ubuntu。
二、Apache的安装
Windows 2003IIS6.0web主目录设置技巧对应iis6.0
配置 Web 权限
以下是根据发布的材料的用途来配置 Web 权限的各种方法:
• 启用读取、写入和目录浏览:启用这些权限允许客户端查看资源列表并进行修改(除非对这些资源没有写入权限)、发布自己的资源以及处理文件。
• 启用写入;并禁用读取和目录浏览: 如果只想让客户端在目录中发布私人信息,而不希望别人查看所发布的内容,可以设置写入权限,但不设置读取和目录浏览权限。该配置在客户端端提交选票或性能检查时非常有用。
• 启用读取和写入;并禁用目录浏览:如果希望通过隐藏文件名来提高安全性,可设置该配置。然而,请注意,通过隐藏文件名来设置安全性是一种低级的安全防范措施,因为一个故意破坏者可通过试探和错误信息来猜测出文件名。
• 启用索引资源:如果打算让客户端搜索目录资源,请确保启用了索引服务。
保护脚本代码
如果在发布目录中有一些不想让客户端看到的脚本文件,您可以通过不授予“脚本资源访问”权限来拒绝访问。可执行文件将作为静态 HTML 文件处理,除非为该目录启用了“脚本和可执行文件”。
要阻止 .exe 文件下载并作为 HTML 文件来查看,但允许其运行,可在发布目录的“虚拟目录”属性页中,将执行权限更改为“脚本和可执行文件”。
这一权限级别使所有可执行文件受“脚本资源访问”设置的影响。换句话说,如果选中了“脚本资源访问”,有读取权限的客户端可以看到所有的可执行文件;有写入权限的客户端既可运行它们,也可以编辑它们。