PHP教程之利用PHP剧本修正Linux或Unix体系口令
现在,也有了从事软件工程的想法,在经过了一个月的PHP培训学习之后,发现其实软件工程并没有想像中的那么难。 <P style="TEXT-INDENT: 2em">本文引见若何利用PHP剧本修正Linux或Unix体系口令。 <P style="TEXT-INDENT: 2em">需求的东西和装置: <P style="TEXT-INDENT: 2em">你必需装置上面的东西和软件: <P style="TEXT-INDENT: 2em">C 修正口令的Shell剧本; <P style="TEXT-INDENT: 2em">C Sudo 会见权; <P style="TEXT-INDENT: 2em">C Apache or Lighttpd web 办事器; <P style="TEXT-INDENT: 2em">C PHP办事端法式。 <P style="TEXT-INDENT: 2em">步调1: 装置可以修正用户口令的shell剧本 <P style="TEXT-INDENT: 2em">该剧本可以实践用于修正Linux用户的口令(已在Linux和FreeBSD测试)。 <P style="TEXT-INDENT: 2em">例子: shell剧本代码 <P style="TEXT-INDENT: 2em">#!/bin/sh# \exec expect -f “$0″ ${1+”$@”}set password spawn passwd sleep 1expect “assword:”send “$password\r”expect “assword:”send “$password\r”expect eof<P style="TEXT-INDENT: 2em">运转shell剧本(下载链接): <P style="TEXT-INDENT: 2em">$ chpasswd username password<P style="TEXT-INDENT: 2em">下载该剧本, 然后拷贝到你的web根目次或web办事器的其它地位(用户可读): <P style="TEXT-INDENT: 2em">$ cp chpasswd /var/www/<P style="TEXT-INDENT: 2em">或, 假如你利用Lighttpd web办事器: <P style="TEXT-INDENT: 2em">$ cp chpasswd /home/lighttpd<P style="TEXT-INDENT: 2em">步调2: 经由过程sudo以root身份履行号令 <P style="TEXT-INDENT: 2em">Apache或Lighttpd web办事器进入后台运转后会即刻利用非root权限。如许可以很好的避免口令修正, 就像passwd号令需求root权限才干修正其它用户帐号的口令。 <P style="TEXT-INDENT: 2em">凡是, Apache 2利用www-data用户, Lighttpd利用lighttpd用户(皆为通俗用户, 非root用户)。利用root用户上岸, 然后履行上面的号令: <P style="TEXT-INDENT: 2em"># visudo<P style="TEXT-INDENT: 2em">如今你的web办事器答应履行口令修正剧本(chpasswd)。假如你利用Apache web办事器, 履行上面的号令: <P style="TEXT-INDENT: 2em">www-data ALL=NOPASSWD: /var/www/chpasswd<P style="TEXT-INDENT: 2em">或, 假如你利用Lighttpd web办事器, 履行上面的号令: <P style="TEXT-INDENT: 2em">httpd ALL=NOPASSWD: /home/lighttpd/chpasswd<P style="TEXT-INDENT: 2em">保留和加入文件。 <P style="TEXT-INDENT: 2em">步调3. 创立一个基于PHP的接口 <P style="TEXT-INDENT: 2em">如今你需求写一个php剧本。这里有一个php剧本实例。你可以依据你的需求来修正。最少你需求准确设置好的shell剧本地位。翻开php剧本和找到shellscript一行: <P style="TEXT-INDENT: 2em">$shellscript = “sudo /home/lighttpd/chpasswd”;<P style="TEXT-INDENT: 2em">修正shellscript指向到准确的地位。PHP的源代码从这里下载: <P style="TEXT-INDENT: 2em">步调4: 运转剧本 <P style="TEXT-INDENT: 2em">在你的web阅读器地址栏输出网地址 - https://mydomain.com/changepassword.php。你将会看到用户名和口令提醒: <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">假如口令修正胜利, 你会失掉上面切实其实认提醒: <P style="TEXT-INDENT: 2em">
<P style="TEXT-INDENT: 2em">因为一些缘由, 假如口令修正掉败, 你可以参考上面提醒取得更多具体的毛病信息: <P style="TEXT-INDENT: 2em">
<P style="TEXT-INDENT: 2em">步调5: 平安 <P style="TEXT-INDENT: 2em">◆永久不要经由过程http协定直接运转下面的剧本. 而是利用https协定。 <P style="TEXT-INDENT: 2em">◆把剧本放入到受口令回护的目次。 ◆永久不要信赖用户的输出。下面的php剧本只是一个例子。在实际的临盆情况中, 你需求思索采取更壮大的用户输出确认。会商PHP编程的平安超越了本文的局限。你可以参考一本好的PHP书本或利用你喜好的搜刮引擎搜刮相干的网站。
一下弹出N多页面!很明显,你的留言本并没有做好安全防范,被人用JS代码小小的耍了一下,我很同情你这个时候的感受,但是没有别的办法了,继续努力吧! 基础有没有对学习php没有太大区别,关键是兴趣。 作为一个合格的coder 编码的规范是必须,命名方面我推崇“驼峰法”,另外就是自己写的代码最好要带注释,不然时间长了,就算是自己的代码估计看起来都费事,更不用说别人拉。 最后介绍一个代码出错,但是老找不到错误方法,就是 go to wc (囧),出去换换气没准回来就找到错误啦。 我还是强烈建议自己搭建php环境。因为在搭建的过程中你会遇到一些问题,通过搜索或是看php手册解决问题后,你会更加深刻的理解它们的工作原理,了解到php配置文件中的一些选项设置。 再就是混迹于论坛啦,咱们的phpchina的论坛就很强大,提出的问题一般都是有达人去解答的,以前的帖子也要多看看也能学到不少前辈们的经验。别的不错的论坛例如php100,javaeye也是很不错的。 装在C盘下面可以利用windows的ghost功能可以还原回来(顺便当做是重转啦),当然啦我的编译目录要放在别的盘下,不然自己的劳动成果就悲剧啦。 我学习了一段时间后,我发现效果并不好(估计是我自身的问题)。因为一个人的精力总是有限的,同时学习这么多,会导致每个的学习时间都得不到保证。 实践是检验自己会不会的真理。 作为一个合格的coder 编码的规范是必须,命名方面我推崇“驼峰法”,另外就是自己写的代码最好要带注释,不然时间长了,就算是自己的代码估计看起来都费事,更不用说别人拉。 多看优秀程序员编写的代码,仔细理解他们解决问题的方法,对自身有很大的帮助。 作为一个合格的coder 编码的规范是必须,命名方面我推崇“驼峰法”,另外就是自己写的代码最好要带注释,不然时间长了,就算是自己的代码估计看起来都费事,更不用说别人拉。 在学习的过程中不能怕麻烦,不能有懒惰的思想。学习php首先应该搭建一个lamp环境或者是wamp环境。这是学习php开发的根本。虽然网络上有很多集成的环境,安装很方便,使用起来也很稳定、 至于模板嘛,各位高人一直以来就是争论不休,我一只小菜鸟就不加入战团啦,咱们新手还是多学点东西的好。 爱上php,他也会爱上你。 遇到出错的时候,我经常把错误信息直接复制到 google的搜索栏,一般情况都是能搜到结果的,不过有时候会搜出来一大片英文的出来,这时候就得过滤一下,吧中文的弄出来,挨着式方法。 不禁又想起那些说php是草根语言的人,为什么认得差距这么大呢。 其实也不算什么什么心得,在各位大侠算是小巫见大巫了吧,望大家不要见笑,若其中有错误的地方请各位大虾斧正。 先学习php和mysql,还有css(html语言很简单)我认为现在的效果比以前的方法好。 如果你可以写完像留言板这样的程序,那么你可以去一些别人的代码了,
页:
[1]