歡迎您光臨本站 註冊首頁

apache+svn,自助修改密碼的網頁index.php不起作用。

←手機掃碼閱讀     火星人 @ 2014-03-04 , reply:0

apache+svn,自助修改密碼的網頁index.php不起作用。

架了個版本庫伺服器,操作系統是fedora-12,用的是apache+svn。

網上找來一個index.php,實現自助修改密碼的功能,這在一台fedora-7的伺服器上一切正常,但是在一台fedora-12的機器上,index.php就是不能正常的起作用,不知道原因在那裡?

不知道兩者默認的配置有那些不同,因為實在不能找到原因,所以來這裡問一下。



代碼如下,問題是進入時輸入了密碼,後面似乎無論怎麼輸入,都不會有出錯提示,當然也不能實現修改密碼的功能。

判斷是php沒有發揮作用,不知道是不是,請大家看一下。



___下面是index.php_______________________________________________


<?
$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";
}
?>

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=GBK">
<title>Subversion 在線自助密碼修改</title>
</head>
<body>

<?
//action=view 顯示普通的輸入信息
if ($action == "view"){
?>
<script language = "javaScript">
<!--
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;
}
//-->
</script>
<style type="text/css">
<!--
table {
border: 1px solid #CCCCCC;
background-color: #f9f9f9;
text-align: center;
vertical-align: middle;
font-size: 9pt;
line-height: 15px;
}
th {
font-weight: bold;
line-height: 20px;
border-top-width: 1px;
border-right-width: 1px;
border-bottom-width: 1px;
border-left-width: 1px;
border-bottom-style: solid;
color: #333333;
background-color: f6f6f6;
}
input{
height: 18px;
}
.button {
height: 20px;
}

-->
</style>
<br><br><br>
<form method="post">
<input type="hidden" name="action" value="modify"/>
<table width="220" cellpadding="3" cellspacing="8" align="center">
<tr>
<th colspan=2>Subversion 密碼修改</th>
</tr>
<tr>
<td>用 戶 名:</td>
<td align="left"> <?=$username?></td>
</tr>
<tr>
<td>原 密 碼:</td>
<td><input type=password size=12 name=oldpass></td>
</tr>
<tr>
<td>用戶密碼:</td>
<td><input type=password size=12 name=newpass></td>
</tr>
<tr>
<td>確認密碼:</td>
<td><input type=password size=12 name=repeatpass></td>
</tr>
<tr>
<td colspan=2>
<input onclick="return loginIn(this.form)" class="button" type=submit value="修 改">
<input name="reset" type=reset class="button" value="取 消">
</td>
</tr>
</table>
</form>
<?
}
else if($action == "oldpasswrong"){
$msg="原密碼錯誤!";
}
else if($action == "passempty"){
$msg="請輸入新密碼!";
}
else if($action == "passnotsame"){
$msg="兩次輸入密碼不一致,請重新輸入!";
}
else{
$passwdfile="/var/www/svn/repos/conf/svnusers.conf";
$command='"/usr/bin/htpasswd" -b '.$passwdfile." ".$username." ".$newpass;
system($command, $result);
if($result==0){
$msg="用戶[".$username."]密碼修改成功,請用新密碼登陸.";
}
else{
$msg="用戶[".$username."]密碼修改失敗,返回值為".$result.",請和管理員聯繫!";
}
}

if (isset($msg)){
?>
<script language="javaScript">
<!--
alert("<?=$msg?>");
window.location.href="<?=$_SERVER["PHP_SELF"]?>"
//-->
</script>
<?
}
?>
</body>
</html>
《解決方案》

頂一下

[火星人 ] apache+svn,自助修改密碼的網頁index.php不起作用。已經有564次圍觀

http://coctec.com/docs/service/show-post-18168.html