htaccess script

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

10/06/2004 10:22:00
Quote Anchor link
Hallo,

Ik had op internet een script gevonden, om htaccess files etc te bewerken.
Zodat bv. de gebruikers hun wachtwoord kunnen weizigen.

Alleen zoals je natuurlijk al kan raden. hij werkt nie.

Hij gegt namelijk dat ie het bestand niet kan openen etc.
en dat je het dan kan proberen om met cmod 404 van .htaccess etc kan proberen.
Alleen ook dat werkt niet :S
weet iemand misschien de oplossing?

Hieronder t hele script,

Alvast bedankt iig

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
<?php
  // Waar staat het htaccess-file
$htaccess=".htaccess";

// De admin-user (deze moet al in .htpasswd staan)
$adminuser="test";

// De encryptie-methode, zie http://www.php.net/manual/en/function.crypt.php
$encryption=CRYPT_MD5;

// Deze instellingen zijn autodetect, je kan ze natuurlijk wijzigen
$curruser=$PHP_AUTH_USER;
$scripturi="http://$HTTP_HOST:$SERVER_PORT$SCRIPT_NAME";

function
ShowError($errorstring) {
  echo "<html><body><h1>$errorstring</h1></body></html>\n";
  exit();
}


if($file=fopen($htaccess,"r")) {
  while(!feof($file)) {
   $data=fgets($file,1024);
   $tdata=trim($data);
   if(substr(strtolower($tdata),0,13)=="authuserfile ") { $htpasswd=substr($tdata,13,strlen($tdata)-13); }
   if(substr(strtolower($tdata),0,9)=="authname ") { $authname=substr($tdata,9,strlen($tdata)-9); }
  }

  fclose($file);
}
else { ShowError("Kan $htaccess niet lezen, chmod 404 $htaccess kan helpen"); }

unset($user_name);unset($user_pass);unset($user_line);
if($file=fopen($htpasswd,"r")) {
  while(!feof($file)) {
   $data=trim(fgets($file,1024));
   $user_line[]=$data;
   if($tmp1=strstr($data,":")) {
    $user_name[]=substr($data,0,strlen($data)-strlen($tmp1));
    $user_pass[]=substr($tmp1,1,strlen($tmp1)-1);
   }
  }

  fclose($file);
}
else { ShowError("Kan $htpasswd niet lezen, chmod 606 $htpasswd kan helpen"); }

if($action=="user_add") {
  if($curruser!=$adminuser) { ShowError("Alleen de administrator (\$adminuser) kan deze optie gebruiken"); }
  for($i=0;$i<count($user_name);$i++) {
   if(strtolower($user_name[$i])==strtolower($form_user_name)) { ShowError("Gebruiker $form_user_name bestaat al"); }
  }

  if($form_user_pass_1!=$form_user_pass_2) { ShowError("Nieuw wachtwoord en Nieuw wachtwoord opnieuw komen niet overeen"); }
  if($file=fopen($htpasswd,"a")) {
   fputs($file,"$form_user_name:".crypt($form_user_pass_1,$encryption)."\n");
   fclose($file);
  }
else { ShowError("Kan $htpasswd niet bewerken, chmod 606 $htpasswd kan helpen"); }
  Header("Location: $scripturi");
  exit();
}
elseif($action=="user_edit") {
  if($curruser!=$adminuser) { ShowError("Alleen de administrator (\$adminuser) kan deze optie gebruiken"); }
  if(($form_user_pass_1!=$form_user_pass_2) AND (!$form_user_delete)) { ShowError("Nieuw wachtwoord en Nieuw wachtwoord opnieuw komen niet overeen"); }
  if($form_user_delete AND ($form_user_name==$adminuser)) { ShowError("Kan de administrator (\$adminuser) niet verwijderen"); }

  if($file=fopen($htpasswd,"w")) {
   for($i=0;$i<count($user_name);$i++) {
    if(strtolower($user_name[$i])==strtolower($form_user_name)) {
     $user_line[$i]="$form_user_name:".crypt($form_user_pass_1,$encryption);
     if($form_user_delete) { $user_line[$i]=""; }
    }

    if($user_line[$i]) { fputs($file,"$user_line[$i]\n"); }
   }

   fclose($file);
  }
else { ShowError("Kan $htpasswd niet overschrijven, chmod 606 $htpasswd kan helpen"); }
  Header("Location: $scripturi");
  exit();
}
elseif($action=="user_ch") {
  if($form_user_pass_1!=$form_user_pass_2) { ShowError("Nieuw wachtwoord en Nieuw wachtwoord opnieuw komen niet overeen"); }

  for($i=0;$i<count($user_name);$i++) {
   if(strtolower($user_name[$i])==strtolower($curruser)) {
    if(crypt($form_user_currpass,$user_pass[$i]) == $user_pass[$i]) {
     $user_line[$i]="$curruser:".crypt($form_user_pass_1,$encryption);
    }
else { ShowError("Het huidige wachtwoord is incorrect opgegeven"); }
   }
  }


  if($file=fopen($htpasswd,"w")) {
   for($i=0;$i<count($user_name);$i++) {
    fputs($file,"$user_line[$i]\n");
   }

   fclose($file);
  }
else { ShowError("Kan $htpasswd niet overschrijven, chmod 606 $htpasswd kan helpen"); }
  Header("Location: $scripturi");
  exit();
}

