diff options
| author | Charles Cabergs <me@cacharle.xyz> | 2020-07-27 10:05:23 +0200 |
|---|---|---|
| committer | Charles Cabergs <me@cacharle.xyz> | 2020-07-27 10:05:23 +0200 |
| commit | 5bf66662a9bdd62c5bccab15e607cd95cfb8fcab (patch) | |
| tree | 39a1a4629749056191c05dfd899f931701b7acf3 /srcs/phpmyadmin/examples/openid.php | |
| parent | 5afd237bbd22028b85532b8c0b3fcead49a00764 (diff) | |
| download | ft_server-master.tar.gz ft_server-master.tar.bz2 ft_server-master.zip | |
Removed wordpress and phpmyadmin, my server doesn't handle it well and it brings shame on my famillyHEADmaster
Diffstat (limited to 'srcs/phpmyadmin/examples/openid.php')
| -rw-r--r-- | srcs/phpmyadmin/examples/openid.php | 177 |
1 files changed, 0 insertions, 177 deletions
diff --git a/srcs/phpmyadmin/examples/openid.php b/srcs/phpmyadmin/examples/openid.php deleted file mode 100644 index e186d78..0000000 --- a/srcs/phpmyadmin/examples/openid.php +++ /dev/null @@ -1,177 +0,0 @@ -<?php -/* vim: set expandtab sw=4 ts=4 sts=4: */ -/** - * Single signon for phpMyAdmin using OpenID - * - * This is just example how to use single signon with phpMyAdmin, it is - * not intended to be perfect code and look, only shows how you can - * integrate this functionality in your application. - * - * It uses OpenID pear package, see https://pear.php.net/package/OpenID - * - * User first authenticates using OpenID and based on content of $AUTH_MAP - * the login information is passed to phpMyAdmin in session data. - * - * @package PhpMyAdmin - * @subpackage Example - */ -declare(strict_types=1); - -if (false === @include_once 'OpenID/RelyingParty.php') { - exit; -} - -/* Change this to true if using phpMyAdmin over https */ -$secure_cookie = false; - -/** - * Map of authenticated users to MySQL user/password pairs. - */ -$AUTH_MAP = [ - 'https://launchpad.net/~username' => [ - 'user' => 'root', - 'password' => '', - ], -]; - -/** - * Simple function to show HTML page with given content. - * - * @param string $contents Content to include in page - * - * @return void - */ -function Show_page($contents) -{ - header('Content-Type: text/html; charset=utf-8'); - echo '<?xml version="1.0" encoding="utf-8"?>' , "\n"; - ?> - <!DOCTYPE HTML> - <html lang="en" dir="ltr"> - <head> - <link rel="icon" href="../favicon.ico" type="image/x-icon"> - <link rel="shortcut icon" href="../favicon.ico" type="image/x-icon"> - <meta charset="utf-8"> - <title>phpMyAdmin OpenID signon example</title> - </head> - <body> - <?php - if (isset($_SESSION) && isset($_SESSION['PMA_single_signon_error_message'])) { - echo '<p class="error">' , $_SESSION['PMA_single_signon_message'] , '</p>'; - unset($_SESSION['PMA_single_signon_message']); - } - echo $contents; - ?> - </body> - </html> - <?php -} - -/** - * Display error and exit - * - * @param Exception $e Exception object - * - * @return void - */ -function Die_error($e) -{ - $contents = "<div class='relyingparty_results'>\n"; - $contents .= "<pre>" . htmlspecialchars($e->getMessage()) . "</pre>\n"; - $contents .= "</div class='relyingparty_results'>"; - Show_page($contents); - exit; -} - - -/* Need to have cookie visible from parent directory */ -session_set_cookie_params(0, '/', '', $secure_cookie, true); -/* Create signon session */ -$session_name = 'SignonSession'; -session_name($session_name); -@session_start(); - -// Determine realm and return_to -$base = 'http'; -if (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == 'on') { - $base .= 's'; -} -$base .= '://' . $_SERVER['SERVER_NAME'] . ':' . $_SERVER['SERVER_PORT']; - -$realm = $base . '/'; -$returnTo = $base . dirname($_SERVER['PHP_SELF']); -if ($returnTo[strlen($returnTo) - 1] != '/') { - $returnTo .= '/'; -} -$returnTo .= 'openid.php'; - -/* Display form */ -if (! count($_GET) && ! count($_POST) || isset($_GET['phpMyAdmin'])) { - /* Show simple form */ - $content = '<form action="openid.php" method="post"> -OpenID: <input type="text" name="identifier"><br> -<input type="submit" name="start"> -</form> -</body> -</html>'; - Show_page($content); - exit; -} - -/* Grab identifier */ -if (isset($_POST['identifier']) && is_string($_POST['identifier'])) { - $identifier = $_POST['identifier']; -} elseif (isset($_SESSION['identifier']) && is_string($_SESSION['identifier'])) { - $identifier = $_SESSION['identifier']; -} else { - $identifier = null; -} - -/* Create OpenID object */ -try { - $o = new OpenID_RelyingParty($returnTo, $realm, $identifier); -} catch (Exception $e) { - Die_error($e); -} - -/* Redirect to OpenID provider */ -if (isset($_POST['start'])) { - try { - $authRequest = $o->prepare(); - } catch (Exception $e) { - Die_error($e); - } - - $url = $authRequest->getAuthorizeURL(); - - header("Location: $url"); - exit; -} else { - /* Grab query string */ - if (! count($_POST)) { - list(, $queryString) = explode('?', $_SERVER['REQUEST_URI']); - } else { - // I hate php sometimes - $queryString = file_get_contents('php://input'); - } - - /* Check reply */ - try { - $message = new OpenID_Message($queryString, OpenID_Message::FORMAT_HTTP); - } catch (Exception $e) { - Die_error($e); - } - - $id = $message->get('openid.claimed_id'); - - if (! empty($id) && isset($AUTH_MAP[$id])) { - $_SESSION['PMA_single_signon_user'] = $AUTH_MAP[$id]['user']; - $_SESSION['PMA_single_signon_password'] = $AUTH_MAP[$id]['password']; - session_write_close(); - /* Redirect to phpMyAdmin (should use absolute URL here!) */ - header('Location: ../index.php'); - } else { - Show_page('<p>User not allowed!</p>'); - exit; - } -} |
