discuz ¾µäphp¼ÓÃܽâÃܺ¯Êý authcode ½âÎö
http://bbs.kl3w.com/thread-117-1-1.html
¿µÊ¢µÄ authcode º¯Êý¿ÉÒÔ˵¶ÔÖйúµÄPHP½ç×÷³öÁËÖØ´ó¹±Ïס£°üÀ¨¿µÊ¢×Ô¼ºµÄ²úÆ·£¬ÒÔ¼°´ó²¿·ÖÖйúʹÓÃPHPµÄ¹«Ë¾¶¼ÓÃÕâ¸öº¯Êý½øÐмÓÃÜ£¬authcode ÊÇʹÓÃÒì»òÔËËã½øÐмÓÃܺͽâÃÜ¡£
ÔÀíÈçÏ£¬¼ÙÈ磺
¼ÓÃÜ
Ã÷ÎÄ£º1010 1001
Ãܳףº1110 0011
ÃÜÎÄ£º0100 1010
µÃ³öÃÜÎÄ0100 1010£¬½âÃÜÖ®ÐèºÍÃܳ×Òì»òϾͿÉÒÔÁË
½âÃÜ
ÃÜÎÄ£º0100 1010
Ãܳףº1110 0011
Ã÷ÎÄ£º1010 1001
²¢Ã»ÓÐʲô¸ßÉîµÄËã·¨£¬Ãܳ×ÖØÒªÐԺܸߣ¬ËùÒÔ£¬¹Ø¼üÔÚÓÚÔõôÉú³ÉÃܳס£
ÄÇÎÒÃÇÒ»Æð¿´Ï¿µÊ¢µÄauthcodeÔõô×öµÄ°É
// ²ÎÊý½âÊÍ
// $string£º Ã÷ÎÄ »ò ÃÜÎÄ
// $operation£ºDECODE±íʾ½âÃÜ,ÆäËü±íʾ¼ÓÃÜ
// $key£º Ãܳ×
// $expiry£ºÃÜÎÄÓÐЧÆÚ
function authcode($string, $operation = 'DECODE', $key = '', $expiry = 0) {
// ¶¯Ì¬Ãܳ׳¤¶È£¬ÏàͬµÄÃ÷ÎÄ»áÉú³É²»Í¬ÃÜÎľÍÊÇÒÀ¿¿¶¯Ì¬Ãܳ×
$ckey_length = 4;
// Ãܳ×
$key = md5($key ? $key : $GLOBALS['discuz_auth_key']);
// Ãܳ×a»á²ÎÓë¼Ó½âÃÜ
$keya = md5(substr($key, 0, 16));
// Ãܳ×b»áÓÃÀ´×öÊý¾ÝÍêÕûÐÔÑéÖ¤
$keyb = md5(substr($key, 16, 16));
// Ãܳ×cÓÃÓڱ仯Éú³ÉµÄÃÜÎÄ
$keyc = $ckey_length ? ($operation == 'DECODE' ? substr($string, 0, $ckey_length): substr(md5(microtime()), -$ckey_length)) : '';
// ²ÎÓëÔËËãµÄÃܳ×
$cryptkey = $keya.md5($keya.$keyc);
$key_length = strlen($cryptkey);
// Ã÷ÎÄ£¬Ç°10λÓÃÀ´±£´æʱ¼ä´Á£¬½âÃÜʱÑéÖ¤Êý¾ÝÓÐЧÐÔ£¬10µ½26λÓÃÀ´±£´æ$keyb(Ãܳ×b)£¬½âÃÜʱ»áͨ¹ýÕâ¸öÃܳ×ÑéÖ¤Êý¾ÝÍêÕûÐÔ
// Èç¹ûÊǽâÂëµÄ»°£¬»á´ÓµÚ$ckey_lengthλ¿ªÊ¼£¬ÒòΪÃÜÎÄÇ°$ckey_lengthλ±£´æ ¶¯Ì¬Ãܳף¬ÒÔ±£Ö¤½âÃÜÕýÈ·
Ïà¹ØÎĵµ£º
<?php
if (!get_magic_quotes_gpc()) {
add_slashes($_GET);
add_slashes($_POST);
add_slashes($_COOKIE);
}
function add_slashes($string) {
if (is_array($string)) {
foreach ($string as $key => $value) {
$string ......
¿ÕÓàʱ¼äдÁ˲éѯ¹¦ÄÜ£¨ÌṩÁÐ±í£¬ÏÔʾ²¿·ÖÄÚÈÝ£¬¹Ø¼ü×Ö×ÅÉ«£©
ÌṩÁËÁ½¸ö²éѯ½Ó¿Ú£º²éѯÊý¾Ý¿â½Ó¿Ú£¬Îı¾²éѯ½Ó¿Ú
²éѯÊý¾Ý¿â½Ó¿Ú£¬Õâ¸öÖ÷ÒªÊǶÔÊý¾Ý¿âÖеÄÏà¹Ø×ֶνøÐÐlike²Ù×÷£¬Ñ¡³öÏà¹Ø¼Ç¼½øÐÐÏÔʾ£¬¶ÔÓÚ´óÅúÁ¿µÄ²éѯ¿Ï¶¨»áºÍ¼õÂýϵͳÏìÓ¦µÄ£¬
Ò»°ã¿ÉÒÔÌí¼Ó±¸·ÝÒ»¸ömysql½øÐÐÕâÀàÊý¾Ý¿â½Ó¿Ú²éѯ£¬ºÍÈÕ³£µÄÆäËü²Ù×÷´ ......
×î½üÈ¥ÃæÊÔPHP³ÌÐòÔ± ³öÁËÒ»µÀÕâÑùµÄÌâ “php±éÀúÕû¸öĿ¼µÄÎļþÒÔ¼°Îļþ¼Ð ·â×°³Éº¯Êý”˳±ãÒ²¾ÍÌùÁËÉÏÀ´¡£ÐèÒªµÄÅóÓÑ¿ÉÒÔÄÃÈ¥ÓÃÓ㬽ö¹©Ñ§Ï°½»Á÷ʹÓá£ÈçÓв»Ç¡µ±µÄµØ·½»¹Çë¸÷λ¸ßÊÖ“×ìÏÂÁôÈË” °¡£¡
<?php
$path=$_SERVER["DOCUMENT_ROOT"];
$path=str_replace("/","\\",$path);
$path="$ ......