Hallo,

Op internet kom ik heel veel sites tegen waar zij voor mij een gecodereerd password willen geven die in een .htpasswd bestand past. Maar dit zou ik graag zelf willen doen door middel van een script. Weet iemand hoe dit werkt?

Alvast bedankt,
Edwin

<?php
    $username = 'username';
    $password = 'password';
    $htpasswd = exec('htpasswd -nb '.$username.' '.$password);
    $enc_pass = last(explode(':', $htpasswd));
    echo $enc_pass;
?>


Let wel: username en password mogen geen spaties beslaan!

Maar waarom wil je dit in godsnaam doen?
Jason: dat werkt natuurlijk alleen als htpasswd in je PATH hebt staan. Bovendien kan het net zo makkelijk in php:

<?
$user = "kees"
$password = "sosecretonlybassieknows";
$htpasswd_text = "$user:".crypt($password,CRYPT_STD_DES)."";

$filename = 'test.txt';
$somecontent = "Add this to the file\n";
$filename ="/path/to/.htaccess";

if (is_writable($filename)) {
if (!$handle = fopen($filename, 'a')) {
echo "Cannot open file ($filename)";
exit;
}
if (fwrite($handle, $somecontent) === FALSE) {
echo "Cannot write to file ($filename)";
exit;
}

fclose($handle);

} else {
echo "The file $filename is not writable";
}

?>
@Arend:
Als ie alleen het password wilt uitlezen is dit een mooie manier..

Als ie een htpasswd wilt genereren, moet 'ie jouwes nemen! :)

[edit]
Zow joh dâ Neerlands is ok nie al tuh best mèhr
[/edit]
Json: touche

Dit is de versie van jouw script dat zonder externe programma's werkt ;)

<?
$user = "kees"
$password = "sosecretonlybassieknows";
$htpasswd_text = "$user:".crypt($password,CRYPT_STD_DES)."";
echo $htpasswd_text
?>
Bedankt voor de reacties, maar de crypt() functie geeft niet het gewenste resultaat. Namelijk:

<?php
crypt('admin', CRYPT_STD_DES) = '1$jZpN/buYGDo'
?>

Terwijl de gecodereerde 'admin' dit zou moeten zijn: bc38wMgPlFZ0g
Ik zie dat ze beide werken... Bedankt! Ik gebruik het trouwens voor een inlogsysteem die voor de verandering niet met php werkt, maar met behulp van .htaccess en .htpasswd. Ik weet eigenlijk niet of dit slim is....

Reageren