Welcome guest. Before posting on our computer help forum, you must register. Click here it's easy and free.

Author Topic: Login (php)  (Read 11921 times)

0 Members and 1 Guest are viewing this topic.

kvasten

  • Guest
Login (php)
« on: July 15, 2007, 03:43:29 PM »
Code: [Select]
<?php

###############################################################
# Page Password Protect 2.13
###############################################################
# Visit http://www.zubrag.com/scripts/ for updates
############################################################### 
#
# Usage:
# Set usernames / passwords below between SETTINGS START and SETTINGS END.
# Open it in browser with "help" parameter to get the code
# to add to all files being protected. 
#    Example: password_protect.php?help
# Include protection string which it gave you into every file that needs to be protected
#
# Add following HTML code to your page where you want to have logout link
# <a href="http://www.example.com/path/to/protected/page.php?logout=1">Logout</a>
#
###############################################################

/*
-------------------------------------------------------------------
SAMPLE if you only want to request login and password on login form.
Each row represents different user.

$LOGIN_INFORMATION = array(
  'zubrag' => 'root',
  'test' => 'testpass',
  'admin' => 'passwd'
);

--------------------------------------------------------------------
SAMPLE if you only want to request only password on login form.
Note: only passwords are listed

$LOGIN_INFORMATION = array(
  'root',
  'testpass',
  'passwd'
);

--------------------------------------------------------------------
*/

##################################################################
#  SETTINGS START
##################################################################

// Add login/password pairs below, like described above
// NOTE: all rows except last must have comma "," at the end of line
$LOGIN_INFORMATION = array(
  
'zubrag' => 'root',
  
'kvasten' => 'klonaminko1'
);

// request login? true - show login and password boxes, false - password box only
define('USE_USERNAME'true);

// User will be redirected to this page after logout
define('LOGOUT_URL''http://web.comhem.se/nameless');

// time out after NN minutes of inactivity. Set to 0 to not timeout
define('TIMEOUT_MINUTES'1);

// This parameter is only useful when TIMEOUT_MINUTES is not zero
// true - timeout time from last activity, false - timeout time from login
define('TIMEOUT_CHECK_ACTIVITY'false);

##################################################################
#  SETTINGS END
##################################################################


///////////////////////////////////////////////////////
// do not change code below
///////////////////////////////////////////////////////

// show usage example
if(isset($_GET['help'])) {
  die(
'Include following code into every page you would like to protect, at the very beginning (first line):<br>&lt;?php include("' str_replace('\\','\\\\',__FILE__) . '"); ?&gt;');
}

// timeout in seconds
$timeout = (TIMEOUT_MINUTES == time() + TIMEOUT_MINUTES 60);

// logout?
if(isset($_GET['logout'])) {
  
setcookie("verify"''$timeout'/'); // clear password;
  
header('Location: ' LOGOUT_URL);
  exit();
}

if(!
function_exists('showLoginPasswordProtect')) {

// show login form
function showLoginPasswordProtect($error_msg) {
?>

<html>
<head>
  <title>Skriv inn lösenord för att komma inn på denna sidan</title>
  <META HTTP-EQUIV="CACHE-CONTROL" CONTENT="NO-CACHE">
  <META HTTP-EQUIV="PRAGMA" CONTENT="NO-CACHE">
</head>
<body>
  <style>
    input { border: 1px solid black; }
  </style>
  <form method="post">
    <h3>Logga inn</h3>
    <font color="red"><?php echo $error_msg?></font><br />
<?php if (USE_USERNAME) echo 'Login:<br /><input type="input" name="access_login" /><br />Password:<br />'?>
    <input type="password" name="access_password" /><p></p><input type="submit" name="Submit" value="Submit" />
  </form>
  </body>
</html>

<?php
  
// stop at this point
  
die();
}
}

// user provided password
if (isset($_POST['access_password'])) {

  
$login = isset($_POST['access_login']) ? $_POST['access_login'] : '';
  
$pass $_POST['access_password'];
  if (!
USE_USERNAME && !in_array($pass$LOGIN_INFORMATION)
  || (
USE_USERNAME && ( !array_key_exists($login$LOGIN_INFORMATION) || $LOGIN_INFORMATION[$login] != $pass ) ) 
  ) {
    
showLoginPasswordProtect("Incorrect password.");
  }
  else {
    
// set cookie if password was validated
    
setcookie("verify"md5($login.'%'.$pass), $timeout'/');
    
    
// Some programs (like Form1 Bilder) check $_POST array to see if parameters passed
    // So need to clear password protector variables
    
unset($_POST['access_login']);
    unset(
$_POST['access_password']);
    unset(
$_POST['Submit']);
  }

}

else {

  
// check if password cookie is set
  
if (!isset($_COOKIE['verify'])) {
    
showLoginPasswordProtect("");
  }

  
// check if cookie is good
  
$found false;
  foreach(
$LOGIN_INFORMATION as $key=>$val) {
    
$lp = (USE_USERNAME $key '') .'%'.$val;
    if (
$_COOKIE['verify'] == md5($lp)) {
      
$found true;
      
// prolong timeout
      
if (TIMEOUT_CHECK_ACTIVITY) {
        
setcookie("verify"md5($lp), $timeout'/');
      }
      break;
    }
  }
  if (!
$found) {
    
showLoginPasswordProtect("");
  }

}

?>


<b>Välkommen Kvasten^!</b>
<HR align=left color="black" size="1" width="230">
<br>
Du har inte fått något nytt meddelande :(

now. when i have logged in once (username: admin Password: adminpassword)
everytime i visit this page it is inlogged. on every computer. whats wrong? :S

yangyang



    Greenhorn
    • Yes
    • Web Dev Blog
  • Computer: Specs
  • Experience: Familiar
  • OS: Windows 7
Re: Login (php)
« Reply #1 on: January 01, 2009, 03:56:19 AM »
What you mean by inlogged? Have you implemented any log out features?

Are you setting cookies for sessions cause' if so that might be the problem of your description.
I built an online tool to convert images. Hope it can be useful to you.

Carbon Dudeoxide

  • Global Moderator

  • Mastermind
  • Thanked: 169
    • Yes
    • Yes
    • Yes
  • Certifications: List
  • Experience: Guru
  • OS: Mac OS
Re: Login (php)
« Reply #2 on: January 01, 2009, 05:49:58 AM »