总之,我的wordpress页面在使用加密的$\\u GET参数获取数据时出现问题。这是我的职责:
function encryptDecrypt($key, $string, $decrypt)
{
if($decrypt)
{
$decrypted = rtrim(mcrypt_decrypt(MCRYPT_RIJNDAEL_256, md5($key), base64_decode($string), MCRYPT_MODE_CBC, md5(md5($key))), "6");
return $decrypted;
}else{
$encrypted = base64_encode(mcrypt_encrypt(MCRYPT_RIJNDAEL_256, md5($key), $string, MCRYPT_MODE_CBC, md5(md5($key))));
return $encrypted;
}
}
我使用注册用户的邮件对其进行加密,并使用$\\u GET参数检索他的数据。问题是,如果我使用普通的电子邮件地址(未加密,这将是非常无用和危险的),那么$\\u GET请求就会工作。如果我使用加密电子邮件,我只会收到404错误。
这就是我迄今为止所尝试的:
$m=urlencode(encryptDecrypt(\'mail\',$mail,false));
$msg.="<br><a href=\'siteurl/pageurl/?m=".$m."\'>Click here</a>";
URL中用于发送数据的加密邮件示例:
VOvk4Wh%2FpMzm21lQNrFnvBcwRWLw6ZVPOMe0VCi2t3g%3D
在“检索”页面中:
urldecode($_GET[\'m\']);
URL中用于检索数据的加密邮件示例:
VOvk4Wh/pMzm21lQNrFnvBcwRWLw6ZVPOMe0VCi2t3g=
当我打开带有该链接的“接收”页面时,我得到了404错误
UPDATE+
我已经解决了这个问题,“m”作为$\\u GET参数,这是wordpress的默认分类法。。。感谢大家对我的帮助。:)