Blame view

pma/examples/signon.php 2.28 KB
a1684257   Administrator   first commit
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
  <?php
  /* vim: set expandtab sw=4 ts=4 sts=4: */
  /**
   * Single signon for phpMyAdmin
   *
   * This is just example how to use session based 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.
   *
   * @package PhpMyAdmin
   * @subpackage Example
   */
  
  /* Need to have cookie visible from parent directory */
  session_set_cookie_params(0, '/', '', 0);
  /* Create signon session */
  $session_name = 'SignonSession';
  session_name($session_name);
  session_start();
  
  /* Was data posted? */
  if (isset($_POST['user'])) {
      /* Store there credentials */
      $_SESSION['PMA_single_signon_user'] = $_POST['user'];
      $_SESSION['PMA_single_signon_password'] = $_POST['password'];
      $_SESSION['PMA_single_signon_host'] = $_POST['host'];
      $_SESSION['PMA_single_signon_port'] = $_POST['port'];
      /* Update another field of server configuration */
      $_SESSION['PMA_single_signon_cfgupdate'] = array('verbose' => 'Signon test');
      $id = session_id();
      /* Close that session */
      session_write_close();
      /* Redirect to phpMyAdmin (should use absolute URL here!) */
      header('Location: ../index.php');
  } else {
      /* Show simple form */
      header('Content-Type: text/html; charset=utf-8');
      echo '<?xml version="1.0" encoding="utf-8"?>' . "\n";
      ?>
  <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
      "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" 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" />
      <title>phpMyAdmin single signon example</title>
  </head>
  <body>
  <?php
  if (isset($_SESSION['PMA_single_signon_error_message'])) {
      echo '<p class="error">' . $_SESSION['PMA_single_signon_error_message'] . '</p>';
  }
  ?>
  <form action="signon.php" method="post">
  Username: <input type="text" name="user" /><br />
  Password: <input type="password" name="password" /><br />
  Host: (will use the one from config.inc.php by default) <input type="text" name="host" /><br />
  Port: (will use the one from config.inc.php by default) <input type="text" name="port" /><br />
  <input type="submit" />
  </form>
  </body>
  </html>
  <?php
  }
  ?>