仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1324|回复: 19
打印 上一主题 下一主题

[学习教程] PHP编程:适用:利用PHP剧本修正Linux或Unix体系...

[复制链接]
乐观 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-2-4 00:02:57 | 显示全部楼层 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
刚开始因为习惯于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 [lindex $argv 1] spawn passwd [lindex $argv 0] 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的爱好者不谋而合,这也算是一个循序渐进的学习过程,不过新手不要看到上面的概括就以为学习蛮简单的,默默在此不得不对您稍微泼一下冷水,任何东西其实都不简单。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-5-15 11:18

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表