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 06-07-2008, 03:01 PM   #1 (permalink)
The Wanderer
 
Join Date: Mar 2008
Location: United Kingdom
Posts: 22
Thanks: 1
boycoda is on a distinguished road
Default PHP Session Login - help needed.

Hello everyone,

Ok.. i've come to a little puzzle for myself. Back in the day this would have been easy *neck sinks into shoulders*.

Anyhow, here is my code for the login page.

PHP Code:
<?php
    session_start
(); ## Allows sessions
    
include("inc/conn.php"); ## Includes the connection file for the database
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
        "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en">

<head>
        <title>Clientel - QualityXHTML.com - A service to remember!</title>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
        <link rel="stylesheet" type="text/css" href="style.css" />
        <!--[if lte IE 7]>
        <link rel="stylesheet" type="text/css" href="ie7.css" />
        <script defer type="text/javascript" src="pngfix.js"></script>
        <![endif]-->
        <!--[if lte IE 6]>
        <link rel="stylesheet" type="text/css" href="ie6.css" />
        <![endif]-->
</head>

<body>

        <div id="container">            
                
                <div id="content">
                
                        <div id="logo">
                        
                                <a href="http://clientel.qualityxhtml.com"><img src="img/logo.png" alt="Logotype" /></a>
                        
                        </div><!-- logo -->
                        
                        <div id="title">
                            
                                <h3>QualityXHTML Client Area</h3>
                            
                        </div><!-- title -->
                        
                        <div id="login">
                                <?php
                                
                                
if(isset($_POST['submit'])) { ## If the submit button was pressed do the following
                                
                                    
$usn htmlspecialchars(addslashes($_POST['username'])); ## Submitted Username stored in a variable
                                    
$psd sha1(md5(md5(sha1(md5(sha1(sha1(md5($_POST['password'])))))))); ## Submitted Password stored in a variable
                                    
                                    
$slct mysql_query("SELECT * FROM `clients` WHERE `user` = '$usn'") or die(mysql_error());
                                    
$check mysql_num_rows($slct);
                                    
                                    if(
$check == '0') {
                                    
                                        echo 
"<p>Please supply the correct Username and Password!</p>";
                                    
                                    } else {
                                    
                                    
$udata mysql_fetch_array($slct);
                                    
                                    if(
$udata[client] == 1) {
                                    
                                        
$_SESSION['id'] = "$user[id]";
                                        
$_SESSION['password'] = "$user[password]";
                                    
                                        echo 
"<p>Welcome, $udata[full_name]!</p>" "<p>&nbsp;</p>" "<p>You will be redirect in a moment...</p>";
                                        
                                        
## Now we must redirect the user
                                        
echo "<meta http-equiv='Refresh' content='2; URL=panel.php'/>";
                                    
                                    } else {
                                    
                                    if(
$udata[admin] == 1) {
                                    
                                        
$_SESSION['id'] = "$user[id]";
                                        
$_SESSION['password'] = "$user[password]"
                                    
                                        echo 
"<p>Welcome back, $udata[full_name]!</p>" "<p>&nbsp;</p>" "<p>Please <a href='/admin/'>click here</a> to goto your admin area!</p>";
                                    
                                    }
                                    
                                    }
                                    
                                    }
                                
                                } else {
                                
                                
?>
                        
                                <p class="italic">This area is for new and existing clients only.</p>

                                <p>Please logon to your account below.</p>

                                <form id="login" name="client login" method="post" action="">
                                        <fieldset>
                                                
                                                <div id="form_top">
                                                
                                                <input type="text" name="username" class="form" value="Username" /><input type="submit" name="submit" value="" title="Login" id="submit" />
                                                
                                                </div><!-- form_top -->

                                                <div id="form_bottom">
                                            
                                                <input type="password" name="password" class="form" value="*********" /><a href="#" id="password">Forgot password?</a>
                                            
                                                </div><!-- form_bottom -->
                                            
                                        </fieldset>
                                </form>
                                
                                <?php
                                
## Close the loop
                                
?>
                        </div><!-- login -->
                
                </div><!-- content -->

        </div><!-- container -->
    
</body>
</html>
Ok, so here we are, if you get the username and password right in the database, then it'll show a message then direct you to a page. Bare in mind this login page is working perfectly fine.

However, what I want to do is secure that panel.php, so if the registered session is not identical to the one in the database, then it should throw up a message. But if its all correct, then display the site.

Here is the code I have got for the panel.php...

PHP Code:
<?php
    session_start
(); ## Allows sessions
    
include("inc/conn.php"); ## Includes the connection file for the database
    
    ## Session Security
    
$usn $_SESSION['id'];
    
    
$slct mysql_query("SELECT * FROM `clients` WHERE `user` = '$usn'") or die(mysql_error());
    
    
$udata mysql_fetch_array($slct);
    
    if(!
$usn) {
    
        echo 
"NO!!!!!";
    
    } else {
    
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
        "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en">

<head>
        <title>Clientel</title>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
        <link rel="stylesheet" type="text/css" href="style.css" />
        <!--[if lte IE 6]><link rel="stylesheet" type="text/css" href="ie6.css" /><![endif]-->
        <!--[if IE 7]><link rel="stylesheet" type="text/css" href="ie7.css" /><![endif]-->
        <script type="text/javascript" src="jquery-latest.pack.js"></script> 
        <script type="text/javascript" src="jquery.pngFix.js"></script> 
        <script type="text/javascript"> 
                $(document).ready(function(){ 
                    $(document).pngFix(); 
                }); 
        </script>
</head>

<body>

        <div id="container_2">            
                
                <div id="logo_2">
                
                    <a href="http://clientel.qualityxhtml.com"><img src="img/logo.png" alt="Logotype" /></a>
                        
                </div><!-- logo -->
                        
                <div id="wrapper">
                
                    <div id="top">
                    </div><!-- top -->
                    
                    <div id="wrap">
                    <div id="left_side">
                    </div><!-- left_side -->
                    
                    <div id="right_side">
                    </div><!-- right_side -->
                    </div>
                
                </div><!-- wrapper -->

        </div><!-- container_2 -->
    
</body>
</html>
<?php
## Close Session Security
?>
All help is highly appreciated.
Send a message via MSN to boycoda Send a message via Skype™ to boycoda
boycoda 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 02:10 AM.

 
     

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