Файловый менеджер - Редактировать - /home/harasnat/www/mf/recaptcha.php.tar
Назад
home/harasnat/www/learning/webservice/recaptcha.php 0000604 00000005744 15062121021 0016515 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/>. /** * A script to display a ReCaptcha for the site. * * ReCaptcha V2 is restricted by domain, so it cannot be displayed in mobile and desktop apps. * * This script will display and initialize the reCaptcha, setting some empty callbacks by default. The client can override * those Javascript callbacks (in the "window" object). * * This script won't work in mobile and desktop apps unless $CFG->allowframembedding is enabled. * * @package core_webservice * @copyright 2018 Dani Palou * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ define('NO_MOODLE_COOKIES', true); require_once(__DIR__ . '/../config.php'); $lang = optional_param('lang', '', PARAM_LANG); $content = ''; // Check that reCAPTCHA is configured. if (!empty($CFG->recaptchapublickey) && !empty($CFG->recaptchaprivatekey)) { require_once($CFG->libdir . '/recaptchalib_v2.php'); $apiurl = RECAPTCHA_API_URL; $pubkey = $CFG->recaptchapublickey; $jscode = " // Create empty callbacks by default. They can be overridden by the client. var recaptchacallback = function() {}; var recaptchaexpiredcallback = function() {}; var recaptchaerrorcallback = function() {}; var recaptchaloaded = function() { grecaptcha.render('recaptcha_element', { 'sitekey' : '$pubkey', 'callback' : 'recaptchacallback', 'expired-callback' : 'recaptchaexpiredcallback', 'error-callback' : 'recaptchaerrorcallback' }); }"; $lang = recaptcha_lang($lang); $apicode = "\n<script type=\"text/javascript\" "; $apicode .= "src=\"$apiurl?onload=recaptchaloaded&render=explicit&hl=$lang\" async defer>"; $apicode .= "</script>\n"; $content = html_writer::script($jscode, ''); $content .= html_writer::div('', 'recaptcha_element', array('id' => 'recaptcha_element')); $content .= $apicode; } else { // To use reCAPTCHA you must have an API key. require_once($CFG->libdir . '/filelib.php'); send_header_404(); throw new \moodle_exception('cannotusepage2'); } $output = <<<OET <html> <head> <meta http-equiv="content-type" content="text/html; charset=utf-8" /> </head> <body style="margin:0; padding:0"> $content </body> </html> OET; echo $output; home/harasnat/www/learning/lib/form/recaptcha.php 0000604 00000007671 15062124342 0016102 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/>. /** * recaptcha type form element * * Contains HTML class for a recaptcha type element * * @package core_form * @copyright 2008 Nicolas Connault <nicolasconnault@gmail.com> * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ require_once('HTML/QuickForm/input.php'); require_once('templatable_form_element.php'); /** * recaptcha type form element * * HTML class for a recaptcha type element * * @package core_form * @category form * @copyright 2008 Nicolas Connault <nicolasconnault@gmail.com> * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ class MoodleQuickForm_recaptcha extends HTML_QuickForm_input implements templatable { use templatable_form_element { export_for_template as export_for_template_base; } /** @var string html for help button, if empty then no help */ var $_helpbutton=''; /** * constructor * * @param string $elementName (optional) name of the recaptcha element * @param string $elementLabel (optional) label for recaptcha element * @param mixed $attributes (optional) Either a typical HTML attribute string * or an associative array */ public function __construct($elementName = null, $elementLabel = null, $attributes = null) { parent::__construct($elementName, $elementLabel, $attributes); $this->_type = 'recaptcha'; } /** * Old syntax of class constructor. Deprecated in PHP7. * * @deprecated since Moodle 3.1 */ public function MoodleQuickForm_recaptcha($elementName = null, $elementLabel = null, $attributes = null) { debugging('Use of class name as constructor is deprecated', DEBUG_DEVELOPER); self::__construct($elementName, $elementLabel, $attributes); } /** * Returns the reCAPTCHA element in HTML * * @return string The HTML to render */ public function toHtml() { global $CFG; require_once($CFG->libdir . '/recaptchalib_v2.php'); return recaptcha_get_challenge_html(RECAPTCHA_API_URL, $CFG->recaptchapublickey); } /** * get html for help button * * @return string html for help button */ function getHelpButton(){ return $this->_helpbutton; } /** * Checks recaptcha response with Google. * * @param string $responsestr * @return bool */ public function verify($responsestr) { global $CFG; require_once($CFG->libdir . '/recaptchalib_v2.php'); $response = recaptcha_check_response(RECAPTCHA_VERIFY_URL, $CFG->recaptchaprivatekey, getremoteaddr(), $responsestr); if (!$response['isvalid']) { $attributes = $this->getAttributes(); $attributes['error_message'] = $response['error']; $this->setAttributes($attributes); return $response['error']; } return true; } public function export_for_template(renderer_base $output) { $context = $this->export_for_template_base($output); $context['html'] = $this->toHtml(); return $context; } /** * Get force LTR option. * * @return bool */ public function get_force_ltr() { return true; } }
| ver. 1.4 |
Github
|
.
| PHP 8.1.33 | Генерация страницы: 0 |
proxy
|
phpinfo
|
Настройка