Skip to main content
deleted 5 characters in body; edited tags; edited title
Source Link
200_success
  • 144.2k
  • 22
  • 188
  • 473

Code Social network message board website security problem. Any suggestions

I have a script that contains functions from login in to posting status to friend request send and receive. Pretty much a social network script. Anyways i think my security is not up to date so if anyone can check my code out or review it live on the web: iphone.hostei.com. email is [email protected] and password is demo123. Please if anyone can review so my code is probably harder to hack and it functions well. Thanks in advance.

profile.php Please if anyone can review so my code is probably harder to hack and it functions well.

profile.php

profile_funct.php

profile_funct.php

user_info.php

user_info.php

Code security problem. Any suggestions

I have a script that contains functions from login in to posting status to friend request send and receive. Pretty much a social network script. Anyways i think my security is not up to date so if anyone can check my code out or review it live on the web: iphone.hostei.com. email is [email protected] and password is demo123. Please if anyone can review so my code is probably harder to hack and it functions well. Thanks in advance.

profile.php

profile_funct.php

user_info.php

Social network message board website security

I have a script that contains functions from login in to posting status to friend request send and receive. Pretty much a social network script. Anyways i think my security is not up to date so if anyone can check my code out or review it live on the web: iphone.hostei.com. email is [email protected] and password is demo123.

Please if anyone can review so my code is probably harder to hack and it functions well.

profile.php

profile_funct.php

user_info.php

edited body
Source Link

I have a script that contains functions from login in to posting status to friend request send and receive. Pretty much a social network script. Anyways i think my security is not up to date so if anyone can check my code out or review it live on the web: iphone.hostei.com. email is [email protected] and password is `demo123'demo123. Please if anyone can review so my code is probably harder to hack and it functions well. Thanks in advance.

I have a script that contains functions from login in to posting status to friend request send and receive. Pretty much a social network script. Anyways i think my security is not up to date so if anyone can check my code out or review it live on the web: iphone.hostei.com. email is [email protected] and password is `demo123'. Please if anyone can review so my code is probably harder to hack and it functions well. Thanks in advance.

I have a script that contains functions from login in to posting status to friend request send and receive. Pretty much a social network script. Anyways i think my security is not up to date so if anyone can check my code out or review it live on the web: iphone.hostei.com. email is [email protected] and password is demo123. Please if anyone can review so my code is probably harder to hack and it functions well. Thanks in advance.

Source Link

Code security problem. Any suggestions

I have a script that contains functions from login in to posting status to friend request send and receive. Pretty much a social network script. Anyways i think my security is not up to date so if anyone can check my code out or review it live on the web: iphone.hostei.com. email is [email protected] and password is `demo123'. Please if anyone can review so my code is probably harder to hack and it functions well. Thanks in advance.

profile.php

    <?php
    session_start();
    //session_destroy();

    include_once('php/classes/db_config.php');
    include_once('php/classes/class.user.php');

    $user1 = new User($con);
    $is_loggedin = (isset($_SESSION['uid']))? true:false; 
    $is_uid = (isset($_GET['uid']) && !empty($_GET['uid']) && is_numeric($_GET['uid']))? true:false;
    // Set default uid
    $def_uid    =   ($is_uid == true)? $_GET['uid']: $_SESSION['uid'];
    // User valid check
    $user_valid =   ($is_uid == true)? $user1->check_user($def_uid):1;
    
    $name_id = $_SESSION['user']['uid'];
    $name = $_SESSION['user']['uname'];
    $fullname = $_SESSION['user']['fullname'];
    $bio = $_SESSION['user']['bio'];
    
    $time = date("Y-m-d H:i:s");
    
    if(isset($_POST['logout'])) {
        session_destroy();
        header('Location: index.php');
    }
    
    if(isset($_POST['area_sub'])){
        if(empty($_POST['area'])){
            echo "<script>alert('Empty area field.')</script>";
        }else{
            if($_GET['uid'] == ''){
                $user1 -> post($_SESSION['uid'], $_SESSION['uid'], $name, $_POST['area'], $time);
            }else if($_GET['uid'] == 0){
            }else{
                $user1 -> post($_SESSION['uid'], $_GET['uid'], $name, $_POST['area'], $time);
            }
        }
    }
    if($is_loggedin){
        $check = $con -> Fetch("SELECT * FROM follow_req WHERE user_two_req=".$_SESSION['uid']."");
    }
    
?>
    
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
    <html>
    <head>
    <title>Only Simple Albanian Social Network, with no ads</title>
    <link rel="stylesheet" href="css/profile.css"/>
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
    </head>
    
    <body>
    <?php if($is_loggedin !== true) { 
            include_once 'php/common/head.php'; ?>
    <?php }?>
    
    <?php
    // If there is a propper UID available
    if(($is_loggedin == true) || ($is_uid == true)) { ?>
        
    <?php if ($is_loggedin == true){ ?>
    
    <div id="menu">
        <div id="menu_wrapper">
            <div id="left_menu">
                
            </div>
            <div id="right_menu">
                <div id='drop-zone'><?php
                    if($check == 0){
                        echo "<h4 class='request'>0</h4>";
                    }else{ 
                        echo "<a href='#' class='request_more'>".count($check)."</a>";
                    }   
                ?></div>
                <form action='' method='post'>
                    <input type='hidden' name='logout' value='true' />
                    <input type='submit' name='submit' value='Logout' id='btn'>
                </form>
            </div>
        </div>
    </div>

    <?php } ?>
    
    <div id="profile_wrapper">
    
        <div class="wrapper">
            
            <div id="profile">  

            <?php
    
            // If user is valid
            if($user_valid == 1) {
                // User is logged in user
                if($def_uid == $_SESSION['uid']) {
                    include_once 'php/classes/profile_func.php';
                } 
                include_once 'php/classes/user_info.php';
                    
            }else{?>
                <h2>No Such User Exists</h2>
                <h3>Please select a different user or <a href='index.php'>Login</a></h3>
                <?php if($is_loggedin == true){ ?>
                        <h3>Go Back to <a href="profile.php?uid=<?php echo $name_id;?>">My Profile</a></h3>
                    <?php
                }
            } ?>
            
<?php }else{?>
        <h1>Invalid User</h1>
        <h3>You must be <a href="index.php">Logged IN</a> to see your profile OR you must select a profile (uid) to view.</h3>
<?php } ?>
            </div>
        </div>
    </div>
<?php if($is_loggedin != true){ ?>
    <div id="footer">
        <h4>Per momentin vetem njerezit qe do perzgjidhen do kene akses.</h4>
        <a href="#">
            <div id="button">Kerkese Hyerje</div>
        </a>
        </div>
<?php } ?>

<script>
function LookUp(IdElem,URL){
        $("#drop-zone").html('<div class="loader"></div>');
        $.ajax({
                url: URL,
                cache: false,
                success: function(result) {
                        $("#drop-zone").html(result);
                    }
            });
}
$(document).ready(function() {
        $("a.request_more").click(function(){
            LookUp(this,'requests.php');
        });
});
</script>

</body>
</html> 

profile_funct.php

    <?php $user1->profile_photo(); ?>               
<div id="friends">
<?php 
    echo "
        <h2 class='u_name'><a href=profile.php?uid=".$name_id.">@".$name."</a></h2>
        <br/>
        <p>".$fullname."</p>
    ";
    
    $MyFollows  =   $con->Fetch("SELECT * FROM follow WHERE (user_one='$def_uid') OR (user_two='$def_uid')");
    $count_posts = $con->Fetch("SELECT * FROM post WHERE user_id=".$_SESSION['uid']." ");
    echo  "<p>Posts ".$cnt = ($count_posts !== 0)? '<a href="posts.php" class="posts_all">'. count($count_posts) .'</a>' : 0;"";
    echo " - Friends: ".$following = ($MyFollows !== 0)? '<a class="frnd_a" href="friends.php">'. count($MyFollows) .'</a></p>' : 0;"";
?>
</div>
<div id="post_wrapper">
    <p>Update Status</p>
    <div id='post_form'>
        <form action='' method='POST'>
            <textarea id='area' name='area'></textarea>
            <input type='submit' name='area_sub' id='sub_btn' value='Update'/>
        </form>
    </div>
</div>
<?php 
if($_GET['uid'] == 0){
    $user1 -> getResults();
}else{
    $user1 -> getResults();
}?>

user_info.php

  <?php if($def_uid != $_SESSION['uid']) {
    $info = $con->Fetch("SELECT * FROM users WHERE uid='$def_uid'"); ?>
    <h1>User Profile: <?php echo $info[0]['fullname']; ?></h1>
    <?php
    $action = ($user1->check_req($_SESSION['uid'], $def_uid))? true : false;
    $friends = ($user1->check_friends($_SESSION['uid'], $def_uid))? true: false;
    $c = ($user1->checking($def_uid, $_SESSION['uid']))? true: false;
    
    $post = $con->Fetch("SELECT * FROM `post` WHERE rec_id=".$_GET['uid']."");
    ?>
                                
<?php
    if($friends == true){
        echo "Welcome to ", $info[0]['uname'],"'s wall";
        
        if($is_loggedin == true){
            echo "<br/>Go Back to <a href='profile.php?uid=".$_SESSION['user']['uid']."'>My Profile</a><br/>";
        }
        
        ?>
        <br/>
        <form action="" method="POST">
            <textarea id='area' name='area' placeholder="Say something nice <?php echo $name;?>"></textarea>
            <input type='submit' name='area_sub' value='Go'/>
        </form>
        <br/>
        <?php

        if($_GET['uid'] == $post[0]['rec_id']){
            echo "<br/>".$user1 -> getResults();
        }
        echo "<br/><a href='actions.php?action=unfriend&uid=".$def_uid."'/>Unfriend</a><br/>";
    
    }else{
        
        if($is_loggedin == true){
?>
            <a href="actions.php?action=
            <?php if($action == true){ $un = "cancel";echo $un;}else{echo "send";}?>&uid=
            <?php echo $def_uid; ?>">
            <?php if($c == true){
                    echo"<a href='actions.php?action=accept&uid=".$def_uid."'>ADD</a><br/>"; 
                    echo "<a href='actions.php?action=ignore&uid=".$def_uid."'>Ignore</a>";
                }else if($action == true){
                    echo $un;
                }else{
                    echo "send";
                }?>
            </a>
                                        
            <br/>Back to my <a href="profile.php?uid=<?php echo $_SESSION['user']['uid']; ?>">Profile</a>
                                    
            <?php
            
        }else{
            echo "Not Logged In. Log in <a href='index.php'>Here</a>";
        }
                                
    }
}
?>

class.user.php

    <?php
class User
    {
        public  $db;
        public  $error;
    
        public function __construct($con){
                $this->db = $con;
        }

        /*** for login process ***/
        public function check_login($username='', $password=''){
                // Validate that your email is a real one
                if(filter_var($username,FILTER_VALIDATE_EMAIL) !== false) {
                        $password   =   md5($password);
                        $sql        =   "SELECT uid from users WHERE (uemail='$username' or uname='$username') and upass = '$password'";
                        $result     =   $this->db->Fetch($sql);
    
                            if ($result !== 0) {
                                    // this login var will use for the session thing
                                    $_SESSION['emailusername']  =   $result[0]['uemail'];
                                    $_SESSION['uid']            =   $result[0]['uid'];
                                    $_SESSION['user']           =   $this->get_fullname($result[0]['uid'],0);
                                    $_SESSION['login']          =   true;
                                }
                            else
                                $this->error['Invalid Account'] = '<h3 id="error">Invalid Username or Password</h3>';
                    }
                else
                    $this->error['Email'] = '<h3 id="error">Invalid Email Address</h3>';
    
                return  (!isset($_SESSION['emailusername']))? false:true;
            }
            
        /*** for showing the username or fullname ***/
        public function get_fullname($uid, $write = 1){
    
                // --> You can prepare, bind, and execute your values here replacing what you have now....<--
                
                $sql                =   "SELECT * FROM users WHERE uid = '$uid'";
                $user_data          =   $this->db->Fetch($sql);
                
                if($user_data !== 0) {
                        $user['uname']      =   $user_data[0]['uname'];
                        $user['fullname']   =   $user_data[0]['fullname'];
                        $user['uemail']     =   $user_data[0]['uemail'];
                        $user['uid']        =   $user_data[0]['uid'];
                        $user['bio']        =   $user_data[0]['bio'];
                        
                        // This gives the option of returning an array (setting session array) or echoing
                        if($write == 1)
                            echo implode("<br />",$user);
                        else
                            return $user;
                    }
            }
        
        public function check_user($uid)
            {
                $sql        =   "SELECT * from users WHERE uid= $uid ";
                $result     =   $this->db->Fetch($sql);
                $count_row  =   ($result !== 0)? count($result): 0;
        
                return $count_row;
            }
    
        /*** starting the session ***/
        public function get_session()
            {
                return $_SESSION['login'];
            }
    
        public function user_logout()
            {
                $_SESSION['login'] = FALSE;
                session_destroy();
            }
        public function check_req($is_uid, $def_uid){
            $sql        =   "SELECT * from follow_req WHERE user_one_req = '$is_uid' AND user_two_req = '$def_uid'";
            $result     =   $this->db->Fetch($sql);
            $count_row  =   ($result !== 0)? count($result): 0;
            return $count_row;
        }
        public function insert($is_uid, $def_uid){
            $sql        =   "INSERT INTO follow_req (user_one_req, user_two_req) VALUES (:user_one_req, :user_two_req)";
            $q = $this->db->prepare($sql);
            $q -> execute(array(':user_one_req'=>$is_uid, ':user_two_req'=>$def_uid));
        
            return $q;
        }
        public function delete($is_uid, $def_uid){
            $sql        =   "DELETE FROM follow_req WHERE user_one_req = :user_one_req AND user_two_req = :user_two_req";
            $q = $this->db->prepare($sql);
            $q -> execute(array(':user_one_req'=>$is_uid, ':user_two_req'=>$def_uid));
            return $q;
        }
        public function checkimg($img_id){
            $sql        =   "SELECT * from users WHERE img_id = '$img_id'";
            $result     =   $this->db->Fetch($sql);
            $count_row  =   ($result !== 0)? count($result): 0;
            return $count_row;
        }
        public function img($img_id, $part){
            $sql        =   "UPDATE users SET img_id='$img_id', image='$part' WHERE uid=".$_SESSION['uid']."";
            $q = $this->db->prepare($sql);
            $q -> execute(array(':img_id'=>$img_id, ':image'=>$part));
            return $q;
        }
        public function check_friends($is_uid, $def_uid){
            $sql        =   "SELECT * from follow WHERE (user_one = '$is_uid' AND user_two = '$def_uid') OR (user_one = '$def_uid' AND user_two = '$is_uid')";
            $result     =   $this->db->Fetch($sql);
            $count_row  =   ($result !== 0)? count($result): 0;
            return $count_row;
        }
        public function del_friends($is_uid, $def_uid){
            $sql        =   "DELETE FROM follow WHERE (user_one = :user_one AND user_two = :user_two) OR (user_one = :user_two AND user_two = :user_one)";
            $q = $this->db->prepare($sql);
            $q -> execute(array(':user_one'=>$is_uid, ':user_two'=>$def_uid));
            return $q;
        }
        public function checking($def_uid, $is_uid){
            $sql        =   "SELECT * from follow_req WHERE user_one_req = '$def_uid' AND user_two_req = '$is_uid'";
            $result     =   $this->db->Fetch($sql);
            $count_row  =   ($result !== 0)? count($result): 0;
            return $count_row;
        }
        public function accept_req($def_uid, $is_uid){
            $sql        =   "INSERT INTO follow ( user_one, user_two) VALUES ( :user_one, :user_two)";
            $q = $this->db->prepare($sql);
            $q -> execute(array(':user_one'=>$def_uid, ':user_two'=>$is_uid));
            return $q;
        }
        public function delete_req($def_uid, $is_uid){
            $sql        =   "DELETE FROM follow_req WHERE user_one_req = :user_one_req AND user_two_req = :user_two_req";
            $q = $this->db->prepare($sql);
            $q -> execute(array(':user_one_req'=>$def_uid, ':user_two_req'=>$is_uid));
            return $q;
        }
        public function post($a_id='', $r_id='', $name, $area='', $time){
            $sql = $this->db->prepare("INSERT INTO post (user_id, rec_id, user, area, time) VALUES ( ?, ?, ?, ?, ?)");
            $sql -> bindParam(1, $a_id);
            $sql -> bindParam(2, $r_id);
            $sql -> bindParam(3, $name);
            $sql -> bindParam(4, $area);
            $sql -> bindParam(5, $time);
            $sql -> execute();
        }
        public function profile_photo(){
            $get_name = $this->db->Fetch ("SELECT * FROM users WHERE img_id=". $_SESSION['uid']."");            
            if($get_name[0]['img_id'] == $_SESSION['uid']){
                echo "<img id='profile_img' src='test/upload/".$_SESSION['uid']."_".$get_name[0]['image']."'/>";
            }else{  
                echo "<img id='profile_img' src='classversiondontdelete/images/default/profile_icon.gif'/>";
                //echo "<img src='test/upload/".$_SESSION['uid']."_".$get_name[0]['image']."'/>";
            }
        }
        public function getResults(){
            if($_GET['uid'] == ''){
                $result = $this->db->Fetch("SELECT * FROM post WHERE rec_id = ".$_SESSION['uid']." ");
            }else if($_GET['uid'] == 0){
                $result = $this->db->Fetch("SELECT * FROM post WHERE rec_id = ".$_SESSION['uid']." ");
            }else{
                if(is_numeric($_GET['uid']))
                    $result = $this->db->Fetch("SELECT * FROM post WHERE rec_id = '".$_GET['uid']."'");
            }
            if(is_array($result)){
                foreach ($result as $row) {
                    ?><div id="post"><?php
                    $get_name = $this->db->Fetch("SELECT * FROM users WHERE img_id = ".$row['user_id']."");
                    if($get_name[0]['img_id'] != 0){
                        echo "<img id='post_img' src='test/upload/".$row['user_id']."_".$get_name[0]['image']."'/>";
                    }else{  
                        echo "<img id='post_img' src='classversiondontdelete/images/default/profile_icon.gif'/>";
                    }
                    echo "
                        <h3 id='text'>".$row['area']. "</h3>
                    ";
                    ?></div><?php
                }
            }
        }
    }
?>