Server : Apache System : Linux iZ2vcgyutqttsd1p850kl8Z 3.10.0-1160.92.1.el7.x86_64 #1 SMP Tue Jun 20 11:48:01 UTC 2023 x86_64 User : www ( 1000) PHP Version : 5.6.40 Disable Function : passthru,exec,system,putenv,chroot,chgrp,chown,shell_exec,popen,proc_open,pcntl_exec,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,imap_open,apache_setenv Directory : /www/wwwroot/saimikebio.com/wechat/oauth/ |
<?php define('IN_ECTOUCH', true); $uri = !empty($_GET['uri']) ? $_GET['uri'] : ''; if(!empty($uri)) { $uri = $_GET['uri']; } if(empty($uri)) { exit('uri is empty locaion'); } require (dirname(__FILE__) . '/../../mobile/include/init.php'); $wxch_config = $db->getRow("SELECT * FROM ". $GLOBALS['ecs']->table('weixin_config') ." WHERE `id` = 1"); $appid = $wxch_config['appid']; $appsecret = $wxch_config['appsecret']; $code = !empty($_GET['code']) ? $_GET['code'] : ''; $url = 'https://api.weixin.qq.com/sns/oauth2/access_token?appid='.$appid.'&secret='.$appsecret.'&code='.$code.'&grant_type=authorization_code'; $ret_json = curl_get_contents($url); $ret = json_decode($ret_json); $openid = !empty($ret->openid) ? $ret->openid : ''; $access_token = !empty($ret->access_token) ? $ret->access_token : ''; $cfg_baseurl = $db->getOne("SELECT cfg_value FROM ". $GLOBALS['ecs']->table('weixin_cfg') ." WHERE cfg_name = 'baseurl'"); $cfg_murl = $db->getOne("SELECT cfg_value FROM ". $GLOBALS['ecs']->table('weixin_cfg') ." WHERE cfg_name = 'murl'"); $back_url = $uri; if(strlen($openid) == 28) { $oauth_step = $db->getOne("SELECT `setp` FROM ". $GLOBALS['ecs']->table('weixin_user') ." WHERE `wxid` = '$openid'"); $wxch_ecs = $ecs->table('users'); if($oauth_step == 3) { $query_sql = "SELECT `user_name`,`password` FROM ".$wxch_ecs." WHERE `wxch_bd` = 'ok' AND `wxid` = '$openid'"; } else { $query_sql = "SELECT `user_name`,`password` FROM ".$wxch_ecs." WHERE `wxch_bd` = 'no' AND `wxid` = '$openid'"; } $w_res = $db->getRow($query_sql); if(empty($w_res)) { $query_sql = "SELECT `user_name`,`password` FROM ".$wxch_ecs." WHERE `wxid` = '$openid'"; $w_res = $db->getRow($query_sql); } if ($user->login($w_res['user_name'], null, true)) { update_user_info(); recalculate_price(); } } header("HTTP/1.1 301 Moved Permanently"); header("Location: $back_url"); exit; function curl_get_contents($url) { if(isset($_SERVER['HTTP_USER_AGENT'])) { $agent = $_SERVER['HTTP_USER_AGENT']; } else { $agent = ''; } if(isset($_SERVER['HTTP_REFERER'])) { $referer = $_SERVER['HTTP_REFERER']; } else { $referer = ''; } $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_TIMEOUT, 1); curl_setopt($ch, CURLOPT_USERAGENT, $agent); curl_setopt($ch, CURLOPT_REFERER,$referer); curl_setopt($ch,CURLOPT_FOLLOWLOCATION,1); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false); $r = curl_exec($ch); curl_close($ch); return $r; } ?>