svn php改客户端密码_记录VisualSVNServer配置在线密码修改功能
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"]; //經(jīng)過 AuthType Basic 認證的用戶名
$authed_pass = $_SERVER["PHP_AUTH_PW"]; //經(jīng)過 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;
}
| 用 戶 名: | <?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.",請和管理員聯(lián)系!";
}
}
if (isset($msg_succ)) {
?>
} else if (isset($msg)) {
?>
}
?>
修改C:Program FilesVisualSVN ServerWebUIindex.html
增加里面修改的鏈接
參考
總結(jié)
以上是生活随笔為你收集整理的svn php改客户端密码_记录VisualSVNServer配置在线密码修改功能的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java大量浮点数如何作比较,Java如
- 下一篇: php+控制器+数据库,Laravel5