Advertisement
mraps98

PHP_index.php2

Mar 2nd, 2018
198
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 4.03 KB | None | 0 0
  1. <?php
  2.  
  3. $realm = 'Restricted area';
  4.  
  5. //user => password
  6. $users = array('admin' => 'mypass', 'guest' => 'guest');
  7.  
  8.  
  9. if (empty($_SERVER['PHP_AUTH_DIGEST'])) {
  10.     header('HTTP/1.1 401 Unauthorized');
  11.     header('WWW-Authenticate: Digest realm="'.$realm.
  12.            '",qop="auth",nonce="'.uniqid().'",opaque="'.md5($realm).'"');
  13.  
  14.     die('Text to send if user hits Cancel button');
  15. }
  16.  
  17.  
  18. // analyze the PHP_AUTH_DIGEST variable
  19. if (!($data = http_digest_parse($_SERVER['PHP_AUTH_DIGEST'])) ||
  20.     !isset($users[$data['username']]))
  21.     die('Wrong Credentials!');
  22.  
  23.  
  24. // generate the valid response
  25. $A1 = md5($data['username'] . ':' . $realm . ':' . $users[$data['username']]);
  26. $A2 = md5($_SERVER['REQUEST_METHOD'].':'.$data['uri']);
  27. $valid_response = md5($A1.':'.$data['nonce'].':'.$data['nc'].':'.$data['cnonce'].':'.$data['qop'].':'.$A2);
  28.  
  29. if ($data['response'] != $valid_response)
  30.     die('Wrong Credentials!');
  31.  
  32. // ok, valid username & password
  33. echo '<div  class="container"><div class="alert alert-success">You are logged in as: ' . $data['username'].'</div></div>';
  34. session_start();
  35. $_SESSION['loggedin'] = true;
  36. $_SESSION['username'] = $data['username'];
  37.  
  38.  
  39. //phpinfo();
  40. $dbhost = 'localhost';
  41. $dbuser = 'db4133414';
  42. $dbpass = 'db4133414';
  43. $dbname = 'db4133414';
  44. $conn = new mysqli($dbhost, $dbuser, $dbpass, $dbname);
  45. if ($conn->connect_error) {
  46.     echo "Connection failed<br/>";
  47.     die("Connection failed: " . $conn->connect_error);
  48. }
  49.  
  50. echo "<div class='container'><h1>Current Names</h1></div>";
  51.  
  52. echo "<div class='container'><table class='table table-bordered'><tr><th>First Name</th><th>Surname</th><th>Date of B</th><th>Salary</th><th>Sex</th><th>Department</th><th>Supervisor</th><th>Button</th   ></tr>";
  53.  
  54.  
  55. $sql = 'SELECT e.fname, e.ssn, e.lname, e.bdate, e.salary, e.sex, d.dname, concat(f.fname," ", f.lname) AS supervisor FROM employee e LEFT JOIN employee f ON (e.superssn = f.ssn), department d WHERE (e.dno = d.dnumber)';
  56. $result = $conn->query($sql);
  57. $return_arr = array();
  58.  
  59. while($row = $result->fetch_assoc())
  60. {
  61.     echo "<tr><td>";
  62.     echo $row['fname']."</td><td>";
  63.     echo $row['lname']."</td><td>";
  64.     echo $row['bdate']."</td><td>";
  65.     echo $row['salary']."</td><td>";
  66.     echo $row['sex']."</td><td>";
  67.     echo $row['dname']."</td><td>";
  68.     echo $row['supervisor']."</td><td><button class='btn btn-dark' onclick='displaySSN(" . $row['ssn'] . ")'>Click</button>";
  69.     echo "</td></tr>";
  70. }
  71.  
  72.  
  73.  
  74. echo "</table><br><br>";
  75.  
  76. echo "<script type='text/javascript'>
  77.        function displaySSN(ssn){
  78.            alert(ssn);
  79.        }
  80.    
  81.    </script>";
  82.  
  83. echo "<h1>Add a new name:</h1><br>";
  84. echo "<form action='other.php' method='post'>
  85.  First Name: <input type='text' name='fname' class='form-control'> <br> <br>
  86.  Surname: <input type='text' name='sname' class='form-control'> <br> <br>
  87.  <button type='submit' type='button' class='btn btn-primary' onclick='displaySSN()'>Submit</button>
  88. </form></div>";
  89.  
  90. // function to parse the http auth header
  91. function http_digest_parse($txt)
  92. {
  93.     // protect against missing data
  94.     $needed_parts = array('nonce'=>1, 'nc'=>1, 'cnonce'=>1, 'qop'=>1, 'username'=>1, 'uri'=>1, 'response'=>1);
  95.     $data = array();
  96.     $keys = implode('|', array_keys($needed_parts));
  97.  
  98.     preg_match_all('@(' . $keys . ')=(?:([\'"])([^\2]+?)\2|([^\s,]+))@', $txt, $matches, PREG_SET_ORDER);
  99.  
  100.     foreach ($matches as $m) {
  101.         $data[$m[1]] = $m[3] ? $m[3] : $m[4];
  102.         unset($needed_parts[$m[1]]);
  103.     }
  104.  
  105.     return $needed_parts ? false : $data;
  106. }
  107. ?>
  108.  
  109. <!DOCTYPE html>
  110. <html>
  111. <head>
  112.     <style>
  113.         table,td,tr { border:1px solid #021ff9;
  114.             //background-color:#9ec2d3;
  115.             background-color:#eaf1f2;
  116.             padding:4px;
  117.             }
  118.         td { color:#002156;}
  119.         body { background-color:#cee4ef;}
  120.     </style>
  121.     <body>
  122.        
  123.        
  124.    
  125.     </body>
  126.     <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css" integrity="sha384-Gn5384xqQ1aoWXA+058RXPxPg6fy4IWvTNh0E263XmFcJlSAwiGgFAW/dAiS6JXm" crossorigin="anonymous">
  127.  
  128. </head>
  129.  
  130.  
  131. </html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement