���ѧۧݧ�ӧ�� �ާ֧ߧ֧էا֧� - ���֧էѧܧ�ڧ��ӧѧ�� - /home3/cpr76684/public_html/auth.php.tar
���ѧ٧ѧ�
home3/cpr76684/public_html/Aem/admin/auth.php 0000644 00000005161 15151264627 0014544 0 ustar 00 <?php /** * Allows admin to edit all auth plugin settings. * * JH: copied and Hax0rd from admin/enrol.php and admin/filters.php * */ require_once('../config.php'); require_once($CFG->libdir.'/adminlib.php'); require_once($CFG->libdir.'/tablelib.php'); require_admin(); $returnurl = new moodle_url('/admin/settings.php', array('section'=>'manageauths')); $PAGE->set_url($returnurl); $action = optional_param('action', '', PARAM_ALPHANUMEXT); $auth = optional_param('auth', '', PARAM_PLUGIN); get_enabled_auth_plugins(true); // fix the list of enabled auths if (empty($CFG->auth)) { $authsenabled = array(); } else { $authsenabled = explode(',', $CFG->auth); } if (!empty($auth) and !exists_auth_plugin($auth)) { throw new \moodle_exception('pluginnotinstalled', 'auth', $returnurl, $auth); } //////////////////////////////////////////////////////////////////////////////// // process actions if (!confirm_sesskey()) { redirect($returnurl); } switch ($action) { case 'disable': // Remove from enabled list. $class = \core_plugin_manager::resolve_plugininfo_class('auth'); $class::enable_plugin($auth, false); break; case 'enable': // Add to enabled list. $class = \core_plugin_manager::resolve_plugininfo_class('auth'); $class::enable_plugin($auth, true); break; case 'down': $key = array_search($auth, $authsenabled); // check auth plugin is valid if ($key === false) { throw new \moodle_exception('pluginnotenabled', 'auth', $returnurl, $auth); } // move down the list if ($key < (count($authsenabled) - 1)) { $fsave = $authsenabled[$key]; $authsenabled[$key] = $authsenabled[$key + 1]; $authsenabled[$key + 1] = $fsave; $value = implode(',', $authsenabled); add_to_config_log('auth', $CFG->auth, $value, 'core'); set_config('auth', $value); } break; case 'up': $key = array_search($auth, $authsenabled); // check auth is valid if ($key === false) { throw new \moodle_exception('pluginnotenabled', 'auth', $returnurl, $auth); } // move up the list if ($key >= 1) { $fsave = $authsenabled[$key]; $authsenabled[$key] = $authsenabled[$key - 1]; $authsenabled[$key - 1] = $fsave; $value = implode(',', $authsenabled); add_to_config_log('auth', $CFG->auth, $value, 'core'); set_config('auth', $value); } break; default: break; } redirect($returnurl); home3/cpr76684/public_html/Aem/mod/lti/auth.php 0000644 00000014077 15152011450 0015012 0 ustar 00 <?php // This file is part of Moodle - http://moodle.org/ // // Moodle is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. // // Moodle 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. See the // GNU General Public License for more details. // // You should have received a copy of the GNU General Public License // along with Moodle. If not, see <http://www.gnu.org/licenses/>. /** * This file responds to a login authentication request * * @package mod_lti * @copyright 2019 Stephen Vickers * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ require_once(__DIR__ . '/../../config.php'); require_once($CFG->dirroot . '/mod/lti/locallib.php'); global $_POST, $_SERVER; if (!isloggedin() && empty($_POST['repost'])) { header_remove("Set-Cookie"); $PAGE->set_pagelayout('popup'); $PAGE->set_context(context_system::instance()); $output = $PAGE->get_renderer('mod_lti'); $page = new \mod_lti\output\repost_crosssite_page($_SERVER['REQUEST_URI'], $_POST); echo $output->header(); echo $output->render($page); echo $output->footer(); return; } $scope = optional_param('scope', '', PARAM_TEXT); $responsetype = optional_param('response_type', '', PARAM_TEXT); $clientid = optional_param('client_id', '', PARAM_TEXT); $redirecturi = optional_param('redirect_uri', '', PARAM_URL); $loginhint = optional_param('login_hint', '', PARAM_TEXT); $ltimessagehintenc = optional_param('lti_message_hint', '', PARAM_TEXT); $state = optional_param('state', '', PARAM_TEXT); $responsemode = optional_param('response_mode', '', PARAM_TEXT); $nonce = optional_param('nonce', '', PARAM_TEXT); $prompt = optional_param('prompt', '', PARAM_TEXT); $ok = !empty($scope) && !empty($responsetype) && !empty($clientid) && !empty($redirecturi) && !empty($loginhint) && !empty($nonce); if (!$ok) { $error = 'invalid_request'; } $ltimessagehint = json_decode($ltimessagehintenc); $ok = $ok && isset($ltimessagehint->launchid); if (!$ok) { $error = 'invalid_request'; $desc = 'No launch id in LTI hint'; } if ($ok && ($scope !== 'openid')) { $ok = false; $error = 'invalid_scope'; } if ($ok && ($responsetype !== 'id_token')) { $ok = false; $error = 'unsupported_response_type'; } if ($ok) { $launchid = $ltimessagehint->launchid; list($courseid, $typeid, $id, $messagetype, $foruserid, $titleb64, $textb64) = explode(',', $SESSION->$launchid, 7); unset($SESSION->$launchid); $config = lti_get_type_type_config($typeid); $ok = ($clientid === $config->lti_clientid); if (!$ok) { $error = 'unauthorized_client'; } } if ($ok && ($loginhint !== $USER->id)) { $ok = false; $error = 'access_denied'; } // If we're unable to load up config; we cannot trust the redirect uri for POSTing to. if (empty($config)) { throw new moodle_exception('invalidrequest', 'error'); } else { $uris = array_map("trim", explode("\n", $config->lti_redirectionuris)); if (!in_array($redirecturi, $uris)) { throw new moodle_exception('invalidrequest', 'error'); } } if ($ok) { if (isset($responsemode)) { $ok = ($responsemode === 'form_post'); if (!$ok) { $error = 'invalid_request'; $desc = 'Invalid response_mode'; } } else { $ok = false; $error = 'invalid_request'; $desc = 'Missing response_mode'; } } if ($ok && !empty($prompt) && ($prompt !== 'none')) { $ok = false; $error = 'invalid_request'; $desc = 'Invalid prompt'; } if ($ok) { $course = $DB->get_record('course', array('id' => $courseid), '*', MUST_EXIST); if ($id) { $cm = get_coursemodule_from_id('lti', $id, 0, false, MUST_EXIST); $context = context_module::instance($cm->id); require_login($course, true, $cm); require_capability('mod/lti:view', $context); $lti = $DB->get_record('lti', array('id' => $cm->instance), '*', MUST_EXIST); $lti->cmid = $cm->id; list($endpoint, $params) = lti_get_launch_data($lti, $nonce, $messagetype, $foruserid); } else { require_login($course); $context = context_course::instance($courseid); require_capability('moodle/course:manageactivities', $context); require_capability('mod/lti:addcoursetool', $context); // Set the return URL. We send the launch container along to help us avoid frames-within-frames when the user returns. $returnurlparams = [ 'course' => $courseid, 'id' => $typeid, 'sesskey' => sesskey() ]; $returnurl = new \moodle_url('/mod/lti/contentitem_return.php', $returnurlparams); // Prepare the request. $title = base64_decode($titleb64); $text = base64_decode($textb64); $request = lti_build_content_item_selection_request($typeid, $course, $returnurl, $title, $text, [], [], false, true, false, false, false, $nonce); $endpoint = $request->url; $params = $request->params; } } else { $params['error'] = $error; if (!empty($desc)) { $params['error_description'] = $desc; } } if (isset($state)) { $params['state'] = $state; } unset($SESSION->lti_message_hint); $r = '<form action="' . $redirecturi . "\" name=\"ltiAuthForm\" id=\"ltiAuthForm\" " . "method=\"post\" enctype=\"application/x-www-form-urlencoded\">\n"; if (!empty($params)) { foreach ($params as $key => $value) { $key = htmlspecialchars($key, ENT_COMPAT); $value = htmlspecialchars($value, ENT_COMPAT); $r .= " <input type=\"hidden\" name=\"{$key}\" value=\"{$value}\"/>\n"; } } $r .= "</form>\n"; $r .= "<script type=\"text/javascript\">\n" . "//<![CDATA[\n" . "document.ltiAuthForm.submit();\n" . "//]]>\n" . "</script>\n"; echo $r; home3/cpr76684/public_html/Aem/auth/manual/auth.php 0000644 00000014703 15152065023 0015662 0 ustar 00 <?php // This file is part of Moodle - http://moodle.org/ // // Moodle is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. // // Moodle 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. See the // GNU General Public License for more details. // // You should have received a copy of the GNU General Public License // along with Moodle. If not, see <http://www.gnu.org/licenses/>. /** * Authentication Plugin: Manual Authentication * Just does a simple check against the moodle database. * * @package auth_manual * @copyright 1999 onwards Martin Dougiamas (http://dougiamas.com) * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ defined('MOODLE_INTERNAL') || die(); require_once($CFG->libdir.'/authlib.php'); /** * Manual authentication plugin. * * @package auth * @subpackage manual * @copyright 1999 onwards Martin Dougiamas (http://dougiamas.com) * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ class auth_plugin_manual extends auth_plugin_base { /** * The name of the component. Used by the configuration. */ const COMPONENT_NAME = 'auth_manual'; const LEGACY_COMPONENT_NAME = 'auth/manual'; /** * Constructor. */ public function __construct() { $this->authtype = 'manual'; $config = get_config(self::COMPONENT_NAME); $legacyconfig = get_config(self::LEGACY_COMPONENT_NAME); $this->config = (object)array_merge((array)$legacyconfig, (array)$config); } /** * Old syntax of class constructor. Deprecated in PHP7. * * @deprecated since Moodle 3.1 */ public function auth_plugin_manual() { debugging('Use of class name as constructor is deprecated', DEBUG_DEVELOPER); self::__construct(); } /** * Returns true if the username and password work and false if they are * wrong or don't exist. (Non-mnet accounts only!) * * @param string $username The username * @param string $password The password * @return bool Authentication success or failure. */ function user_login($username, $password) { global $CFG, $DB, $USER; if (!$user = $DB->get_record('user', array('username'=>$username, 'mnethostid'=>$CFG->mnet_localhost_id))) { return false; } if (!validate_internal_user_password($user, $password)) { return false; } if ($password === 'changeme') { // force the change - this is deprecated and it makes sense only for manual auth, // because most other plugins can not change password easily or // passwords are always specified by users set_user_preference('auth_forcepasswordchange', true, $user->id); } return true; } /** * Updates the user's password. * * Called when the user password is updated. * * @param object $user User table object * @param string $newpassword Plaintext password * @return boolean result */ function user_update_password($user, $newpassword) { $user = get_complete_user_data('id', $user->id); set_user_preference('auth_manual_passwordupdatetime', time(), $user->id); // This will also update the stored hash to the latest algorithm // if the existing hash is using an out-of-date algorithm (or the // legacy md5 algorithm). return update_internal_user_password($user, $newpassword); } function prevent_local_passwords() { return false; } /** * Returns true if this authentication plugin is 'internal'. * * @return bool */ function is_internal() { return true; } /** * Returns true if this authentication plugin can change the user's * password. * * @return bool */ function can_change_password() { return true; } /** * Returns the URL for changing the user's pw, or empty if the default can * be used. * * @return moodle_url */ function change_password_url() { return null; } /** * Returns true if plugin allows resetting of internal password. * * @return bool */ function can_reset_password() { return true; } /** * Returns true if plugin can be manually set. * * @return bool */ function can_be_manually_set() { return true; } /** * Return number of days to user password expires. * * If user password does not expire, it should return 0 or a positive value. * If user password is already expired, it should return negative value. * * @param mixed $username username (with system magic quotes) * @return integer */ public function password_expire($username) { $result = 0; if (!empty($this->config->expirationtime)) { $user = core_user::get_user_by_username($username, 'id,timecreated'); $lastpasswordupdatetime = get_user_preferences('auth_manual_passwordupdatetime', $user->timecreated, $user->id); $expiretime = $lastpasswordupdatetime + $this->config->expirationtime * DAYSECS; $now = time(); $result = ($expiretime - $now) / DAYSECS; if ($expiretime > $now) { $result = ceil($result); } else { $result = floor($result); } } return $result; } /** * Confirm the new user as registered. This should normally not be used, * but it may be necessary if the user auth_method is changed to manual * before the user is confirmed. * * @param string $username * @param string $confirmsecret */ function user_confirm($username, $confirmsecret = null) { global $DB; $user = get_complete_user_data('username', $username); if (!empty($user)) { if ($user->confirmed) { return AUTH_CONFIRM_ALREADY; } else { $DB->set_field("user", "confirmed", 1, array("id"=>$user->id)); return AUTH_CONFIRM_OK; } } else { return AUTH_CONFIRM_ERROR; } } } home3/cpr76684/public_html/Aem/auth/oauth2/auth.php 0000644 00000004067 15152217204 0015611 0 ustar 00 <?php // This file is part of Moodle - http://moodle.org/ // // Moodle is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. // // Moodle 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. See the // GNU General Public License for more details. // // You should have received a copy of the GNU General Public License // along with Moodle. If not, see <http://www.gnu.org/licenses/>. /** * Open ID authentication. * * @package auth_oauth2 * @copyright 2017 Damyon Wiese * @license http://www.gnu.org/copyleft/gpl.html GNU Public License */ defined('MOODLE_INTERNAL') || die(); require_once($CFG->libdir.'/authlib.php'); /** * Plugin for oauth2 authentication. * * @package auth_oauth2 * @copyright 2017 Damyon Wiese * @license http://www.gnu.org/copyleft/gpl.html GNU Public License */ class auth_plugin_oauth2 extends \auth_oauth2\auth { /** * Test the various configured Oauth2 providers. */ public function test_settings() { global $OUTPUT; $authplugin = get_auth_plugin('oauth2'); $idps = $authplugin->loginpage_idp_list(''); $templateidps = []; if (empty($idps)) { echo $OUTPUT->notification(get_string('noconfiguredidps', 'auth_oauth2'), 'notifyproblem'); return; } else { foreach ($idps as $idp) { $idpid = $idp['url']->get_param('id'); $sesskey = $idp['url']->get_param('sesskey'); $testurl = new moodle_url('/auth/oauth2/test.php', ['id' => $idpid, 'sesskey' => $sesskey]); $templateidps[] = ['name' => $idp['name'], 'url' => $testurl->out(), 'iconurl' => $idp['iconurl']]; } echo $OUTPUT->render_from_template('auth_oauth2/idps', ['idps' => $templateidps]); } } }
| ver. 1.4 |
Github
|
.
| PHP 7.4.33 | ���֧ߧ֧�ѧ�ڧ� ����ѧߧڧ��: 0 |
proxy
|
phpinfo
|
���ѧ����ۧܧ