Advertisement
Guest User

Untitled

a guest
Oct 5th, 2017
95
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 6.03 KB | None | 0 0
  1. <?php
  2.     ob_start();
  3.     session_start();
  4.     require ('config.php');
  5.     $formErrors = array();
  6.     $captcha = false;
  7.  
  8.     if (isset($_POST['Submit'])) {
  9.  
  10.         $response = $_POST["g-recaptcha-response"];
  11.  
  12.         $url = 'https://www.google.com/recaptcha/api/siteverify';
  13.         $data = array(
  14.             'secret' => '6LfVSDMUAAAAAJ1EBjptmateaepdIHUYhp0147BW',
  15.             'response' => $_POST["g-recaptcha-response"]
  16.         );
  17.         $options = array(
  18.             'http' => array (
  19.                 'method' => 'POST',
  20.                 'content' => http_build_query($data)
  21.             )
  22.         );
  23.         $context  = stream_context_create($options);
  24.         $verify = file_get_contents($url, false, $context);
  25.         $captcha_success=json_decode($verify);
  26.  
  27.         if ($captcha_success->success==false) {
  28.             echo "<p>You are a bot! Go away!</p>";
  29.         } else if ($captcha_success->success==true) {
  30.             $captcha = true;
  31.         }
  32.  
  33.         $username = isset($_POST['username']) ? $_POST['username'] : '';
  34.         $password = isset($_POST['passwd']) ? $_POST['passwd'] : '';
  35.  
  36.         if(trim($username) == '') {
  37.             $formErrors[] = 'No username';
  38.         }
  39.  
  40.         if(trim($password) == '') {
  41.             $formErrors[] = 'No password';
  42.         }
  43.            
  44.        
  45.  
  46.         if(sizeof($formErrors) == 0 && $captcha) {
  47.             try {
  48.                 $dbh = new PDO("mysql:host=$host;dbname=$dbnm",$user,$pass);
  49.  
  50.                 //$dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); // <== add this line
  51.                 $dbh->setAttribute( PDO::ATTR_EMULATE_PREPARES, false );
  52.                 $clean_username = filter_var($username, FILTER_SANITIZE_STRING);
  53.                 $clean_password = filter_var($password, FILTER_SANITIZE_STRING);
  54.                 $stmt = $dbh->prepare("SELECT id,naam,categorie, functie from users2 where login=? AND paswoord=? AND actief=?");
  55.                     $stmt->execute(array(strip_tags($clean_username),strip_tags(md5($clean_password)),'ja'));
  56.                     $row = $stmt->fetch(PDO::FETCH_ASSOC);
  57.                     $categorie = $row['categorie'];
  58.                     $naam = $row['naam'];
  59.                     $userid = $row['id'];
  60.                     $functie = $row['functie'];    
  61.  
  62.                 if ($categorie == 'Prospecteurs') {
  63.                    
  64.                     $_SESSION["username"] = $naam;           
  65.                     $_SESSION["categorie"] = $categorie;
  66.                     header("Location: dashboard.php");
  67.                     exit();
  68.                 }
  69.                 if ($categorie == 'Vertegenwoordigers') {
  70.                     $_SESSION["user"] = $username; 
  71.                     $_SESSION["username"] = $naam;           
  72.                     $_SESSION["categorie"] = $categorie;
  73.                     $_SESSION["functie"] = $functie;
  74.                     header("Location: dashboard.php");
  75.                     exit();
  76.                 }
  77.                 if ($categorie == 'Management') {    
  78.                     $formErrors[] = 'Management heeft geen toegang';
  79.                 }
  80.             }
  81.             catch(PDOException $e)
  82.             {
  83.                 echo $e->getMessage();
  84.             }  
  85.         }
  86.     }
  87. ?>
  88.  
  89.  
  90. <!DOCTYPE html>
  91. <html lang="en">
  92. <head>
  93.     <meta charset="utf-8">
  94.     <meta http-equiv="X-UA-Compatible" content="IE=edge">
  95.    
  96.     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  97.     <meta name="description" content="" />
  98.     <meta name="author" content="" />
  99.    
  100.     <title><?php include ('version.tpl'); ?></title>
  101.  
  102.     <link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Arimo:400,700,400italic">
  103.     <link rel="stylesheet" href="assets/css/fonts/linecons/css/linecons.css">
  104.     <link rel="stylesheet" href="assets/css/fonts/fontawesome/css/font-awesome.min.css">
  105.     <link rel="stylesheet" href="assets/css/bootstrap.css">
  106.     <link rel="stylesheet" href="assets/css/xenon-core.css">
  107.     <link rel="stylesheet" href="assets/css/xenon-forms.css">
  108.     <link rel="stylesheet" href="assets/css/xenon-components.css">
  109.     <link rel="stylesheet" href="assets/css/xenon-skins.css">
  110.     <link rel="stylesheet" href="assets/css/custom.css">
  111.  
  112.     <script src="assets/js/jquery-1.11.1.min.js"></script>
  113.  
  114.     <!-- HTML5 shim and Respond.js IE8 support of HTML5 elements and media queries -->
  115.     <!--[if lt IE 9]>
  116.         <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
  117.         <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
  118.     <![endif]-->
  119.    
  120.    
  121. </head>
  122. <body class="page-body login-page login-light">
  123.     <div class="login-container">
  124.         <div class="row">
  125.             <div class="col-sm-6">
  126.            
  127.                 <!-- Errors container -->
  128.                 <div class="errors-container">
  129.                 <?php
  130.                 if(sizeof($formErrors) > 0) {
  131.                     for($formErrors as $error) {
  132.                         echo '
  133.                         <div class="alert alert-danger">' .
  134.                         $error
  135.                         . '</div>' . PHP_EOL;
  136.                     }
  137.                 }
  138.  
  139.                 ?>                             
  140.                 </div>
  141.                
  142.                 <!-- Add class "fade-in-effect" for login form effect -->
  143.                 <form method="post" class="login-form">
  144.                    
  145.                     <div class="login-header">
  146.                         <a href="dashboard.php" class="logo">
  147.                             <img src="assets/images/logo-klein.png" alt="" width="180" />
  148.                         </a>
  149.                        
  150.                     </div>
  151.    
  152.                    
  153.                     <div class="form-group">
  154.                         <label class="control-label" for="username">Gebruikersnaam</label>
  155.                         <input type="text" class="form-control" name="username" id="username" autocomplete="off" />
  156.                     </div>
  157.                    
  158.                     <div class="form-group">
  159.                         <label class="control-label" for="passwd">Paswoord</label>
  160.                         <input type="password" class="form-control" name="passwd" id="passwd" autocomplete="off" />
  161.                     </div>
  162.  
  163.                     <div class="form-group">
  164.                         <div class="captcha_wrapper">
  165.                             <div class="g-recaptcha" data-sitekey="6LfVSDMUAAAAALQdBMCX2SJpZ3Tt0RA9SLuMRNMj"></div>
  166.                         </div>
  167.                     </div>
  168.                    
  169.                     <div class="form-group">
  170.                         <button type="submit" name="Submit" class="btn btn-primary  btn-block text-left">
  171.                             <i class="fa-lock"></i>
  172.                             Inloggen
  173.                         </button>
  174.                     </div>
  175.                    
  176.                    
  177.                 </form>
  178.                
  179.                
  180.             </div>
  181.            
  182.         </div>
  183.        
  184.     </div>
  185.  
  186.  
  187.  
  188.     <!-- Bottom Scripts -->
  189.     <script src="assets/js/bootstrap.min.js"></script>
  190.     <script src="assets/js/TweenMax.min.js"></script>
  191.     <script src="assets/js/resizeable.js"></script>
  192.     <script src="assets/js/joinable.js"></script>
  193.     <script src="assets/js/xenon-api.js"></script>
  194.     <script src="assets/js/xenon-toggles.js"></script>
  195.     <script src="assets/js/jquery-validate/jquery.validate.min.js"></script>
  196.     <script src="assets/js/toastr/toastr.min.js"></script>
  197.  
  198.  
  199.     <!-- JavaScripts initializations and stuff -->
  200.     <script src="assets/js/xenon-custom.js"></script>
  201.  
  202. </body>
  203. </html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement