Login   Register  
PHP Classes
elePHPant
Icontem

File: example.php

Recommend this page to a friend!
Stumble It! Stumble It! Bookmark in del.icio.us Bookmark in del.icio.us
  Classes of Arturs Sosins  >  Inkblot Auth  >  example.php  >  Download  
File: example.php
Role: Example script
Content type: text/plain
Description: Simple registration and uathentication example
Class: Inkblot Auth
Authenticate users by showing them inkblot images
Author: By
Last change:
Date: 2011-09-16 13:54
Size: 3,531 bytes
 

Contents

Class file image Download
<?php
/************************************************************* 
 * This script is developed by Arturs Sosins aka ar2rsawseen, http://webcodingeasy.com 
 * Feel free to distribute and modify code, but keep reference to its creator 
 * 
 * Inkblot auth class allows to implement inkblot authentication to your PHP application.
 * It can generate list of inkblots from directory or array.
 * User may provide amount of letters saved per inkblot, to implement different
 * password generation ways
 * 
 * For more information, examples and online documentation visit:  
 * http://webcodingeasy.com/PHP-classes/Inkblot-authentication
**************************************************************/
session_start();
include(
"./inkblot_auth.php");
//provide path to directory with inkblot images
$ink = new inkblot_auth("./inkblots");

if(isset(
$_SESSION["pass"]))
{
    
//we already created pass for testing
    
echo "<h3>You have successfully registered. Now try to login using same password</h3>";
    
    
//first we need to provide password which we previously saved
    //usually it is retrieved form database using provided username
    //but for testing we've saved in in session variable
    
$ink->set_pass($_SESSION["pass"]);
    
    if(isset(
$_POST["logpass"]))
    {
        
//no we check user provided password
        //only after providing saved password
        
if($ink->check_pass($_POST["logpass"]))
        {
            echo 
"<h3>You provided correct password</h3>";
        }
        else
        {
            echo 
"<h3>Your password is incorrect</h3>";
        }
    }
    
    
//now we will get inkblots that were used in pasword
    
$inks $ink->get_inkblots();
    echo 
"<div style='overflow: auto; margin-bottom: 50px;'>";
    foreach(
$inks as $val)
    {
        echo 
"<img src='".$val."' 
            style='float: left; margin-right: 10px; width: 200px;'/>"
;
    }
    echo 
"</div>";
    echo 
"<p>All you have to do is remember your password while seeing same 
    inkblots, that you saw when you created this password.</p>
    <p>Just insert your first and last letter of your inkblot interpretations 
        in inkblot order (from left to right)</p>"
;
    echo 
"<form action='' method='post'>
    <p>Enter your saved password: <input type='text' name='logpass'/> 
    <input type='submit' value='Register'/></p>
    </form>"
;
}
else
{
    
//someone submitted pass
    
if(isset($_POST["regpass"]))
    {
        
//get encoded pass and save it
        
$_SESSION["pass"] = $ink->get_pass($_POST["regpass"]);
        
//refresh page
        
header("Location: ".$_SERVER["REQUEST_URI"]);
    }
    echo 
"<h3>Create new password (Simulating registration)</h3>";
    
//no pass created
    
$inks $ink->get_inkblots();
    echo 
"<div style='overflow: auto; margin-bottom: 50px;'>";
    foreach(
$inks as $val)
    {
        echo 
"<img src='".$val."' 
            style='float: left; margin-right: 10px; width: 200px;'/>"
;
    }
    echo 
"</div>";
    echo 
"<p>This login is based on user choosing and remembering the password 
        based on inkblot that user see.</p>
<p>Because human mind interprets each inkblot differently, it means, that it is 
    possible that no one else will see a thing that you saw.</p>
<p>You must type first and last letter of each inkblot interpretation based on 
sequence you see those inkblots (from left to right)</p>
<p>Then each time you'll try to login, you'll see same inkblot images only each 
time in different order</p>
<p>Refresh page to change inkblots</p>"
;
    echo 
"<form action='' method='post'>
    <p>Enter your password: <input type='text' name='regpass'/> 
    <input type='submit' value='Register'/></p>
    </form>"
;
}
?>