PHP编程:适用:利用PHP剧本修正Linux或Unix体系...
刚开始因为习惯于ASP格式的写法,总是在这些方面出现问题,自己还总是找不到问题所在,这就提醒了自己,在写代码的时候一定要认真,不能粗心地老是少个“;”或者字母大小写不分,要不然很可能找半天都找不到错误。 本文引见若何利用PHP剧本修正Linux或Unix体系口令。需求的东西和装置:
你必需装置上面的东西和软件:
C 修正口令的Shell剧本;
C Sudo 会见权;
C Apache or Lighttpd web 办事器;
C PHP办事端法式。
步调1: 装置可以修正用户口令的shell剧本
该剧本可以实践用于修正Linux用户的口令(已在Linux和FreeBSD测试)。
例子: shell剧本代码
#!/bin/sh # \ exec expect -f “$0″ ${1+”$@”} set password spawn passwd sleep 1 expect “assword:” send “$password\r” expect “assword:” send “$password\r” expect eof运转shell剧本(下载链接):
$ chpasswd username password 下载该剧本, 然后拷贝到你的web根目次或web办事器的其它地位(用户可读):
$ cp chpasswd /var/www/或, 假如你利用Lighttpd web办事器:
$ cp chpasswd /home/lighttpd步调2: 经由过程sudo以root身份履行号令
Apache或Lighttpd web办事器进入后台运转后会即刻利用非root权限。如许可以很好的避免口令修正, 就像passwd号令需求root权限才干修正其它用户帐号的口令。
凡是, Apache 2利用www-data用户, Lighttpd利用lighttpd用户(皆为通俗用户, 非root用户)。利用root用户上岸, 然后履行上面的号令:
# visudo如今你的web办事器答应履行口令修正剧本(chpasswd)。假如你利用Apache web办事器, 履行上面的号令:
www-data ALL=NOPASSWD: /var/www/chpasswd或, 假如你利用Lighttpd web办事器, 履行上面的号令:
httpd ALL=NOPASSWD: /home/lighttpd/chpasswd保留和加入文件。
步调3. 创立一个基于PHP的接口
如今你需求写一个php剧本。这里有一个php剧本实例。你可以依据你的需求来修正。最少你需求准确设置好的shell剧本地位。翻开php剧本和找到shellscript一行:
$shellscript = “sudo /home/lighttpd/chpasswd”;修正shellscript指向到准确的地位。PHP的源代码从这里下载:
步调4: 运转剧本
在你的web阅读器地址栏输出网地址 - https://mydomain.com/changepassword.php。你将会看到用户名和口令提醒:
假如口令修正胜利, 你会失掉切实其实认提醒:
因为一些缘由, 假如口令修正掉败, 你可以参考上面提醒取得更多具体的毛病信息:
步调5: 平安
◆永久不要经由过程http协定直接运转下面的剧本. 而是利用https协定。
◆把剧本放入到受口令回护的目次。
◆永久不要信赖用户的输出。下面的php剧本只是一个例子。在实际的临盆情况中, 你需求思索采取更壮大的用户输出确认。会商PHP编程的平安超越了本文的局限。你可以参考一本好的PHP书本或利用你喜好的搜刮引擎搜刮相干的网站。
我的这套线路可能跟许多学习PHP的爱好者不谋而合,这也算是一个循序渐进的学习过程,不过新手不要看到上面的概括就以为学习蛮简单的,默默在此不得不对您稍微泼一下冷水,任何东西其实都不简单。 爱上php,他也会爱上你。 个人呢觉得,配wamp 最容易漏的一步就是忘了把$PHP$目录下的libmysql.dll拷贝到windows系统目录的system32目录下,还有重启apache。 php是动态网站开发的优秀语言,在学习的时候万万不能冒进。在系统的学习前,我认为不应该只是追求实现某种效果,因为即使你复制他人的代码调试成功,实现了你所期望的效果,你也不了解其中的原理。 其实也不算什么什么心得,在各位大侠算是小巫见大巫了吧,望大家不要见笑,若其中有错误的地方请各位大虾斧正。 环境搭建好,当你看见你的浏览器输出“it works\\\\\\\"时你一定是喜悦的。在你解决问题的时候,我强烈建议多读php手册。 为了以后维护的方便最好是代码上都加上注释,“予人方便,自己方便”。此外开发文档什么的最好都弄齐全。我觉得这是程序员必备的素质。虽然会消耗点很多的时间。但是确实是非常有必要的。 真正的方向了,如果将来要去开发团队,你一定要学好smarty ,phplib这样的模板引擎, 这些中手常用的知识,当你把我说的这些关键字都可以熟练运用的时候,你可以选择自己 最后介绍一个代码出错,但是老找不到错误方法,就是 go to wc (囧),出去换换气没准回来就找到错误啦。 Apache不是非得用80或者8080端口的,我刚开始安得时候就是80端口老占用,就用了个 81端口,结果照常,就是输localhost的时候,应该输入为 localhost:81 当然这种网站的会员费就几十块钱。 最后祝愿,php会给你带来快乐的同时 你也会给他带来快乐。 我要在声明一下:我是个菜鸟!!我对php这门优秀的语言也是知之甚少。但是我要在这里说一下php在网站开发中最常用的几个功能: 最后介绍一个代码出错,但是老找不到错误方法,就是 go to wc (囧),出去换换气没准回来就找到错误啦。 真正的方向了,如果将来要去开发团队,你一定要学好smarty ,phplib这样的模板引擎, 至于模板嘛,各位高人一直以来就是争论不休,我一只小菜鸟就不加入战团啦,咱们新手还是多学点东西的好。 小鸟是第一次发帖(我习惯潜水的(*^__^*) 嘻嘻……),有错误之处还请大家批评指正,另外,前些日子听人说有高手能用php写驱动程序,真是学无止境,人外有人,天外有天。 再就是混迹于论坛啦,咱们的phpchina的论坛就很强大,提出的问题一般都是有达人去解答的,以前的帖子也要多看看也能学到不少前辈们的经验。别的不错的论坛例如php100,javaeye也是很不错的。 首先我是坚决反对新手上来就用框架的,因为对底层的东西一点都不了解,造成知识上的真空,会对以后的发展不利。我的观点上手了解下框架就好,代码还是手写。当然啦如果是位别的编程语言的高手的话,这个就另当别论啦。
页:
[1]