svn php改客户端密码_<转>让SVN用户能够修改自身密码的PHP页面

1.修改Apache配置文件

因为我在安装和配置SVN的时候,对Apache的配置文件进行过优化,将所有关于SVN的配置都写在了/opt/apache2/conf/extra/httpd-svn.conf中,然后再通过主配置文件/opt/apache2/conf/httpd.conf中Include conf/extra/httpd-svn.conf方式来调用。

因此,我这里需要修改的就是/opt/apache2/conf/extra/httpd-svn.conf文件,加入以下内容(其中第1,2,6行请根据实际情况进行修改):

Alias /svntools "/opt/apache2/htdocs/svntools"

Require valid-user

AuthType Basic

AuthName "GridTeam`s subversion tools"

AuthUserFile "/opt/subversion/conf/svn_passwdfile"

2.创建修改自身密码的php页面

mkdir /opt/apache2/htdocs/svntools

cd /opt/apache2/htdocs/svntools

vim svnpass.php

输入以下内容(其中第135,136行请根据实际情况进行修改):

$username = $_SERVER["PHP_AUTH_USER"]; //经过 AuthType Basic 认证的用户名

$authed_pass = $_SERVER["PHP_AUTH_PW"]; //经过 AuthType Basic 认证的密码

$input_oldpass = (isset($_REQUEST["oldpass"]) ? $_REQUEST["oldpass"] : ""); //从界面上输入的原密码

$newpass = (isset($_REQUEST["newpass"]) ? $_REQUEST["newpass"] : ""); //界面上输入的新密码

$repeatpass = (isset($_REQUEST["repeatpass"]) ? $_REQUEST["repeatpass"] : ""); //界面上输入的重复密码

$action = (isset($_REQUEST["action"]) ? $_REQUEST["action"] : ""); //以hide方式提交到服务器的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="/opt/subversion/conf/svn_passwdfile";

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

system($command, $result);

if($result==0){

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

}

else{

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

}

}

if (isset($msg)){

?>

}

?>

修改权限

chown -R apache:apache /opt/apache2/htdocs/svntools

3.登陆页面

3.1 打开页面http://192.168.116.128/svntools/svnpass.php(具体IP请根据实际情况填写)

转Centos7&period;0进入单用户模式修改root密码

Centos7.0进入单用户模式修改root密码   启动Centos7 ,按空格让其停留在如下界面. 按e进行编辑 在UTF-8后面输入init=/bin/sh 根据提示按ctrl+x 得如下图 输 ...

忘记root密码怎么办-单用户模式修改root密码

忘记root密码怎么办-单用户模式修改root密码================================= 1,开机3秒内按下向下的方向键,目的是为了不让它进入系统,而是停留在开机界面. 2 ...

ansible非root用户批量修改root密码

前言: 由于线上服务器密码长久没有更新,现领导要求批量更换密码.线上的之前部署过salt,但由于各种因素没有正常使用. 使用自动化工具批量修改的计划搁浅了,后来领导给了个python多线程修改密码脚本 ...

centos 7 下进入单用户模式修改root密码

centos7进入单用户模式修改root用户密码 在工作中可能会遇到root密码忘记,那么这里就要进入单用户模式下了. 在重启电脑之后 时间:2015-05-13 10:42来源:blog.51cto ...

centos单用户模式修改ROOT密码

首先启动的时候的时候,需要进入单用户模式(进入单用户模式的前提是系统引导器能正常工作),单用户模式是不需要输入密码,并且(进入单用户模式,没有开启网络服务,不支持远程连接 )网上说可以通过GRUB ( ...

jenkins 新增用户和修改用户名密码

在某些条件下,jenkins是不允许注册用户的,这是,你可以采用如下的方式来新增用户,对于老的用户,忘记密码了,使用如下方式来重置密码. 1.系统管理-->管理用户 ----> 新建用户 ...

CentOS 7 单用户模式修改root密码

1)在启动grub菜单,选择编辑选项启动 2)按键盘e键,来进入编辑界面 3)找到Linux 16的那一行,将ro改为rw init=/sysroot/bin/sh 4)现在按下Control+x,使 ...

ubuntu 16&period;04 单用户&lowbar;&lowbar;&lowbar;&lowbar;修改忘记密码

1.开机按ESC,出现如下界面,选中如下选项 2.按回车键进入如下界面,然后选中有recovery mode的选项 3.按e进入如下界面,找到图中红色框的recovery nomodeset并将其删掉 ...

CentOS 7单用户模式修改root密码

CentOS 7的单用户模式和6.5稍有不同 把ro改成 "rw init=/sysroot/bin/sh". 完成之后按 "Ctrl+x" chroot /s ...

随机推荐

PHP &colon; Reflection API

PHP Reflection API是PHP5才有的新功能,它是用来导出或提取出关于类.方法.属性.参数等的详细信息,包括注释. PHP Reflection API有: class Reflecti ...

Android 项目利用 Android Studio 和 Gradle 打包多版本APK

在项目开发过程中,经常会有需要打包不同版本的 APK 的需求. 比如 debug版,release版,dev版等等. 有时候不同的版本中使用到的不同的服务端api域名也不相同. 比如 debug_ap ...

tomcat thread dump 分析【转载】

前言 Java Thread Dump 是一个非常有用的应用诊断工具, 通过thread dump出来的信息, 可以定位到你需要了解的线程, 以及这个线程的调用栈. 如果配合linux的top命令, ...

ZendFramework 两种安装方式

1. 在线安装(基于composer) Zend 应用程序骨架 GitHub 地址: https://github.com/zendframework/ZendSkeletonApplication ...

&lbrack;Unity c&num;&rsqb;c&num;中的反射

什么是反射 在.NET中的反射也可以实现从对象的外部来了解对象(或程序集)内部结构的功能,哪怕你不知道这个对象(或程序集)是个什么东西,另外.NET中的反射还可以运态创建出对象并执行它其中的方法. 反 ...

向量图兼容组件VectorCompat

向量图兼容组件VectorCompat Android从5.0(API Level 21)开始,支持矢量图和动画矢量图.采用这两种图,可以避免传统图片因为缩放而产生失真.VectorCompat组件是 ...

深入理解volatile

volatile知识点 --------------------------------------------------------------------------- 1.volatile关键 ...

maven如何将本地jar安装到本地仓库

1.首先确认你的maven是否已经配置: 指令:mvn -v 2.本地的jar包位置: 3.在自己项目pom.xml中添加jar依赖:

HDU 3400 Line belt (三分套三分)

http://acm.split.hdu.edu.cn/showproblem.php?pid=3400 题意: 有两条带子ab和cd,在ab上的速度为p,在cd上的速度为q,在其它地方的速度为r.现 ...

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值