[TYPO3-dev] use kb_md5fepw in own extension

Wolfgang Klinger wolfgang at stufenlos.net
Fri Jul 7 06:13:25 CEST 2006


 *hiya!*

 On Thu, 06 Jul 2006, Christoph Koehler wrote the following:
> I made my own login form, but now when I login, kb_md5fepw messes with it,  
> and I cannot disable it because registration still depends on it.
> So my question is, how exactly do I use it in my own extension? I couldn't  
> find very much documentation on that, and looking at the newloginbox  
> didn't answer my questions either.

 You'll have to include the typo3/md5.js and the 'superchallenge_pass' 
 javascript function in your HTML header
--------
<script language="JavaScript" type="text/javascript" src="typo3/md5.js"></script><script type="text/javascript">
function superchallenge_pass(form) {
    var pass = form.pass.value;
    if (pass) {
        var enc_pass = MD5(pass);
        var str = form.user.value+":"+enc_pass+":"+form.challenge.value;
        form.pass.value = MD5(str);
        return true;
    } else {
        return false;
    }
}
</script>
--------
 Second add a challenge value to your form (you'll have to generate this with a USER_INT)
--------
temp.myform.20 = USER_INT
temp.myform.20.userFunc = user_mystuff->challenge_value
temp.myform.20.wrap = <input type="hidden" name="challenge" value="|" />
--------
class user_mystuff {
    function challenge_value($content, $conf) {
        $chal_val = md5(time().getmypid());
        $res = $GLOBALS['TYPO3_DB']->exec_INSERTquery('tx_kbmd5fepw_challenge', array('challenge' => $chal_val, 'tstamp' => time()));
        return $this->cObj->stdWrap($chal_val, $conf);
    }
}
--------
 and then add an onsubmit handler to your <form> tag
--------
onsubmit="superchallenge_pass(this); return true;"
--------
 

 hope that helps and we are talking about the same thing ;-)


 bye
 Wolfgang





More information about the TYPO3-dev mailing list