VisualSVN增加密码php修改页面
VisualSVN增加密码php修改页面1.假设VisualSVN安装在 C:\Program Files\VisualSVN Server2.下载并安装php windows版本,假设安装在c:\php可以到php官方网站下载 www.php.net附件中带的是 php-5.3.2-Win32-VC6-x86.zip3.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 .phpDirectoryIndex index.php</IfModule>4.增加修改密码的php文件创建pass目录C:\Program Files\VisualSVN Server\htdocs\pass创建index.php文件C:\Program Files\VisualSVN Server\htdocs\pass\index.phpphp文件内容如下<?$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 BasicAuthBasicProvider fileAuthUserFile "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.exe7.修改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
页:
[1]