VisualSVN增加密码php修改页面

VisualSVN增加密码php修改页面 1.假设VisualSVN安装在 C:\Program Files\VisualSVN Server 2.下载并安装php windows版本,假设安装在c:\php 可以到php官方网站下载 www.php.net 附件中带的是 php-5.3.2-Win32-VC6-x86.zip 3.VisualSVN增加php支持 注意修改 "c:/php/php5apache2_2.dll" 为正确路径 C:\Program Files\VisualSVN Server\conf\httpd-custom.conf 增加 LoadModule php5_module "c:/php/php5apache2_2.dll" <IfModule php5_module> AddType application/x-httpd-php .php DirectoryIndex index.php </IfModule> 4.增加修改密码的php文件 创建pass目录 C:\Program Files\VisualSVN Server\htdocs\pass 创建index.php文件 C:\Program Files\VisualSVN Server\htdocs\pass\index.php php文件内容如下 <? $name=$_POST['name']; $p1=$_POST['p1']; $p2=$_POST['p2']; $authed_user=$_SERVER["PHP_AUTH_USER"]; $authed_pass = $_SERVER["PHP_AUTH_PW"]; $info=""; $htpasswd="c:/php/htpasswd.exe"; $passfile="c:/Repositories/htpasswd"; //$info=apache_getenv("ServerName"); while(true) { if( !empty($name)) { if(empty($p1) || empty($p2)) { $info="新密码不能为空"; break; } if($p1!=$p2) { $info="新密码不相等"; break; } $len=strlen($p1); if(6>$len) { $info="新密码长度不能小于6位"; break; } $cmd=$htpasswd." -mb ".$passfile." ".$authed_user." ".$p1; exec($cmd,$out_put,$ret); if(0==$ret) $info="密码修改成功"; else $info="密码修改失败,返回值".$ret; //virtual("/pass/refresh.php"); } break; } ?> <HTML> <HEAD> <TITLE>修改SubVersion密码</TITLE> <META http-equiv=Content-Type content="text/html; charset=gb2312"> </HEAD> <style type="text/css">.t_input {background-color:#FFFFFF;width:139px;height:22px;font-family:Tahoma;}.t_text {background-color:#FFFFFF;font-family:新宋体,宋体,Tahoma;}</style> <BODY> <? if($info."a"!="a") { ?> <table align="center"> <tr> <td align="center"> <font size=4 color="#ff0000"><? echo $info; ?> </font> </td> </tr> </table> <? } ?> <table align="center"> <tr> <td align="center"> 修改SubVersion密码 </td> </tr> </table> <form method="POST" enctype="multipart/form-data" > <br> <TABLE align="center"> <TR> <TD></TD> <TD><INPUT type="hidden" name="name" value="<? echo $authed_user; ?>"></TD> </TR> <TR> <TD>新密码</TD> <TD><INPUT type="password" name="p1"class="t_input"></TD> </TR> <TR> <TD>验证新密码</TD> <TD><INPUT type="password" name="p2"class="t_input"></TD> </TR> </TABLE> <br> <TABLE align="center"> <TR> <TD><input type="submit" name="chgpasswd" value="修 改"> <input type="reset" value="重 置"> </TD> </TR> </TABLE> </form> </BODY></HTML> 5.添加pass的控制到VisalSVN中 注意AuthUserFile 请参考C:\Program Files\VisualSVN Server\conf\httpd.conf中的设置,要一样 C:\Program Files\VisualSVN Server\conf\httpd-custom.conf 增加 LoadModule authz_user_module bin/mod_authz_user.so <Location /pass/> AuthName "aaa" AuthType Basic AuthBasicProvider file AuthUserFile "c:/Repositories/htpasswd" require valid-user </Location> 6.copy htpasswd.exe到 php目录 htpasswd.exe 取自apache的官方安装包, apache2.2的安装包请到 www.apache.org下载 现在 htpasswd.exe 路径为d:\php\htpasswd.exe 7.修改 C:\Program Files\VisualSVN Server\htdocs\pass\index.php $passfile为 C:\Program Files\VisualSVN Server\conf\httpd.conf中 AuthUserFile的值 $htpasswd="c:/php/htpasswd.exe"; $passfile="c:/Repositories/htpasswd"; 8.重启 VisualSVN服务 9.验证 用ie打开svn连接, 比如原来的svn连接时 https://yzstar_svn:8443/svn 那么修改密码的网页为 https://yzstar_svn:8443/pass
posted @ 2012-07-25 13:55  adodo1  Views(232)  Comments(0Edit  收藏  举报