Hallo Dee en anderen,
Met hetgeen wat Dee me eerder vertelde ben ik, samen met mijn buurman deze file aan het debuggen geweest.
De regel waarin de
'got here 3' in staat is volgens ons gewoon een regel die ooit gebruikt is om het script te testen en er simpelweg vergeten is er weer uit te halen.
Verder stond er nog een typfout in: 'pritn' in plaats van 'print'
En ook nog een paar soortgelijke fouten zoals Dee eerder constateerde.
De originele code van
modules/FrontEndUsers/FrontEndUsers.module.php is
Code: Select all
//Regel 2205
function _encrypt($key,$data)
{
if( !function_exists('mcrypt_module_open') ) return FALSE;
die('got here 3'); <------------------------------
srand((double) microtime() * 1000000);
$encdata = FALSE;
$td = @mcrypt_module_open(MCRYPT_DES,'',MCRYPT_MODE_ECB,'');
if( $td === FALSE ) return FALSE;
echo "DEBUG: key size = ".mcrypt_enc_get_key_size($td)."<br/>";
$key = substr($key,0,mcrypt_enc_get_key_size($td));
echo "DEBUG: key = $key<br/>";
$iv_size = mcrypt_enc_get_iv_size($td);
echo "DEBUG: iv size = $iv_size<br/>";
$iv = mcrypt_create_iv($iv_size, MCRYPT_RAND);
// initialize encryption handle
$tmp = $mcrypt_generic_init($td,$key, $iv); <------------------------------
if( $tmp != -1 )
{
$tmp = mcrypt_generic($td,$data);
pritn_r( $tmp ); <------------------------------
mcrypt_generic_deinit($td);
$encdata = $iv.$tmp;
}
mcrypt_module_close($td);
return $encdata;
die();
}
//Regel 2235
function _decrypt($key,$encdata)
{
if( !function_exists('mcrypt_module_open') ) return FALSE;
$data = FALSE;
$td = @mcrypt_module_open(MCRYPT_DES,'',MCRYPT_MODE_ECB,'');
if( $td === FALSE ) return FALSE;
$key = substr($key,0,mcrypt_enc_get_key_size($td));
$iv_size = mcrypt_enc_get_iv_size($td);
$iv = mcrypt_create_iv($iv_size, MCRYPT_RAND);
// initialize encryption handle
$tmp = $mcrypt_generic_init($td,$key, $iv); <------------------------------
if( $tmp != -1 )
{
$data = mdecrypt_generic($td,$encdata); <------------------------------
mcrypt_generic_deinit($td);
}
mcrypt_module_close($td);
return $data;
}
We hebben er nu het volgende van gemaakt en het inloggen gaat nu goed (geen
'got here 3' melding meer en ook geen andere foutmeldingen):
Code: Select all
// Regel 2205
function _encrypt($key,$data)
{
if( !function_exists('mcrypt_module_open') ) return FALSE;
//die('got here 3'); <------------------------------
srand((double) microtime() * 1000000);
$encdata = FALSE;
$td = @mcrypt_module_open(MCRYPT_DES,'',MCRYPT_MODE_ECB,'');
if( $td === FALSE ) return FALSE;
echo "DEBUG: key size = ".mcrypt_enc_get_key_size($td)."<br/>";
$key = substr($key,0,mcrypt_enc_get_key_size($td));
echo "DEBUG: key = $key<br/>";
$iv_size = mcrypt_enc_get_iv_size($td);
echo "DEBUG: iv size = $iv_size<br/>";
$iv = mcrypt_create_iv($iv_size, MCRYPT_RAND);
// initialize encryption handle
$tmp = mcrypt_generic_init($td,$key, $iv); <------------------------------
if( $tmp != -1 )
{
$tmp = mcrypt_generic($td,$data);
print_r( $tmp ); <------------------------------
mcrypt_generic_deinit($td);
$encdata = $iv.$tmp;
}
mcrypt_module_close($td);
return $encdata;
die();
}
// Regel 2235
function _decrypt($key,$encdata)
{
if( !function_exists('mcrypt_module_open') ) return FALSE;
$data = FALSE;
$td = @mcrypt_module_open(MCRYPT_DES,'',MCRYPT_MODE_ECB,'');
if( $td === FALSE ) return FALSE;
$key = substr($key,0,mcrypt_enc_get_key_size($td));
$iv_size = mcrypt_enc_get_iv_size($td);
$iv = mcrypt_create_iv($iv_size, MCRYPT_RAND);
// initialize encryption handle
$tmp = mcrypt_generic_init($td,$key, $iv); <------------------------------
if( $tmp != -1 )
{
$data = @mdecrypt_generic($td,$encdata); <------------------------------
mcrypt_generic_deinit($td);
}
mcrypt_module_close($td);
return $data;
}
Heeft iemand hier nog wat opmerkingen over?
Klopt dit wat wij hebben gewijzigd...?
En kan ik dit op een soortgelijke manier als bug aangeven bij
http://dev.cmsmadesimple.org/bug/list/14 ?
Groet, ®olf
ps. heb geprobeerd pijlen bij de wijzingen te zetten, kan zijn dat ik nog wat over het hoofd heb gezien...