html怎样做修改密码的网页,SVN密码在线自主修改

为了进一步提高SVN管理规范和账号安全性,要求用户能自主修改SVN的登录密码,而默认SVN好像是不提供这个功能的,所以只能另辟蹊径,参考网上资料,利用PHP来,实现通过HTTP访问的方式在线自主修改密码功能。

一、SVN配置文件

1.1 修改SVN配置文件

[root@svnback172 svn]#vim /etc/httpd/conf.d/svn.conf

#之前安装SVN的时候,已经手动创建这个文件了,详细可以参考‘SVN安装篇’

添加如下代码:

Require valid-user

AuthType Basic

AuthName "svn tools"

AuthUserFile /data/svn/sample/.htpasswd

参数说明:

:指定实现SVN密码修改功能的PHP页面路径,下面会手动创建

AuthUserFile :指定SVN账号密码的文件,重点就是针对该文件进行修改操作

二、配置PHP修改页面

2.1 创建存放PHP页面的目录,每个库一个单独目录,便于管理

[root@svnback172 svn]#mkdir /var/www/html/sample && cd /var/www/html/sample

注意:PHP页面需要放在http的根目录下,因为到时候修改SVN密码是用http页面进行在线修改的。

2.2 手动创建PHP页面,修改密码的功能就是这个页面实现的

[root@svnback172 svn]#vim index.php

//经过 AuthType Basic 认证的用户名

$username = $_SERVER["PHP_AUTH_USER"];

//经过 AuthType Basic 认证的密码

$authed_pass = $_SERVER["PHP_AUTH_PW"];

//从界面上输入的原密码

$input_oldpass = (isset($_REQUEST["oldpass"]) ? $_REQUEST["oldpass"] : "");

//界面上输入的新密码

$newpass = (isset($_REQUEST["newpass"]) ? $_REQUEST["newpass"] : "");

//界面上输入的重复密码

$repeatpass = (isset($_REQUEST["repeatpass"]) ? $_REQUEST["repeatpass"] : "");

//以hide方式提交到服务器的action

$action = (isset($_REQUEST["action"]) ? $_REQUEST["action"] : "");

if($action!="modify"){

$action = "view";

}

else if($authed_pass!=$input_oldpass){

$action = "oldpasswrong";

}

else if(empty($newpass)){

$action = "passempty";

}

else if($newpass!=$repeatpass){

$action = "passnotsame";

}

else{

$action = "modify";

}

?>

Subversion 在线自助密码修改

//action=view 显示普通的输入信息

if ($action == "view"){

?>

Subversion 密码修改
用户名: =$username?>
原密码:
用户密码:
确认密码:

}

else if($action == "oldpasswrong"){

$msg="原密码错误!";

}

else if($action == "passempty"){

$msg="请输入新密码!";

}

else if($action == "passnotsame"){

$msg="两次输入密码不一致,请重新输入!";

}

else{

$passwdfile="/data/svn/sample/.htpasswd";

$command='"/usr/bin/htpasswd" -b '.$passwdfile." ".$username." ".$newpass;

system($command, $result);

if($result==0){

$msg="用户[".$username."]密码修改成功,请用新密码登陆.";

}

else{

$msg="用户[".$username."]密码修改失败,返回值为".$result.",请和管理员联系!";

}

}

if (isset($msg)){

?>

//

}

?>

重点:第134行,需要修改对应SVN库的账户密码文件。

$passwdfile="/data/svn/sample/.htpasswd";

其实,这里已经可以通过‘http://IP/sample/index.php’自主修改密码了,但是为了后面的管理和使用方便,我们再创建一个统一修改密码的链接页面;

三、配置密码修改页面

3.1 手动创建http页面,用于指定SVN库进行密码修改

[root@svnback172 svn]#vim svn.html

添加如下代码:

SVN密码在线自主修改

body{

text-align:center

}

div div{

text-align:center;

padding: 2%;

}

.first_div {

margin:2% auto;

}

XXXXXXXX----SVN密码修改

sample

重点:第21行,需要修改对应SVN库的密码修改http路径

sample

如果有多个,只需要添加

XXXXXXXXXXXXX
,20到22行之间的内容即可。

以上的SVN页面配置的非常简单,有需要修饰的自行美工,这里只提供最简单的功能。

四、验证效果

4.1 重启httpd服务

[root@svnback172 svn]#systemctl restart httpd

4.2 浏览器访问:http://IP/svn.html

选择需要修改密码的SVN库,每个SVN库的密码文件都是独立的。

44aa86ab25619469df742e384eb86c7c.png

4.3 输入对应库的SVN密码

6a05f16b69d71e279d48d7266576d224.png

4.4 SVN密码修改,此处进行密码修改,会直接同步到后台的.htpasswd密码文件,至此密码修改成功!

d92caf8a80881fc90ee04ce6ebce3816.png

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值