?>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php echo "$authname htaccess"; ?>
</title>
<meta http-equiv="Content-type" content="text/html; charset=iso-8859-1">
</head>
<body bgcolor="#ffffff" text="#000000">
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php if($curruser==$adminuser) { ?>

<form name="form_user_add" action="
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php echo $scripturi; ?>
" method="POST">
<input type="hidden" size="-1" name="action" value="user_add">
<table border="1" cellspacing="0" cellpadding="3">
<tr><td bgcolor="#000099"><b><font color="#ffffff">Gebruiker toevoegen</font></b></td></tr>
<tr><td>
<table border="0" cellspacing="0" cellpadding="0">
<tr><td>Gebruikersnaam:</td><td><input type="text" name="form_user_name" size="20"></td></tr>
<tr><td>Nieuw wachtwoord:</td><td><input type="password" name="form_user_pass_1" size="20"></td></tr>
<tr><td>Nieuw wachtwoord opnieuw:&nbsp;</td><td><input type="password" name="form_user_pass_2" size="20"></td></tr>
<tr><td colspan="2" align="right"><input type="submit" value="Voeg toe"></td></tr>
</table>
</td></tr>
</table>
</form>
<form name="form_user_edit" action="
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php echo $scripturi; ?>
" method="POST">
<input type="hidden" size="-1" name="action" value="user_edit">
<table border="1" cellspacing="0" cellpadding="3">
<tr><td bgcolor="#000099"><b><font color="#ffffff">Gebruiker bewerken</font></b></td></tr>
<tr><td>
<table border="0" cellspacing="0" cellpadding="0">
<tr><td>Gebruikersnaam:</td><td><select name="form_user_name" size="1">
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php
       for ($i=0;$i<count($user_name);$i++) {
        echo "<option value=\"$user_name[$i]\">$user_name[$i]</option>";
       }

      ?>
</select></td></tr>
<tr><td>Nieuw wachtwoord:</td><td><input type="password" name="form_user_pass_1" size="20"></td></tr>
<tr><td>Nieuw wachtwoord opnieuw:&nbsp;</td><td><input type="password" name="form_user_pass_2" size="20"></td></tr>
<tr><td>&nbsp;</td><td><input type="checkbox" name="form_user_delete"> Delete user</td></tr>
<tr><td colspan="2" align="right"><input type="submit" value="Bewerk"></td></tr>
</table>
</td></tr>
</table>
</form>
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php } ?>

<form name="form_user_ch" action="
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php echo $scripturi; ?>
" method="POST">
<input type="hidden" size="-1" name="action" value="user_ch">
<table border="1" cellspacing="0" cellpadding="3">
<tr><td bgcolor="#000099"><b><font color="#ffffff">Wachtwoord veranderen</font></b></td></tr>
<tr><td>
<table border="0" cellspacing="0" cellpadding="0">
<tr><td>Gebruikersnaam:</td><td>
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php echo $curruser; ?>
</td></tr>
<tr><td>Huidig wachtwoord:</td><td><input type="password" name="form_user_currpass" size="20"></td></tr>
<tr><td>Nieuw wachtwoord:</td><td><input type="password" name="form_user_pass_1" size="20"></td></tr>
<tr><td>Nieuw wachtwoord opnieuw:&nbsp;</td><td><input type="password" name="form_user_pass_2" size="20"></td></tr>
<tr><td colspan="2" align="right"><input type="submit" value="Wijzig"></td></tr>
</table>
</td></tr>
</table>
</form>
</body>
</html>
 
PHP hulp

PHP hulp

26/11/2024 13:47:28
 
Elwin - Fratsloos

Elwin - Fratsloos

10/06/2004 11:21:00
Quote Anchor link
Quote:
en dat je het dan kan proberen om met cmod 404 van .htaccess etc kan proberen.

Misschien dat CHMOD 404 bij het lezen nog werkt (404 is lezen voor owner en other), maar voor het schrijven wat later moet gebeuren gaat dat natuurlijk niet werken.

Probeer het eens met een CHMOD van 666 of 766 (666 is lezen en schrijven voor owner, group en other, 766 is lezen, schrijven en uitvoeren voor owner en lezen en schrijven voor group en other).

Elwin
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.