• 大小: 752KB
    文件类型: .zip
    金币: 2
    下载: 1 次
    发布日期: 2021-05-08
  • 语言: PHP
  • 标签: php  thinkphp  微信授权  

资源简介

1、基于ThinkPHP框架,微信授权登录并获取用户基本信息。 2、解决微信授权回调页面域名只能设置一个的问题。 3、使用Redis缓存优化效率。

资源截图

代码片段和文件信息

/***********************************************************************

    Copyright 2006-2007 Ma Bingyao

    These sources is free software. Redistributions of source code must
    retain the above copyright notice. Redistributions in binary form
    must reproduce the above copyright notice. You can redistribute it
    freely. You can use it with any free or commercial software.

    These sources is distributed in the hope that it will be useful
    but WITHOUT ANY WARRANTY. Without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

        You may contact the author by:
           e-mail:  andot@coolcode.cn

*************************************************************************/
#ifdef HAVE_CONFIG_H
#include “config.h“
#endif

#include “php.h“

#if HAVE_XXTEA
#include “php_xxtea.h“
#include “ext/standard/info.h“ /* for phpinfo() functions */
#include “xxtea.h“

/* compiled function list so Zend knows what‘s in this module */
zend_function_entry xxtea_functions[] =
{
    ZEND_FE(xxtea_encrypt NULL)
    ZEND_FE(xxtea_decrypt NULL)
    ZEND_FE(xxtea_info NULL)
    {NULL NULL NULL}
};

/* compiled module information */
zend_module_entry xxtea_module_entry =
{
    STANDARD_MODULE_HEADER
    XXTEA_MODULE_NAME
    xxtea_functions
    ZEND_MINIT(xxtea)
    ZEND_MSHUTDOWN(xxtea)
    NULL
    NULL
    ZEND_MINFO(xxtea)
    XXTEA_VERSION
    STANDARD_MODULE_PROPERTIES
};

/* implement standard “stub“ routine to introduce ourselves to Zend */
#if defined(COMPILE_DL_XXTEA)
ZEND_GET_MODULE(xxtea)
#endif

static xxtea_long *xxtea_to_long_array(unsigned char *data xxtea_long len int include_length xxtea_long *ret_len) {
    xxtea_long i n *result;
n = len >> 2;
    n = (((len & 3) == 0) ? n : n + 1);
    if (include_length) {
        result = (xxtea_long *)emalloc((n + 1) << 2);
        result[n] = len;
    *ret_len = n + 1;
} else {
        result = (xxtea_long *)emalloc(n << 2);
    *ret_len = n;
    }
memset(result 0 n << 2);
for (i = 0; i < len; i++) {
        result[i >> 2] |= (xxtea_long)data[i] << ((i & 3) << 3);
    }
    return result;
}

static unsigned char *xxtea_to_byte_array(xxtea_long *data xxtea_long len int include_length xxtea_long *ret_len) {
    xxtea_long i n m;
    unsigned char *result;
    n = len << 2;
    if (include_length) {
        m = data[len - 1];
        if ((m < n - 7) || (m > n - 4)) return NULL;
        n = m;
    }
    result = (unsigned char *)emalloc(n + 1);
for (i = 0; i < n; i++) {
        result[i] = (unsigned char)((data[i >> 2] >> ((i & 3) << 3)) & 0xff);
    }
result[n] = ‘\0‘;
*ret_len = n;
return result;
}

static unsigned char *php_xxtea_encrypt(unsigned char *data xxtea_long len unsigned char *key xxtea_long *ret_len) {
    unsigned char *result;
    xxtea_long *v *k v_len k_len;
    v = xxtea_to_long_array(data len 1 &v_len);
    k = xxtea_to_long_array(key 16 0 &k_len);
    xxtea_long_encrypt(v v_len k);
    result 

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2018-03-01 12:06  weixin\
     文件         174  2017-12-06 10:59  weixin\.buildpath
     文件         258  2016-08-19 15:37  weixin\.htaccess
     文件         516  2017-12-05 11:38  weixin\.project
     目录           0  2018-03-01 12:06  weixin\.settings\
     文件          57  2015-11-23 20:25  weixin\.settings\org.eclipse.core.resources.prefs
     目录           0  2018-03-01 12:06  weixin\Service\
     目录           0  2018-03-01 12:06  weixin\Service\Conf\
     文件        2828  2018-03-01 12:22  weixin\Service\Conf\config.php
     目录           0  2018-03-01 12:06  weixin\Service\Lib\
     目录           0  2018-03-01 12:06  weixin\Service\Lib\Action\
     文件        4873  2018-03-01 12:21  weixin\Service\Lib\Action\CommonAction.class.php
     目录           0  2018-03-01 12:06  weixin\Service\Lib\Action\Home\
     文件        8515  2018-03-01 12:20  weixin\Service\Lib\Action\Home\WeixinAction.class.php
     文件         787  2017-11-28 13:27  weixin\Service\Lib\Action\IndexAction.class.php
     目录           0  2018-03-01 12:19  weixin\Service\Lib\Entrance\
     目录           0  2018-03-01 12:06  weixin\Service\Lib\Entrance\Exception\
     文件         258  2017-12-06 12:06  weixin\Service\Lib\Entrance\Exception\WeixinException.php
     文件         560  2017-09-27 11:11  weixin\Service\Lib\Entrance\RedisUtil.class.php
     目录           0  2018-03-01 12:06  weixin\Service\Lib\Model\
     文件         460  2017-12-05 11:53  weixin\Service\Lib\Model\baseModel.class.php
     文件         177  2017-11-28 13:30  weixin\Service\Lib\Model\ConstModel.class.php
     目录           0  2018-03-01 12:23  weixin\Service\Lib\Model\Home\
     目录           0  2018-03-01 12:23  weixin\Service\Runtime\
     目录           0  2018-03-01 12:06  weixin\Service\Tpl\
     目录           0  2018-03-01 12:06  weixin\Service\Tpl\default\
     目录           0  2018-03-01 12:23  weixin\Service\Tpl\default\Home\
     目录           0  2018-03-01 12:06  weixin\ThinkPHP\
     目录           0  2018-03-01 12:06  weixin\ThinkPHP\Common\
     文件        1778  2014-09-17 15:17  weixin\ThinkPHP\Common\alias.php
     文件        4214  2014-09-17 15:17  weixin\ThinkPHP\Common\compat.php
............此处省略338个文件信息

评论

共有 条评论