VisualSVN Server使用的是64位版

查看对应的apache版本号是 2.2.32.

这个版本需要使用php5.5以下的,且需要使用64位的php。

下载php 5.4 的64位版本。

配置Visual SVN Server支持php

1. 将下载的php解压缩到VisualSVNServer的目录中

C:Program FilesVisualSVN Serverphp

2.修改配置文件

C:Program FilesVisualSVN Serverconfhttpd-custom.conf

LoadModule php5_module "php/php5apache2_2.dll"

AddType application/x-httpd-php .php

DirectoryIndex index.html index.php

# 配置 php.ini 的路径

PHPIniDir "php"

3.建立php脚本

我们这里主要是利用了apach自己的htpasswd.exe工具来进行密码的变更操作

可以下载一个apache的完整包提取该工具放到如下路径:

C:Program FilesVisualSVN Serverbinhtpasswd.exe

新建一个 php 文件放到 C:Program FilesVisualSVN Serverhtdocspwindex.php

$passwdfile="C:/Repositories/htpasswd";

$htpasswdPath = "C:/Program Files/VisualSVN Server/bin/htpasswd.exe";

$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") {

?>

function loginIn(myform) {

var newpass=myform.newpass.value;

var repeatpass=myform.repeatpass.value;

if (newpass=="") {

alert("请输入密码!");

return false;

}

if (repeatpass=="") {

alert("请重复输入密码!");

return false;

}

if (newpass!=repeatpass) {

alert("两次输入密码不一致,请重新输入!");

return false;

}

return true;

}

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

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

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

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

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

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

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

} else {

$command='"'. $htpasswdPath. '" -b '.$passwdfile." ".$username." ".$newpass;

system($command, $result);

if ($result==0) {

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

} else {

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

}

}

if (isset($msg_succ)) {

?>

} else if (isset($msg)) {

?>

}

?>

修改C:Program FilesVisualSVN ServerWebUIindex.html

增加里面修改的链接

参考

svn php改客户端密码_记录VisualSVNServer配置在线密码修改功能相关推荐

  1. 【SVN】SVN搭建以及客户端使用|错误记录

    目录 前言 windows 服务端 客户端 linux CentOS 第1章 CentOS下搭建SVN服务器 1.1 SVN简介 1.2 SVN安装 第2章 通过客户端进行连接 2.1 下载客户端并安 ...

  2. vue 找回密码_资讯项目:找回密码

    前后端交互模式: 查询字符串: 前端: location.search/params(放的url?后面的东西) 后端接收 request.query_params 请求体: 前端: 表单提交/ajax ...

  3. heidisql修改mysql密码_获取HeidiSQL保存的密码

    Loading... 请注意,本文编写于 273 天前,最后修改于 273 天前,其中某些信息可能已经过时. 今天在使用一个数据库时一是半会想不起来数据库的密码了,后来想起来在客户端工具heidisq ...

  4. mysql密码@_如何重设MySQL密码

    展开全部 方法一 使用phpmyadmin,这是最简单的了,修改mysql库的user表,不过别62616964757a686964616fe78988e69d8331333361313936忘了使用 ...

  5. navicat for mysql 修改密码_怎么用navicat for mysql 修改root 密码

    本文提供一个在数据库服务器上修改root密码的方法,本文撰写基础是在xp操作系统下进行.第一步 登录数据库服务器 采用具有Admin权限的用户名登录到服务器:第二步 关闭MySQL服务 在控件面板-& ...

  6. 哈希密码_哈希生日和密码

    哈希密码 什么是哈希函数? (What is a Hash function?) It's an algorithm that maps an input of arbitrary length to ...

  7. 获取令牌密码_如何真正存储用户密码和api令牌(即密码)

    获取令牌密码 A cliché in posts detailing password storage schemes is to finish by telling the syadmins and ...

  8. arcgis超级工具密码_浏览器的自动保存密码是如何将我们的密码泄露的?

    开局我们先来回答一个小问题,你注册了多少的账号密码?设置了多少不同的密码?又有多少密码是相同的?讲道理,这很难回答.不知道你们平常会不会把一些账号密码让浏览器自动保存,下次直接点击就可以登入了,非常方 ...

  9. openwrt首次登录密码_什么是路由器登录密码 路由器登录密码介绍【详解】

    "无线路由器的无线wifi(网络)密码是登录密码吗?"最近看到网上有不少网友在咨询这个问题,或者是把无线wifi密码当作登录密码遇到无法登录的问题,在这里小编觉得有必要跟大家讲解一 ...

最新文章

  1. php 接口的定义与实现,PHP接口定义与用法示例
  2. Adprep 无法完成,原因是回叫功能失败
  3. ACM入门之【读入、输出优化】
  4. jQuery获取时间,一位数则补零
  5. Java EE中的重新验证(java.util.regex.Pattern)
  6. $(document).ready(function(){}), $().ready(function(){}) 和 $(function(){}) 三个区别...
  7. Linux系统NFS故障现象
  8. python搭建https代理服务器_使用NGINX作为HTTPS正向代理服务器
  9. 【QT】QT从零入门教程(十一):QT自定义窗口
  10. PHP 根据referer 跳转,PHP利用REFERER根居访问来地址进行页面跳转
  11. UVA 254 Towers of Hanoi
  12. 怎么修改mysql主键(id)的值为自增
  13. 应用系统开发--银行系统
  14. linux时间戳简介,linux 时间戳
  15. iOS越狱,插件afc2、afc2add、apple file conduit2的区别
  16. 计算机id和密码忘了怎么办,苹果账号密码忘记了怎么办_苹果忘了id账号和密码的处理方法...
  17. Dynamics CRM 为案例起源设置自定义图标
  18. 是java运行时环境的缩写,java运行环境的英文缩写
  19. [Android]从canDrawOverlays权限获取错误说起
  20. latex怎样让题号顶格_笔记本-latex写作问题集锦

热门文章

  1. Ubuntu(Debian) 18.04 安装后开启ssh和防火墙传输文件
  2. 复习---使用基础语法实现栈及迭代
  3. 白盒测试中的六种覆盖方法及案例分析
  4. npz文件转为npy_Numpy_快速操作数组 4.4 数组的文件输入输出
  5. win7电脑浏览器证书过期的解决方法
  6. win7更改适配器设置没有本地连接解决方法
  7. 同时运行多个logstash而kibana监控界面只统计到一个的问题
  8. Spring Boot配置MinIO(实现文件上传、下载、删除)
  9. Java微服务篇3——Lucene
  10. 编写一个程序实现方法的覆盖java_编写Java程序代码必须先声明一个____,然后在其中编写实现需求的业务代码。...