TalkPHP
 
 
Account Login
Latest Articles
» The basic usage of PHPTAL, a XML/XHTML template library for PHP
» Vulnerable methods and the areas they are commonly trusted in.
» Simple way to protect a form from bot
» The Basics On: How Session Stealing Works
» How to keep your forms from double posting data
IRC Channel
IRC Speech Bubble Join the friendly bunch on IRC...
(#TalkPHP on Freenode)

...Also available via a web interface.

See this thread for information on the TalkPHP Free Hugs Initiative™. Subject to availability.
Associates
Associates
CSS Tutorials
 
 
LinkBack Thread Tools Search this Thread Display Modes
Prev Previous Post   Next Post Next
Old 09-20-2007, 09:04 PM   #1 (permalink)
The Frequenter
Prolific Welcomer Upcoming Programmer 
 
Join Date: Sep 2007
Posts: 360
Thanks: 24
Haris is on a distinguished road
Default Authentication class

PHP Code:
<?php

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

    Title : Authentication class for users login
    Author : Muhammad Haris
    URL : http://www.mharis.net
    CONTACT: isharis@gmail.com

    Description : Class used for authentication of 
    the users login on secure pages.

    Created : 20th September 2007
    Modified: 21th September 2007

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
    */
    
    
class Auth {
        
        
/*
         * Summary:     Starts session and sets default value
         */
        
        
public function __construct(){
            
session_start();
            
$_SESSION['logged'] = false;
            
$_SESSION['username'] = ''
            
$_SESSION['rank'] = '';
        }
        
        
/*
         * Summary:     Authenticates a user and registers its sessions
         * Parameters:  Username | Passwords
         * Return:      Returns true if session is user is succesfully
                       authenticated else returns false
        *              
         */
        
        
public function authenticate($szUser$szPassword){
            
$szSQL sprintf("SELECT *
                     FROM
                     users
                     WHERE
                     user = '%s' LIMIT 0,1"
$szUser);
            
$aResult mysql_query($szSQL) or die(mysql_error());
            while(
$row mysql_fetch_array($aResult)){
                
$dbPass $row['pass'];
                
$dbSalt $row['salt'];
                
$dbRank $row['rank'];
            }
            
$szPassword md5($dbSalt.$szPassword);
            if(
$szPassword == $dbPass){
                
session_regenerate_id();
                
$_SESSION['logged'] = true;
                
$_SESSION['username'] = $szUser;
                
$_SESSION['rank'] = $dbRank;
                return 
true;
            }
            else{
                
$_SESSION['logged'] = false;
                
$_SESSION['username'] = '';
                
$_SESSION['rank'] = '';
                return 
false;
            }
        }

        
/*
         * Summary:     Checks if the user is logged in or not.
         * Return:      Returns true if session is user is logged
                       in else returns false
        *              
         */
        
        
public function check(){
            if(
$_SESSION['logged'] == true){
                return 
true;
            }
            else {
                return 
false;
            }
        }
        
    }
    
?>
I've finally made my own authentication class. I want to know if my class is secure enough. I know it's secure from sql injections and session hijacking.

What more?
Haris is offline  
Reply With Quote
 



Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


All times are GMT. The time now is 01:46 PM.

 
     

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2013, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.1.0
Inactive Reminders By Icora Web Design